Add dev:web (rsbuild) and dev:cli (tttk serve ./content), with dev running both via scripts/dev.mjs, which shuts both down when either exits. Also add tttk:inspect for --inspect debugging. Both servers previously defaulted to port 3000, so the CLI could not bind while the web dev server was running and the proxy targeted itself. Pin the web dev server to 5173; the CLI keeps 3000 to match the proxy. Document the two-process setup and inspector debugging in docs/development.md.
96 lines
2.8 KiB
JSON
96 lines
2.8 KiB
JSON
{
|
|
"name": "tttk",
|
|
"version": "0.0.1",
|
|
"description": "A tabletop RPG toolkit for previewing and compiling TTRPG campaign content",
|
|
"type": "module",
|
|
"bin": {
|
|
"tttk": "./dist/cli/index.js"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"LICENSE",
|
|
"README.md"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/hypercross/ttrpg-tools"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"scripts": {
|
|
"dev": "node scripts/dev.mjs",
|
|
"dev:web": "rsbuild dev",
|
|
"dev:cli": "node --enable-source-maps --loader ts-node/esm ./src/cli/index.ts serve ./content",
|
|
"build": "npm run build:web && npm run build:cli",
|
|
"build:web": "rsbuild build",
|
|
"build:cli": "tsc -p tsconfig.cli.json",
|
|
"preview": "rsbuild preview",
|
|
"analyze": "cross-env ANALYZE=true rsbuild build",
|
|
"cli:dev": "tsc -p tsconfig.cli.json --watch",
|
|
"cli:build": "npm run build:cli",
|
|
"ttrpg": "node --loader ts-node/esm ./src/cli/index.ts",
|
|
"tttk": "node --loader ts-node/esm ./src/cli/index.ts",
|
|
"tttk:inspect": "node --inspect --enable-source-maps --loader ts-node/esm ./src/cli/index.ts",
|
|
"gen:reference": "node --loader ts-node/esm ./scripts/generate-reference.ts",
|
|
"gen:skill-reference": "node --loader ts-node/esm ./scripts/generate-reference.ts --out .agents/skills/tttk-authoring/reference.md",
|
|
"test": "jest",
|
|
"prepare": "npx husky",
|
|
"prepublishOnly": "npm run build"
|
|
},
|
|
"keywords": [
|
|
"ttrpg",
|
|
"solid-js",
|
|
"markdown",
|
|
"toolbox"
|
|
],
|
|
"author": "hypercross",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^0.5.0",
|
|
"@solidjs/router": "^0.15.0",
|
|
"@thisbeyond/solid-dnd": "^0.7.5",
|
|
"aedes": "^1.1.1",
|
|
"chokidar": "^5.0.0",
|
|
"comlink": "^4.4.2",
|
|
"commander": "^14.0.3",
|
|
"csv-parse": "^6.1.0",
|
|
"csv-stringify": "^6.7.0",
|
|
"js-yaml": "^4.1.1",
|
|
"marked": "^17.0.3",
|
|
"marked-alert": "^2.1.2",
|
|
"marked-directive": "^1.0.7",
|
|
"marked-gfm-heading-id": "^4.1.3",
|
|
"mermaid": "^11.0.0",
|
|
"mqtt": "^5.15.1",
|
|
"solid-element": "^1.9.1",
|
|
"solid-js": "^1.9.3",
|
|
"uuid": "^14.0.1",
|
|
"ws": "^8.21.0",
|
|
"yarn-spinner-loader": "^0.1.0",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@rsbuild/core": "^1.1.8",
|
|
"@rsbuild/plugin-babel": "^1.1.0",
|
|
"@rsbuild/plugin-solid": "^1.1.0",
|
|
"@tailwindcss/postcss": "^4.2.1",
|
|
"@tailwindcss/typography": "^0.5.15",
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "^22.19.13",
|
|
"@types/uuid": "^10.0.0",
|
|
"@types/ws": "^8.18.1",
|
|
"cross-env": "^10.1.0",
|
|
"husky": "^9.1.7",
|
|
"jest": "^29.7.0",
|
|
"jest-environment-jsdom": "^29.7.0",
|
|
"tailwindcss": "^4.0.0",
|
|
"ts-jest": "^29.4.6",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.9.3",
|
|
"webpack-bundle-analyzer": "^5.3.0"
|
|
}
|
|
}
|