{ "name": "reinloop-server", "version": "1.0.0", "description": "ReinLoop 本地业务与文件服务", "private": true, "main": "src/server.js", "scripts": { "start": "node src/server.js", "dev": "node --watch src/server.js", "check": "node --check src/server.js && node --check src/app.js && node --check src/store.js && node --check src/postgres-store.js", "migrate": "node -e \"const fs=require('node:fs'); const {Pool}=require('pg'); if(!process.env.DATABASE_URL) throw new Error('DATABASE_URL is required'); (async()=>{const p=new Pool({connectionString:process.env.DATABASE_URL}); await p.query(fs.readFileSync('migrations/001_normalized_schema.sql','utf8')); await p.end();})().catch(error=>{console.error(error.message);process.exitCode=1})\"", "test": "node --test" }, "engines": { "node": ">=20" }, "dependencies": { "express": "^5.1.0", "multer": "^2.0.2", "pg": "^8.22.0" } }