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" });

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…