用途:指导在 TypeScript 单仓库中新增或修改包/应用、TypeScript 配置、工作区依赖、包引用、exports 及项目引用关系,尽量在所有适用场景统一使用 TypeScript,编译器设置有意保持较严格的风格。
主要能力与约定:共享编译选项放在 tsconfig.options.json;根 tsconfig.json 管理整个 monorepo 的项目引用。类型检查使用 TypeScript 7 的原生 tsc(tsgo 预览的继任者),通过 moon 执行:moonx <project>:typecheck,moon 会先构建工作区依赖,因为类型经由各依赖构建后的 dist 解析。Next 通过 experimental.useTypeScriptCli 在构建期执行同一 tsc,该选项自 Next 16.3 起默认开启。
新增包或应用时:将其加入根 tsconfig.json 的 references;确保其本地 tsconfig.json 沿用现有包/应用的写法;为其提供 moon.yml(语言、layer、tags 及项目专属任务),共享任务通过 tags 或项目语言来自 .moon/tasks/.yml。工作区包之间相互依赖时:在消费方包中以 workspace: 声明依赖;需要时把该依赖加入消费方包的 TypeScript references 块,以保证类型检查准确且快速。
外部包使用 pnpm-workspace.yaml 中 tooling-and-dependencies 的 catalog 规则,内部包依赖使用 workspace:*。若包会被发布,在改动公开入口或依赖范围前,需检查其 exports、typesVersions、files、peer dependencies 以及 moon 的 prepublish 任务链。
限制:资料未提供具体版本、平台兼容性、性能数据或收费信息,均暂未提供。