{"version":3,"file":"build-live-esm.d.ts","sourceRoot":"","sources":["../../src/build-live-esm.ts"],"names":[],"mappings":"AASA,OAAO,eAAe,CAAA;AAItB,eAAO,MAAM,YAAY,YA2BxB,CAAA","sourcesContent":["import chalk from 'chalk'\nimport { linkSync, mkdirSync } from 'node:fs'\nimport { dirname, relative, resolve } from 'node:path'\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 sources from './sources.js'\nimport './tsconfig.js'\n\nconst { esmDialects = [] } = config\n\nexport const buildLiveESM = () => {\n  for (const d of ['esm', ...esmDialects]) {\n    const pf = polyfills.get(d)\n    console.debug(chalk.cyan.dim('linking ' + d))\n    for (const s of sources) {\n      const source = s.substring('./src/'.length)\n      const target = resolve(`.tshy-build/${d}/${source}`)\n      mkdirSync(dirname(target), { recursive: true })\n      linkSync(s, target)\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('linked ' + d))\n  }\n}\n"]}