Files
Hankan/package.json
MechaCat02 b80deb2f6f chore: scaffold, CI, and the export bundle verbatim
The export bundle is the input to this port, not a sketch: the curriculum,
the tutor prompt and the five logic modules are finished and tested. They
land here byte-identical and stay that way.

  diff -r export/data data && diff -r export/lib lib
  diff -r export/prompt prompt && diff export/validate.mjs validate.mjs

data/, lib/, prompt/ and validate.mjs sit at the repo root so validate.mjs
runs verbatim with no path edits. All four are excluded from lint and
formatting — they are not ours to restyle. Types for lib/ live alongside in
types/ rather than as sibling .d.ts files, so the verbatim check stays a
plain directory diff.

CI runs the curriculum gate first, before anything else can pass:

  node validate.mjs   PASS — 0 blocking, 0 advisory

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 19:11:40 +02:00

39 lines
1.1 KiB
JSON

{
"name": "hankan",
"version": "0.1.0",
"private": true,
"type": "module",
"description": "Hankan — a Korean reading tutor for manhwa. Offline-first, web + Android from one codebase.",
"workspaces": [
"app"
],
"engines": {
"node": ">=22"
},
"scripts": {
"validate": "node validate.mjs",
"dict:fetch": "node tools/dict/fetch.mjs",
"dict:build": "node tools/dict/build.mjs",
"dict:assert": "node tools/dict/assert-roadmap.mjs",
"typecheck": "tsc -b --pretty",
"test": "vitest run",
"test:watch": "vitest",
"lint": "eslint .",
"dev": "npm run dev -w app",
"build": "npm run build -w app",
"preview": "npm run preview -w app",
"cap:sync": "npm run cap:sync -w app",
"check": "npm run validate && npm run typecheck && npm run test && npm run dict:assert"
},
"devDependencies": {
"@eslint/js": "^9.17.0",
"@types/node": "^22.10.2",
"eslint": "^9.17.0",
"eslint-plugin-react-hooks": "^7.1.1",
"typescript": "^5.7.2",
"typescript-eslint": "^8.18.1",
"vite": "^6.4.3",
"vitest": "^3.2.4"
}
}