INNER CODE UNIT · TypeScript
built
akirarika/milkio · packages/cookbook/src/index.ts:202
const built = __router__.find((command) => command.commands.includes(params.command));
// 在会启动/构建项目的命令执行前,无条件修正 node_modules 中上游包有缺陷的
// exports(typia、estree-walker),保证任何代码路径解析到的都是已修复状态
const EXPORT_PATCH_COMMANDS = new Set(["dev", "start", "test", "build", "generate", "install", "i", "add", "upgrade"]);
if (built && EXPORT_PATCH_COMMANDS.has(params.command)) {
// 版本一致性检查:typia/ttsc 与 co 构建版本必须严格一致,
// 否则 Go 插件(typia 的 ttsc plugin)会构建失败,typia 不出 schema、route-schema 丢路由
if (!versionCheckDisabled(params.raw)) {
await checkVersions(cwd());
}
await ensureNodeModulesExportsPatched(cwd());
}
if (built) {
if (params.command === "dev") {
const pkgMgr = await handleNonCookbookPkgMgr();
if (!pkgMgr) await run(params, { script: built.script, description: "built-in" });