- src/cli.ts: load config, fetch board, write dist/index.html, copy static - static/board.css: minimal raw CSS, system fonts, light/dark via prefers-color-scheme - static/board.js: client-side filter, drawer (lazy-fetch + marked@14 from esm.sh), toggle-archived, refresh-info; ESM module - npm run build → runs cli with --experimental-strip-types CSS/JS = [skip-tdd: visual]. CLI = plumbing wrapper (~30 LOC of pure FS+orchestration calling already-tested functions; over 10-line wrapper-skip threshold but no branching logic — would be tested via smoke / e2e, not unit). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
519 B
JSON
25 lines
519 B
JSON
{
|
|
"name": "board-viewer",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "Read-only HTML kanban viewer over Gitea API",
|
|
"scripts": {
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"typecheck": "tsc --noEmit",
|
|
"build": "node --experimental-strip-types src/cli.ts"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.0",
|
|
"typescript": "^5.7.0",
|
|
"vitest": "^2.1.0"
|
|
},
|
|
"dependencies": {
|
|
"smol-toml": "^1.6.1"
|
|
}
|
|
}
|