build: adopt esbuild for frontend bundling (build:web → public/build/)

- esbuild dev dep; build:web/dev:web bundle public/main.ts → public/build/main.js
- gitignore public/build/; tsconfig.web.json now typecheck-only
- frontend build convention documented in PLAN §1, DISPATCH, ARCHITECTURE §5
- resolves the T1 deferred decision
This commit is contained in:
Yaojia Wang
2026-06-16 07:36:01 +02:00
parent 987cab8eb7
commit 409b208928
8 changed files with 38 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
{
"// note": "Frontend (browser) config for public/*.ts. moduleResolution Bundler lets bare imports (@xterm/xterm) type-check. NOTE: emits nothing — the actual browser bundle strategy (esbuild/import-map/CDN) is unresolved; see T1 log entry. This config currently serves as type-check for the frontend.",
"// note": "Frontend (browser) config for public/*.ts — TYPE-CHECK ONLY (noEmit). moduleResolution Bundler lets bare imports (@xterm/xterm) resolve. The browser bundle is produced by esbuild: `npm run build:web` bundles public/main.ts → public/build/main.js. index.html loads ./build/main.js (type=module).",
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",