背景
感谢这个插件,非常实用 🎉
看了下 v1.7.4 的 package.json,当前构建脚本是:
"build": "tsc && node build.tui.mjs"
同时 files 里把 dist、src、tui 都发到了 npm 包里,加上ts相关工具,约121mb
建议
把 build 改为:
"build": "tsc --noEmit && node build.tui.mjs"
让 tsc 只负责类型检查(仓库里已有 typecheck: tsc --noEmit 脚本,二者可以合并),产物统一交给 esbuild 打包成单文件——build.tui.mjs 已经在做这件事,dist/tui.js、dist/v2.js 就是单文件 bundle。
这样打包出来的产物:
- 去掉了 tsc 编译出的散装 js 部分,包内不再携带依赖库的引用;
src 源码目录也可以顺便从 files 里移除;
- 在 opencode 里安装时不会携带这些依赖库,可以明显减少包体积。
备注
- 如果
./server 入口需要保留,也可以一并交给 esbuild 打成单文件;
- 如需保留类型提示,可用
tsc --emitDeclarationOnly 只产出 .d.ts 声明文件,不影响上面的体积优化。
仅供参考,感谢维护!
背景
感谢这个插件,非常实用 🎉
看了下 v1.7.4 的
package.json,当前构建脚本是:同时
files里把dist、src、tui都发到了 npm 包里,加上ts相关工具,约121mb建议
把
build改为:让
tsc只负责类型检查(仓库里已有typecheck: tsc --noEmit脚本,二者可以合并),产物统一交给 esbuild 打包成单文件——build.tui.mjs已经在做这件事,dist/tui.js、dist/v2.js就是单文件 bundle。这样打包出来的产物:
src源码目录也可以顺便从files里移除;备注
./server入口需要保留,也可以一并交给 esbuild 打成单文件;tsc --emitDeclarationOnly只产出.d.ts声明文件,不影响上面的体积优化。仅供参考,感谢维护!