@@ -62,8 +62,9 @@ activate() → ComponentLensAnalyzer.analyzeDocument()
6262- ** Linter** : oxlint (not ESLint) — run ` bun run lint:fix `
6363- ** Package manager** : bun (but npm-compatible)
6464- ** Test runner** : Node.js built-in ` node:test ` — run ` bun run test `
65- - ** Build** : Plain ` tsc ` (no bundler) — output to ` out/ `
66- - ** Publish** : ` @vscode/vsce ` — manual ` vsce publish `
65+ - ** Build** : ` bun build ` bundles ` src/extension.ts ` → single ` out/extension.js ` (CJS, externals: vscode + typescript)
66+ - ** Type check** : ` tsc ` with ` noEmit ` — run ` bun run typecheck `
67+ - ** Publish** : ` @vscode/vsce ` — manual ` vsce publish ` (prepublish runs minified production build)
6768- ** Pre-commit hook** : Husky runs lint automatically
6869- ** TypeScript** : Strict mode with ` noUnusedLocals ` + ` noUnusedParameters `
6970- ** Import style** : ` node: ` prefix for Node builtins, type-only imports where possible
@@ -86,11 +87,13 @@ activate() → ComponentLensAnalyzer.analyzeDocument()
8687## COMMANDS
8788
8889``` bash
89- bun run build # Compile TS → out/
90- bun run watch # Watch mode
90+ bun run build # Bundle src/extension.ts → out/extension.js
91+ bun run build:production # Minified bundle, no sourcemap
92+ bun run watch # Watch mode with sourcemaps
93+ bun run typecheck # tsc type checking (no emit)
9194bun run lint # oxlint check
9295bun run lint:fix # oxlint auto-fix
93- bun run test # Build + run Node.js tests
96+ bun run test # Run tests directly from TS source
9497```
9598
9699## NOTES
0 commit comments