{"version":3,"file":"build-esm.d.ts","sourceRoot":"","sources":["../../src/build-esm.ts"],"names":[],"mappings":"AASA,OAAO,eAAe,CAAA;AAMtB,eAAO,MAAM,QAAQ,iBA8BpB,CAAA","sourcesContent":["import chalk from 'chalk'\nimport { spawnSync } from 'node:child_process'\nimport { relative, resolve } from 'node:path'\nimport buildFail from './build-fail.js'\nimport config from './config.js'\nimport * as console from './console.js'\nimport ifExist from './if-exist.js'\nimport polyfills from './polyfills.js'\nimport setFolderDialect from './set-folder-dialect.js'\nimport './tsconfig.js'\nimport tsc from './which-tsc.js'\n\nconst node = process.execPath\nconst { esmDialects = [] } = config\n\nexport const buildESM = () => {\n  setFolderDialect('src', 'esm')\n  for (const d of ['esm', ...esmDialects]) {\n    const pf = polyfills.get(d)\n    console.debug(chalk.cyan.dim('building ' + d))\n    const res = spawnSync(node, [tsc, '-p', `.tshy/${d}.json`], {\n      stdio: 'inherit',\n    })\n    if (res.status || res.signal) {\n      setFolderDialect('src')\n      return buildFail(res)\n    }\n    setFolderDialect('.tshy-build/' + d, 'esm')\n    for (const [override, orig] of pf?.map.entries() ?? []) {\n      const stemFrom = resolve(\n        `.tshy-build/${d}`,\n        relative(resolve('src'), resolve(override)),\n      ).replace(/\\.mts$/, '')\n      const stemTo = resolve(\n        `.tshy-build/${d}`,\n        relative(resolve('src'), resolve(orig)),\n      ).replace(/\\.tsx?$/, '')\n      ifExist.unlink(`${stemTo}.js.map`)\n      ifExist.unlink(`${stemTo}.d.ts.map`)\n      ifExist.rename(`${stemFrom}.mjs`, `${stemTo}.js`)\n      ifExist.rename(`${stemFrom}.d.mts`, `${stemTo}.d.ts`)\n    }\n    console.error(chalk.cyan.bold('built ' + d))\n  }\n  setFolderDialect('src')\n}\n"]}