696049271f
Local quality gate that runs on every git commit: - node --check syntax on staged .js files - block on new emoji in staged .js/.html/.css (md files allowed) - block on new console.log/debug/debugger statements - backend route auth lint (existing npm run lint:routes) - backend tests (baseline 3 fails, block if grew) Install: npm run hooks:install (top-level) Bypass: git commit --no-verify Skips slow checks when irrelevant files changed (tests/lint only run if backend touched). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
1021 B
JSON
35 lines
1021 B
JSON
{
|
|
"name": "learnspace-backend",
|
|
"version": "1.0.0",
|
|
"description": "LearnSpace backend",
|
|
"main": "src/server.js",
|
|
"scripts": {
|
|
"start": "node src/server.js",
|
|
"dev": "nodemon src/server.js",
|
|
"migrate": "node src/db/migrations-runner.js",
|
|
"migrate:bootstrap": "node src/db/migrations-runner.js bootstrap",
|
|
"migrate:legacy": "node src/db/legacy-migrate.js",
|
|
"seed": "node src/db/seed.js",
|
|
"seed:permissions": "node src/db/seed-permissions.js",
|
|
"lint:routes": "node scripts/check-route-auth.js",
|
|
"import:content": "node scripts/import-content.js",
|
|
"test": "node --test tests/*.test.js",
|
|
"hooks:install": "sh ../scripts/install-hooks.sh"
|
|
},
|
|
"dependencies": {
|
|
"bcryptjs": "^2.4.3",
|
|
"compression": "^1.8.1",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.4.5",
|
|
"express": "^4.18.3",
|
|
"js-yaml": "^4.1.1",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"multer": "^2.1.1",
|
|
"sharp": "^0.34.5",
|
|
"ws": "^8.20.0"
|
|
},
|
|
"devDependencies": {
|
|
"nodemon": "^3.1.0"
|
|
}
|
|
}
|