Repository navigation
Expand file tree
/
Copy pathtsup.config.ts
More file actions
52 lines (50 loc) · 2.31 KB
/
Copy pathtsup.config.ts
File metadata and controls
52 lines (50 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import { defineConfig } from 'tsup'
import { copyFileSync, cpSync, mkdirSync } from 'node:fs'
import { join } from 'node:path'
const WEBFETCH_EXTERNALS = ['@mozilla/readability', 'ipaddr.js', 'jsdom', 'robots-parser', 'turndown', 'undici']
export default defineConfig({
entry: {
index: 'packages/tui/src/cli.tsx',
'commands/index': 'packages/tui/src/commands/index.tsx',
'commands/init': 'packages/tui/src/commands/init.tsx',
'commands/mcp/list': 'packages/tui/src/commands/mcp/list.tsx',
'commands/mcp/get': 'packages/tui/src/commands/mcp/get.tsx',
'commands/mcp/add': 'packages/tui/src/commands/mcp/add.tsx',
'commands/mcp/remove': 'packages/tui/src/commands/mcp/remove.tsx',
'commands/mcp/login': 'packages/tui/src/commands/mcp/login.tsx',
'commands/mcp/logout': 'packages/tui/src/commands/mcp/logout.tsx',
'commands/skills/list': 'packages/tui/src/commands/skills/list.tsx',
'commands/skills/read': 'packages/tui/src/commands/skills/read.tsx',
},
outDir: 'dist',
format: ['esm'],
target: 'node22',
dts: false,
clean: true,
minify: true,
sourcemap: false,
splitting: false,
bundle: true,
external: WEBFETCH_EXTERNALS,
esbuildOptions(options) {
options.jsx = 'automatic'
// CJS dependencies (e.g. the AI SDK toolchain) are inlined into the ESM
// output; without a require binding their bundled shims throw at import
// time because "type": "module" files have no require in scope.
options.banner = {
js: 'import { createRequire as __memoCreateRequire } from "node:module";const require=__memoCreateRequire(import.meta.url);',
}
},
async onSuccess() {
copyFileSync(join('packages/core/src/prompt/prompt.md'), join('dist/prompt.md'))
mkdirSync(join('dist/task-prompts'), { recursive: true })
cpSync(join('packages/tui/src/task-prompts'), join('dist/task-prompts'), {
recursive: true,
})
mkdirSync(join('dist/skills/builtin'), { recursive: true })
cpSync(join('packages/core/src/skills/builtin/skill-creator'), join('dist/skills/builtin/skill-creator'), {
recursive: true,
})
console.log('✓ Copied prompt.md, task prompts, and builtin skills to dist/')
},
})