e9b742da79
- New eslint.config.js (flat, ESLint 9) declaring 9 element types: the seven Phase-1 firewall directories (sim, render, ui, save, content, audio, store) plus the template's app + game. - One rule, severity error: sim cannot import from render or ui (CORE-10). - Default posture allow — Phase 1 enforces ONE rule, not closed-by-default. - src/sim/__test_violation__/ excluded from default lint glob; the rule's end-to-end correctness is proven by Task 2's Vitest test, not by 'lint exits 0 on clean code'. - Added typescript-eslint as devDep (parser only — no rule sets) so ESLint can parse .ts/.tsx (Espree default cannot). Documented as a Plan 02 deviation in 01-02-SUMMARY.md (Rule 3 — Blocking). Verifies green on the clean codebase: 0 errors, 0 warnings via 'npm run lint'. Stderr notices from boundaries plugin about deprecated rule name (element-types vs dependencies in v6) and legacy selector syntax are informational only — they don't count as ESLint warnings. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
1.4 KiB
JSON
48 lines
1.4 KiB
JSON
{
|
|
"name": "the-last-garden",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "A 7-Season browser narrative idle game in the lineage of A Dark Room and Universal Paperclips.",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint . --max-warnings 0",
|
|
"test": "vitest run --passWithNoTests=false",
|
|
"test:watch": "vitest",
|
|
"validate:assets": "node scripts/validate-assets.mjs",
|
|
"compile:ink": "echo \"[compile:ink] no .ink files yet — Phase 2 will populate /content/dialogue/\" && exit 0",
|
|
"ci": "npm run lint && npm run test && npm run validate:assets && npm run build"
|
|
},
|
|
"dependencies": {
|
|
"crc-32": "^1.2.2",
|
|
"gray-matter": "^4.0.3",
|
|
"idb": "^8.0.3",
|
|
"inkjs": "^2.4.0",
|
|
"lz-string": "^1.5.0",
|
|
"phaser": "^4.1.0",
|
|
"react": "^19.2.6",
|
|
"react-dom": "^19.2.6",
|
|
"yaml": "^2.8.4",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.59.1",
|
|
"@types/node": "^22.19.18",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^6.0.1",
|
|
"@vitest/ui": "^4.1.5",
|
|
"eslint": "^9.39.4",
|
|
"eslint-plugin-boundaries": "^6.0.2",
|
|
"fake-indexeddb": "^6.2.5",
|
|
"happy-dom": "^20.9.0",
|
|
"inklecate": "^1.8.1",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.59.2",
|
|
"vite": "^8.0.11",
|
|
"vitest": "^4.1.5"
|
|
}
|
|
}
|