Roo-Code/apps/cli/tsup.config.ts
Hannes Rudolph 524709de5f feat(cli): complete SolidJS/OpenTUI migration — remove React/Ink legacy UI
- Delete entire src/ui/ directory (~80 files of React/Ink components, hooks, stores)
- Remove react, ink, @inkjs/ui, zustand, @types/react, ink-testing-library deps
- Move @opentui/core-darwin-arm64 to optionalDependencies with all 5 platform variants
- Remove unused opentui-spinner dependency
- Chain build scripts: 'build' now runs tsup && bun build-ui-next.ts
- Clean tsup.config.ts: restore clean:true, remove React JSX config
- Clean tsconfig.json: remove jsx/jsxImportSource React settings

Architecture improvements:
- Decompose prompt God Component (502→194 LOC + 5 extracted modules)
- Extract shared extension-logic.ts (295 LOC pure functions)
- Eliminate test harness duplication, fix missing todo handling bug
- Relocate tools.ts from ui/utils/ to lib/utils/
- Port onboarding from React/Ink to pure Node.js terminal prompts
- Type dynamic import with UINextModule interface
- Replace all 'as any' casts with precise types
- Fix context-window.ts broken @/ui/store.js import
- Fix all lint warnings (unused imports, prefer-const, no-control-regex)

Verification: tsc clean, 350 tests pass, zero React/Ink/Zustand references, lint clean
2026-02-06 20:26:21 -07:00

24 lines
617 B
TypeScript

import { defineConfig } from "tsup"
export default defineConfig({
entry: ["src/index.ts"],
format: ["esm"],
dts: true,
clean: true,
sourcemap: true,
target: "node20",
platform: "node",
banner: {
js: "#!/usr/bin/env node",
},
// Bundle workspace packages that export TypeScript
noExternal: ["@roo-code/core", "@roo-code/core/cli", "@roo-code/types", "@roo-code/vscode-shim"],
external: [
// Keep native modules external
"@anthropic-ai/sdk",
"@anthropic-ai/bedrock-sdk",
"@anthropic-ai/vertex-sdk",
// Keep @vscode/ripgrep external - we bundle the binary separately
"@vscode/ripgrep",
],
})