@vitus-labs/tools-rolldown 2.6.1 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,11 +20,11 @@ export default {
20
20
  sourcemap: true,
21
21
  extensions: ['.json', '.js', '.jsx', '.ts', '.tsx', '.es6', '.es', '.mjs'],
22
22
  include: ['src'],
23
- // node:* builtins are external by default emits an UNRESOLVED_IMPORT
24
- // warning on every package that imports `node:fs`, `node:path`, etc.
25
- // without this. expandExternal in tools-core passes RegExp through
26
- // unchanged, so this composes with the per-package string list.
27
- external: ['react/jsx-runtime', /^node:/],
23
+ // User-overridable default externals. node:* builtins are NOT here
24
+ // they live in ALWAYS_EXTERNAL (rolldown/config.ts) so a per-package
25
+ // `external` override can't drop them. This list IS replaced wholesale
26
+ // when a package sets its own `external` in vl-tools.config.mjs.
27
+ external: ['react/jsx-runtime'],
28
28
  exclude: [
29
29
  'lib',
30
30
  'node_modules/**',
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/config/baseConfig.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE;QACT,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,UAAU;KACtB;IACD,QAAQ,EAAE,IAAI;IACd,mEAAmE;IACnE,0EAA0E;IAC1E,0EAA0E;IAC1E,mDAAmD;IACnD,8BAA8B;IAC9B,yEAAyE;IACzE,SAAS,EAAE,IAAqC;IAChD,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,uEAAuE;IACvE,qEAAqE;IACrE,mEAAmE;IACnE,gEAAgE;IAChE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAwB;IAChE,OAAO,EAAE;QACP,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,WAAW;KACZ;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,mBAAmB;KAC5B;IAED,yBAAyB;IACzB,OAAO,EAAE,SAQI;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,SAAuD;IAClE,MAAM,EAAE,SAA+B;IACvC,MAAM,EAAE,SAA+B;IACvC,KAAK,EAAE,SAA+C;IACtD,OAAO,EAAE,EAAe;CACzB,CAAA","sourcesContent":["export default {\n sourceDir: 'src',\n outputDir: 'lib',\n typesDir: 'lib/types',\n typescript: true,\n esModulesOnly: false,\n replaceGlobals: true,\n visualise: {\n template: 'network',\n gzipSize: true,\n outputDir: 'analysis',\n },\n filesize: true,\n // JS-bundle sourcemap. Mirrors rolldown's native output.sourcemap:\n // true — separate .js.map file + sourceMappingURL comment (default)\n // 'hidden' — separate .js.map file, NO comment (debugging without leak)\n // 'inline' — base64 map embedded in the .js file\n // false — no map emitted\n // DTS output does not include sourcemaps (declarations don't need them).\n sourcemap: true as boolean | 'inline' | 'hidden',\n extensions: ['.json', '.js', '.jsx', '.ts', '.tsx', '.es6', '.es', '.mjs'],\n include: ['src'],\n // node:* builtins are external by default — emits an UNRESOLVED_IMPORT\n // warning on every package that imports `node:fs`, `node:path`, etc.\n // without this. expandExternal in tools-core passes RegExp through\n // unchanged, so this composes with the per-package string list.\n external: ['react/jsx-runtime', /^node:/] as (string | RegExp)[],\n exclude: [\n 'lib',\n 'node_modules/**',\n '**/__tests__/**',\n '**/__specs__/**',\n '**/__stories__/**',\n '*.test.*',\n '*.spec.*',\n '*.stories.*',\n 'stories.*',\n '*.story.*',\n ],\n globals: {\n react: 'React',\n ReactDOM: 'react-dom',\n styled: 'styled-components',\n },\n\n // Advanced build options\n entries: undefined as\n | {\n input: string\n file: string\n format?: string\n env?: string\n platform?: string\n }[]\n | undefined,\n bundleAll: false,\n copyFiles: undefined as { from: string; to: string }[] | undefined,\n banner: undefined as string | undefined,\n footer: undefined as string | undefined,\n alias: undefined as Record<string, string> | undefined,\n plugins: [] as unknown[],\n}\n"]}
1
+ {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/config/baseConfig.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE;QACT,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,UAAU;KACtB;IACD,QAAQ,EAAE,IAAI;IACd,mEAAmE;IACnE,0EAA0E;IAC1E,0EAA0E;IAC1E,mDAAmD;IACnD,8BAA8B;IAC9B,yEAAyE;IACzE,SAAS,EAAE,IAAqC;IAChD,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,iEAAiE;IACjE,QAAQ,EAAE,CAAC,mBAAmB,CAAwB;IACtD,OAAO,EAAE;QACP,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,WAAW;KACZ;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,mBAAmB;KAC5B;IAED,yBAAyB;IACzB,OAAO,EAAE,SAQI;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,SAAuD;IAClE,MAAM,EAAE,SAA+B;IACvC,MAAM,EAAE,SAA+B;IACvC,KAAK,EAAE,SAA+C;IACtD,OAAO,EAAE,EAAe;CACzB,CAAA","sourcesContent":["export default {\n sourceDir: 'src',\n outputDir: 'lib',\n typesDir: 'lib/types',\n typescript: true,\n esModulesOnly: false,\n replaceGlobals: true,\n visualise: {\n template: 'network',\n gzipSize: true,\n outputDir: 'analysis',\n },\n filesize: true,\n // JS-bundle sourcemap. Mirrors rolldown's native output.sourcemap:\n // true — separate .js.map file + sourceMappingURL comment (default)\n // 'hidden' — separate .js.map file, NO comment (debugging without leak)\n // 'inline' — base64 map embedded in the .js file\n // false — no map emitted\n // DTS output does not include sourcemaps (declarations don't need them).\n sourcemap: true as boolean | 'inline' | 'hidden',\n extensions: ['.json', '.js', '.jsx', '.ts', '.tsx', '.es6', '.es', '.mjs'],\n include: ['src'],\n // User-overridable default externals. node:* builtins are NOT here —\n // they live in ALWAYS_EXTERNAL (rolldown/config.ts) so a per-package\n // `external` override can't drop them. This list IS replaced wholesale\n // when a package sets its own `external` in vl-tools.config.mjs.\n external: ['react/jsx-runtime'] as (string | RegExp)[],\n exclude: [\n 'lib',\n 'node_modules/**',\n '**/__tests__/**',\n '**/__specs__/**',\n '**/__stories__/**',\n '*.test.*',\n '*.spec.*',\n '*.stories.*',\n 'stories.*',\n '*.story.*',\n ],\n globals: {\n react: 'React',\n ReactDOM: 'react-dom',\n styled: 'styled-components',\n },\n\n // Advanced build options\n entries: undefined as\n | {\n input: string\n file: string\n format?: string\n env?: string\n platform?: string\n }[]\n | undefined,\n bundleAll: false,\n copyFiles: undefined as { from: string; to: string }[] | undefined,\n banner: undefined as string | undefined,\n footer: undefined as string | undefined,\n alias: undefined as Record<string, string> | undefined,\n plugins: [] as unknown[],\n}\n"]}
@@ -6,9 +6,16 @@ import { visualizer } from 'rollup-plugin-visualizer';
6
6
  import { CONFIG, PKG, PLATFORMS } from "../config/index.js";
7
7
  const require = createRequire(import.meta.url);
8
8
  const filesize = require('rollup-plugin-filesize');
9
+ // Externals that ALWAYS apply, independent of the user-overridable
10
+ // `CONFIG.external`. A `node:*` import is never a real module a library
11
+ // could bundle, so a per-package `external` override must not be able to
12
+ // drop it — otherwise any package that sets its own `external` (e.g. to
13
+ // add echarts subpaths) silently loses node-builtin externalization and
14
+ // starts emitting UNRESOLVED_IMPORT warnings again.
15
+ const ALWAYS_EXTERNAL = [/^node:/];
9
16
  const resolveExternals = () => CONFIG.bundleAll
10
17
  ? []
11
- : [...PKG.externalDependencies, ...CONFIG.external].map(expandExternal);
18
+ : [...PKG.externalDependencies, ...ALWAYS_EXTERNAL, ...CONFIG.external].map(expandExternal);
12
19
  const defineExtensions = (platform) => {
13
20
  const platformExtensions = [];
14
21
  if (PLATFORMS.includes(platform)) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rolldown/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport { expandExternal, swapGlobals } from '@vitus-labs/tools-core'\nimport type { RolldownPlugin } from 'rolldown'\nimport { dts } from 'rolldown-plugin-dts'\nimport { visualizer } from 'rollup-plugin-visualizer'\nimport { CONFIG, PKG, PLATFORMS } from '../config/index.ts'\n\nconst require = createRequire(import.meta.url)\nconst filesize: typeof import('rollup-plugin-filesize').default = require('rollup-plugin-filesize')\n\nconst resolveExternals = (): (string | RegExp)[] =>\n CONFIG.bundleAll\n ? []\n : [...PKG.externalDependencies, ...CONFIG.external].map(expandExternal)\n\nconst defineExtensions = (platform: string) => {\n const platformExtensions: string[] = []\n\n if ((PLATFORMS as readonly string[]).includes(platform)) {\n CONFIG.extensions.forEach((item: string) => {\n platformExtensions.push(`.${platform}${item}`)\n })\n }\n\n return platformExtensions.concat(CONFIG.extensions)\n}\n\nconst mapPlatform = (\n platform: string,\n): 'node' | 'browser' | 'neutral' | undefined => {\n if (platform === 'node') return 'node'\n if (platform === 'browser') return 'browser'\n return 'neutral'\n}\n\nconst loadPlugins = ({ file }: { file: string }) => {\n const plugins: RolldownPlugin[] = []\n\n // generate visualised graphs in dist folder\n if (CONFIG.visualise) {\n const filePath = file.split('/')\n const fileName = filePath.pop()\n\n const visualiserOptions = {\n title: `${PKG.name} - ${fileName}`,\n filename: `${filePath.join('/')}/${\n CONFIG.visualise.outputDir\n }/${fileName}.html`,\n template: CONFIG.visualise.template,\n gzipSize: CONFIG.visualise.gzipSize,\n }\n\n plugins.push(visualizer(visualiserOptions) as RolldownPlugin)\n }\n\n if (CONFIG.filesize) {\n plugins.push(filesize() as RolldownPlugin)\n }\n\n return plugins\n}\n\nconst buildDefineOptions = (env: string, platform: string) => {\n if (!CONFIG.replaceGlobals) return undefined\n\n const defineOptions: Record<string, string> = {\n __VERSION__: JSON.stringify(PKG.version),\n __NODE__: JSON.stringify(platform === 'node'),\n __WEB__: JSON.stringify(\n ['node', 'browser', 'universal'].includes(platform),\n ),\n __BROWSER__: JSON.stringify(platform === 'browser'),\n __NATIVE__: JSON.stringify(platform === 'native'),\n __CLIENT__: JSON.stringify(['native', 'browser'].includes(platform)),\n }\n\n if (env === 'production') {\n defineOptions['process.env.NODE_ENV'] = JSON.stringify(env)\n }\n\n return defineOptions\n}\n\nconst rolldownConfig = ({\n file,\n format,\n env,\n platform,\n input: entryInput,\n}: Record<string, any>) => {\n const extensions = defineExtensions(platform)\n const builtinPlugins = loadPlugins({ file })\n const userPlugins = (CONFIG.plugins || []) as RolldownPlugin[]\n const define = buildDefineOptions(env, platform)\n\n const lastSlash = file.lastIndexOf('/')\n const dir = lastSlash >= 0 ? file.substring(0, lastSlash) : '.'\n const entryFileName = lastSlash >= 0 ? file.substring(lastSlash + 1) : file\n\n const external = resolveExternals()\n\n const buildOutput = {\n input: entryInput || CONFIG.sourceDir,\n platform: mapPlatform(platform),\n tsconfig: CONFIG.typescript ? 'tsconfig.json' : undefined,\n resolve: {\n extensions,\n alias: CONFIG.alias || undefined,\n },\n transform: define ? { define } : undefined,\n output: {\n dir,\n entryFileNames: entryFileName,\n format,\n globals: swapGlobals(CONFIG.globals),\n sourcemap: CONFIG.sourcemap,\n sourcemapIgnoreList: (relativeSourcePath: string) =>\n relativeSourcePath.includes('node_modules'),\n exports: ['cjs', 'umd', 'iife'].includes(format)\n ? ('named' as const)\n : undefined,\n name: ['umd', 'iife'].includes(format) ? PKG.bundleName : undefined,\n esModule: true,\n minify: env === 'production',\n banner: CONFIG.banner || undefined,\n footer: CONFIG.footer || undefined,\n },\n external,\n treeshake: {\n moduleSideEffects: false,\n },\n plugins: [...builtinPlugins, ...userPlugins],\n }\n\n return buildOutput\n}\n\nconst createDtsConfig = (typesFilePath: string, inputFile: string) => {\n const lastSlash = typesFilePath.lastIndexOf('/')\n const dir = lastSlash >= 0 ? typesFilePath.substring(0, lastSlash) : '.'\n const entryFileName =\n lastSlash >= 0 ? typesFilePath.substring(lastSlash + 1) : typesFilePath\n\n return {\n file: typesFilePath,\n input: inputFile,\n tsconfig: 'tsconfig.json',\n resolve: {\n extensions: CONFIG.extensions,\n },\n external: resolveExternals(),\n plugins: [\n ...(dts({\n tsconfig: 'tsconfig.json',\n emitDtsOnly: true,\n // Disable the plugin's internal fake-js sourcemap. The DTS output\n // also has `output.sourcemap: false` (declarations don't need\n // maps), but the plugin's fake-js transform emits a SOURCEMAP_BROKEN\n // warning when its internal map isn't chained through — even though\n // nothing consumes a .d.ts.map. Off both layers, no warning.\n sourcemap: false,\n }) as RolldownPlugin[]),\n ],\n output: {\n dir,\n entryFileNames: entryFileName,\n chunkFileNames: '[name].d.ts',\n format: 'es' as const,\n sourcemap: false,\n esModule: true,\n },\n }\n}\n\n/** Check if exports object uses subpath keys */\nconst isSubpathExports = (obj: Record<string, any>): boolean =>\n Object.keys(obj).some((k) => k === '.' || k.startsWith('./'))\n\n/** Resolve the actual source file extension (.ts, .tsx, etc.) */\nconst resolveWithExtension = (path: string): string => {\n for (const ext of ['.ts', '.tsx', '.js', '.jsx']) {\n if (existsSync(`${path}${ext}`)) return `${path}${ext}`\n }\n return `${path}.ts`\n}\n\n/** Resolve input .ts file from a subpath export key using convention. */\nconst resolveSubpathInput = (exportPath: string): string => {\n if (exportPath === '.') return `${CONFIG.sourceDir}/index.ts`\n const subpath = exportPath.slice(2)\n return `${CONFIG.sourceDir}/${subpath}`\n}\n\nconst buildDts = (): ReturnType<typeof createDtsConfig> | null => {\n if (!CONFIG.typescript) return null\n\n // Simple case: no subpath exports\n const typesFilePath = PKG?.exports?.types || PKG.types || PKG.typings\n if (typesFilePath) {\n return createDtsConfig(typesFilePath, `${CONFIG.sourceDir}/index.ts`)\n }\n\n return null\n}\n\n/** Build DTS configs for all subpath exports that have a `types` field */\nconst buildAllDts = (): ReturnType<typeof createDtsConfig>[] => {\n if (!CONFIG.typescript) return []\n\n const exportsOptions = PKG.exports\n if (\n !exportsOptions ||\n typeof exportsOptions !== 'object' ||\n !isSubpathExports(exportsOptions)\n ) {\n const single = buildDts()\n return single ? [single] : []\n }\n\n const results: ReturnType<typeof createDtsConfig>[] = []\n for (const [exportPath, exportConfig] of Object.entries(exportsOptions)) {\n if (!exportConfig || typeof exportConfig !== 'object') continue\n const typesPath = (exportConfig as Record<string, string>).types\n if (!typesPath) continue\n const resolved = resolveSubpathInput(exportPath)\n const inputFile =\n resolved.endsWith('.ts') || resolved.endsWith('.tsx')\n ? resolved\n : resolveWithExtension(resolved)\n results.push(createDtsConfig(typesPath, inputFile))\n }\n\n return results\n}\n\nexport default rolldownConfig\nexport { buildAllDts, buildDts }\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rolldown/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAoD,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAEnG,mEAAmE;AACnE,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,oDAAoD;AACpD,MAAM,eAAe,GAAwB,CAAC,QAAQ,CAAC,CAAA;AAEvD,MAAM,gBAAgB,GAAG,GAAwB,EAAE,CACjD,MAAM,CAAC,SAAS;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,oBAAoB,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CACvE,cAAc,CACf,CAAA;AAEP,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC5C,MAAM,kBAAkB,GAAa,EAAE,CAAA;IAEvC,IAAK,SAA+B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;YACzC,kBAAkB,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAClB,QAAgB,EAC4B,EAAE;IAC9C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAA;IACtC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5C,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;IACjD,MAAM,OAAO,GAAqB,EAAE,CAAA;IAEpC,4CAA4C;IAC5C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAA;QAE/B,MAAM,iBAAiB,GAAG;YACxB,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,QAAQ,EAAE;YAClC,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAC7B,MAAM,CAAC,SAAS,CAAC,SACnB,IAAI,QAAQ,OAAO;YACnB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;YACnC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;SACpC,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAmB,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAoB,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE;IAC3D,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,SAAS,CAAA;IAE5C,MAAM,aAAa,GAA2B;QAC5C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;QACxC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,SAAS,CACrB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACpD;QACD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACjD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACrE,CAAA;IAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,aAAa,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,EACtB,IAAI,EACJ,MAAM,EACN,GAAG,EACH,QAAQ,EACR,KAAK,EAAE,UAAU,GACG,EAAE,EAAE;IACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAqB,CAAA;IAC9D,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAC/D,MAAM,aAAa,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE3E,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAA;IAEnC,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,SAAS;QACrC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QACzD,OAAO,EAAE;YACP,UAAU;YACV,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;SACjC;QACD,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1C,MAAM,EAAE;YACN,GAAG;YACH,cAAc,EAAE,aAAa;YAC7B,MAAM;YACN,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,mBAAmB,EAAE,CAAC,kBAA0B,EAAE,EAAE,CAClD,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9C,CAAC,CAAE,OAAiB;gBACpB,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACnE,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG,KAAK,YAAY;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;SACnC;QACD,QAAQ;QACR,SAAS,EAAE;YACT,iBAAiB,EAAE,KAAK;SACzB;QACD,OAAO,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,WAAW,CAAC;KAC7C,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;IACnE,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACxE,MAAM,aAAa,GACjB,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;IAEzE,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE;YACP,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,QAAQ,EAAE,gBAAgB,EAAE;QAC5B,OAAO,EAAE;YACP,GAAI,GAAG,CAAC;gBACN,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,IAAI;gBACjB,kEAAkE;gBAClE,8DAA8D;gBAC9D,qEAAqE;gBACrE,oEAAoE;gBACpE,6DAA6D;gBAC7D,SAAS,EAAE,KAAK;aACjB,CAAsB;SACxB;QACD,MAAM,EAAE;YACN,GAAG;YACH,cAAc,EAAE,aAAa;YAC7B,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,IAAa;YACrB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;SACf;KACF,CAAA;AACH,CAAC,CAAA;AAED,gDAAgD;AAChD,MAAM,gBAAgB,GAAG,CAAC,GAAwB,EAAW,EAAE,CAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;AAE/D,iEAAiE;AACjE,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAU,EAAE;IACpD,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;YAAE,OAAO,GAAG,IAAI,GAAG,GAAG,EAAE,CAAA;IACzD,CAAC;IACD,OAAO,GAAG,IAAI,KAAK,CAAA;AACrB,CAAC,CAAA;AAED,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAU,EAAE;IACzD,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,GAAG,MAAM,CAAC,SAAS,WAAW,CAAA;IAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnC,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,GAA8C,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAEnC,kCAAkC;IAClC,MAAM,aAAa,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAA;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,SAAS,WAAW,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,0EAA0E;AAC1E,MAAM,WAAW,GAAG,GAAyC,EAAE;IAC7D,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAEjC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAA;IAClC,IACE,CAAC,cAAc;QACf,OAAO,cAAc,KAAK,QAAQ;QAClC,CAAC,gBAAgB,CAAC,cAAc,CAAC,EACjC,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;QACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAyC,EAAE,CAAA;IACxD,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,SAAQ;QAC/D,MAAM,SAAS,GAAI,YAAuC,CAAC,KAAK,CAAA;QAChE,IAAI,CAAC,SAAS;YAAE,SAAQ;QACxB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,SAAS,GACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,eAAe,cAAc,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA","sourcesContent":["import { existsSync } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport { expandExternal, swapGlobals } from '@vitus-labs/tools-core'\nimport type { RolldownPlugin } from 'rolldown'\nimport { dts } from 'rolldown-plugin-dts'\nimport { visualizer } from 'rollup-plugin-visualizer'\nimport { CONFIG, PKG, PLATFORMS } from '../config/index.ts'\n\nconst require = createRequire(import.meta.url)\nconst filesize: typeof import('rollup-plugin-filesize').default = require('rollup-plugin-filesize')\n\n// Externals that ALWAYS apply, independent of the user-overridable\n// `CONFIG.external`. A `node:*` import is never a real module a library\n// could bundle, so a per-package `external` override must not be able to\n// drop it — otherwise any package that sets its own `external` (e.g. to\n// add echarts subpaths) silently loses node-builtin externalization and\n// starts emitting UNRESOLVED_IMPORT warnings again.\nconst ALWAYS_EXTERNAL: (string | RegExp)[] = [/^node:/]\n\nconst resolveExternals = (): (string | RegExp)[] =>\n CONFIG.bundleAll\n ? []\n : [...PKG.externalDependencies, ...ALWAYS_EXTERNAL, ...CONFIG.external].map(\n expandExternal,\n )\n\nconst defineExtensions = (platform: string) => {\n const platformExtensions: string[] = []\n\n if ((PLATFORMS as readonly string[]).includes(platform)) {\n CONFIG.extensions.forEach((item: string) => {\n platformExtensions.push(`.${platform}${item}`)\n })\n }\n\n return platformExtensions.concat(CONFIG.extensions)\n}\n\nconst mapPlatform = (\n platform: string,\n): 'node' | 'browser' | 'neutral' | undefined => {\n if (platform === 'node') return 'node'\n if (platform === 'browser') return 'browser'\n return 'neutral'\n}\n\nconst loadPlugins = ({ file }: { file: string }) => {\n const plugins: RolldownPlugin[] = []\n\n // generate visualised graphs in dist folder\n if (CONFIG.visualise) {\n const filePath = file.split('/')\n const fileName = filePath.pop()\n\n const visualiserOptions = {\n title: `${PKG.name} - ${fileName}`,\n filename: `${filePath.join('/')}/${\n CONFIG.visualise.outputDir\n }/${fileName}.html`,\n template: CONFIG.visualise.template,\n gzipSize: CONFIG.visualise.gzipSize,\n }\n\n plugins.push(visualizer(visualiserOptions) as RolldownPlugin)\n }\n\n if (CONFIG.filesize) {\n plugins.push(filesize() as RolldownPlugin)\n }\n\n return plugins\n}\n\nconst buildDefineOptions = (env: string, platform: string) => {\n if (!CONFIG.replaceGlobals) return undefined\n\n const defineOptions: Record<string, string> = {\n __VERSION__: JSON.stringify(PKG.version),\n __NODE__: JSON.stringify(platform === 'node'),\n __WEB__: JSON.stringify(\n ['node', 'browser', 'universal'].includes(platform),\n ),\n __BROWSER__: JSON.stringify(platform === 'browser'),\n __NATIVE__: JSON.stringify(platform === 'native'),\n __CLIENT__: JSON.stringify(['native', 'browser'].includes(platform)),\n }\n\n if (env === 'production') {\n defineOptions['process.env.NODE_ENV'] = JSON.stringify(env)\n }\n\n return defineOptions\n}\n\nconst rolldownConfig = ({\n file,\n format,\n env,\n platform,\n input: entryInput,\n}: Record<string, any>) => {\n const extensions = defineExtensions(platform)\n const builtinPlugins = loadPlugins({ file })\n const userPlugins = (CONFIG.plugins || []) as RolldownPlugin[]\n const define = buildDefineOptions(env, platform)\n\n const lastSlash = file.lastIndexOf('/')\n const dir = lastSlash >= 0 ? file.substring(0, lastSlash) : '.'\n const entryFileName = lastSlash >= 0 ? file.substring(lastSlash + 1) : file\n\n const external = resolveExternals()\n\n const buildOutput = {\n input: entryInput || CONFIG.sourceDir,\n platform: mapPlatform(platform),\n tsconfig: CONFIG.typescript ? 'tsconfig.json' : undefined,\n resolve: {\n extensions,\n alias: CONFIG.alias || undefined,\n },\n transform: define ? { define } : undefined,\n output: {\n dir,\n entryFileNames: entryFileName,\n format,\n globals: swapGlobals(CONFIG.globals),\n sourcemap: CONFIG.sourcemap,\n sourcemapIgnoreList: (relativeSourcePath: string) =>\n relativeSourcePath.includes('node_modules'),\n exports: ['cjs', 'umd', 'iife'].includes(format)\n ? ('named' as const)\n : undefined,\n name: ['umd', 'iife'].includes(format) ? PKG.bundleName : undefined,\n esModule: true,\n minify: env === 'production',\n banner: CONFIG.banner || undefined,\n footer: CONFIG.footer || undefined,\n },\n external,\n treeshake: {\n moduleSideEffects: false,\n },\n plugins: [...builtinPlugins, ...userPlugins],\n }\n\n return buildOutput\n}\n\nconst createDtsConfig = (typesFilePath: string, inputFile: string) => {\n const lastSlash = typesFilePath.lastIndexOf('/')\n const dir = lastSlash >= 0 ? typesFilePath.substring(0, lastSlash) : '.'\n const entryFileName =\n lastSlash >= 0 ? typesFilePath.substring(lastSlash + 1) : typesFilePath\n\n return {\n file: typesFilePath,\n input: inputFile,\n tsconfig: 'tsconfig.json',\n resolve: {\n extensions: CONFIG.extensions,\n },\n external: resolveExternals(),\n plugins: [\n ...(dts({\n tsconfig: 'tsconfig.json',\n emitDtsOnly: true,\n // Disable the plugin's internal fake-js sourcemap. The DTS output\n // also has `output.sourcemap: false` (declarations don't need\n // maps), but the plugin's fake-js transform emits a SOURCEMAP_BROKEN\n // warning when its internal map isn't chained through — even though\n // nothing consumes a .d.ts.map. Off both layers, no warning.\n sourcemap: false,\n }) as RolldownPlugin[]),\n ],\n output: {\n dir,\n entryFileNames: entryFileName,\n chunkFileNames: '[name].d.ts',\n format: 'es' as const,\n sourcemap: false,\n esModule: true,\n },\n }\n}\n\n/** Check if exports object uses subpath keys */\nconst isSubpathExports = (obj: Record<string, any>): boolean =>\n Object.keys(obj).some((k) => k === '.' || k.startsWith('./'))\n\n/** Resolve the actual source file extension (.ts, .tsx, etc.) */\nconst resolveWithExtension = (path: string): string => {\n for (const ext of ['.ts', '.tsx', '.js', '.jsx']) {\n if (existsSync(`${path}${ext}`)) return `${path}${ext}`\n }\n return `${path}.ts`\n}\n\n/** Resolve input .ts file from a subpath export key using convention. */\nconst resolveSubpathInput = (exportPath: string): string => {\n if (exportPath === '.') return `${CONFIG.sourceDir}/index.ts`\n const subpath = exportPath.slice(2)\n return `${CONFIG.sourceDir}/${subpath}`\n}\n\nconst buildDts = (): ReturnType<typeof createDtsConfig> | null => {\n if (!CONFIG.typescript) return null\n\n // Simple case: no subpath exports\n const typesFilePath = PKG?.exports?.types || PKG.types || PKG.typings\n if (typesFilePath) {\n return createDtsConfig(typesFilePath, `${CONFIG.sourceDir}/index.ts`)\n }\n\n return null\n}\n\n/** Build DTS configs for all subpath exports that have a `types` field */\nconst buildAllDts = (): ReturnType<typeof createDtsConfig>[] => {\n if (!CONFIG.typescript) return []\n\n const exportsOptions = PKG.exports\n if (\n !exportsOptions ||\n typeof exportsOptions !== 'object' ||\n !isSubpathExports(exportsOptions)\n ) {\n const single = buildDts()\n return single ? [single] : []\n }\n\n const results: ReturnType<typeof createDtsConfig>[] = []\n for (const [exportPath, exportConfig] of Object.entries(exportsOptions)) {\n if (!exportConfig || typeof exportConfig !== 'object') continue\n const typesPath = (exportConfig as Record<string, string>).types\n if (!typesPath) continue\n const resolved = resolveSubpathInput(exportPath)\n const inputFile =\n resolved.endsWith('.ts') || resolved.endsWith('.tsx')\n ? resolved\n : resolveWithExtension(resolved)\n results.push(createDtsConfig(typesPath, inputFile))\n }\n\n return results\n}\n\nexport default rolldownConfig\nexport { buildAllDts, buildDts }\n"]}
@@ -238,7 +238,14 @@ const pickRealDtsFor = (stem, tempFiles, absTempDir) => {
238
238
  for (const f of tempFiles) {
239
239
  if (!re.test(f))
240
240
  continue;
241
- const size = statSync(join(absTempDir, f)).size;
241
+ // `tempFiles` is a snapshot from `readdirSync`. A prior promoteEntries
242
+ // iteration may have moved this file out of `absTempDir`. Skip silently
243
+ // instead of throwing ENOENT — defends against any future overlap in
244
+ // candidate sets even with the stem-dedup in place.
245
+ const p = join(absTempDir, f);
246
+ if (!existsSync(p))
247
+ continue;
248
+ const size = statSync(p).size;
242
249
  if (size > bestSize) {
243
250
  bestSize = size;
244
251
  best = f;
@@ -315,10 +322,17 @@ const buildDtsGrouped = async (group) => {
315
322
  const absTempDir = join(process.cwd(), tempDir);
316
323
  const inputMap = {};
317
324
  const entryStems = [];
325
+ // Dedup: two subpath exports can share the same `types` path (e.g.
326
+ // `./jsx-runtime` and `./jsx-dev-runtime` both pointing at
327
+ // `./lib/types/jsx-runtime.d.ts`). `inputMap` already dedups by stem;
328
+ // entryStems must do the same — otherwise promoteEntries iterates
329
+ // the same stem twice and the second iteration's pickRealDtsFor
330
+ // statSync's a file the first iteration already renamed away (ENOENT).
318
331
  for (const g of group) {
319
332
  const stem = g.output.entryFileNames.replace(/\.d\.ts$/, '');
320
333
  inputMap[stem] = g.input;
321
- entryStems.push(stem);
334
+ if (!entryStems.includes(stem))
335
+ entryStems.push(stem);
322
336
  }
323
337
  try {
324
338
  await build(buildGroupedDtsInvocation(head, inputMap, tempDir));
@@ -371,7 +385,9 @@ const generateDeclarations = async () => {
371
385
  const tscStart = performance.now();
372
386
  await buildDtsGrouped(group);
373
387
  const tscDuration = Math.round(performance.now() - tscStart);
374
- const names = group.map((g) => g.output.entryFileNames).join(', ');
388
+ const names = [
389
+ ...new Set(group.map((g) => g.output.entryFileNames)),
390
+ ].join(', ');
375
391
  log(` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(`${group[0]?.output.dir}/{${names}}`)} ${dim(`(${tscDuration}ms, single-pass)`)}`);
376
392
  }
377
393
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n cpSync,\n existsSync,\n mkdirSync,\n readdirSync,\n readFileSync,\n renameSync,\n rmSync,\n statSync,\n writeFileSync,\n} from 'node:fs'\nimport { join } from 'node:path'\nimport chalk from 'chalk'\nimport { rolldown } from 'rolldown'\nimport { CONFIG, PKG } from '../config/index.ts'\nimport {\n buildAllDts,\n createBuildPipeline,\n config as rolldownConfig,\n} from '../rolldown/index.ts'\n\nconst { log } = console\nconst allBuilds = createBuildPipeline()\nconst allBuildsCount = allBuilds.length\n\nconst FORMAT_LABEL: Record<string, string> = {\n cjs: 'CJS',\n es: 'ESM',\n umd: 'UMD',\n iife: 'IIFE',\n}\n\nconst label = (text: string) => chalk.bold.bgCyan.black(` ${text} `)\nconst dim = chalk.dim\nconst bold = chalk.bold\n\nasync function build({\n inputOptions,\n outputOptions,\n}: {\n inputOptions: any\n outputOptions: any\n}) {\n const bundle = await rolldown(inputOptions)\n await bundle.write(outputOptions)\n await bundle.close()\n}\n\n/**\n * Longest common parent directory of a list of file paths.\n * '/lib/index.js' + '/lib/component.js' -> '/lib'\n * '/lib/index.js' + '/lib/sub/foo.js' -> '/lib'\n */\nconst commonParent = (files: string[]): string => {\n if (files.length === 0) return '.'\n const split = files.map((f) => {\n const i = f.lastIndexOf('/')\n return i >= 0 ? f.substring(0, i).split('/') : ['.']\n })\n const head = split[0] as string[]\n let common: string[] = head\n for (const s of split.slice(1)) {\n const next: string[] = []\n for (let i = 0; i < Math.min(common.length, s.length); i++) {\n if (common[i] === s[i]) next.push(common[i] as string)\n else break\n }\n common = next\n }\n return common.length === 0 ? '.' : common.join('/')\n}\n\nconst stripJsExt = (s: string): string => s.replace(/\\.(m?js|cjs)$/, '')\n\n/**\n * Partition variants into groups eligible for multi-entry shared-chunk\n * builds, and singletons that keep the per-entry path.\n *\n * Eligible: same (format, env, platform), explicit `input` set, and a\n * format that supports code-splitting (i.e. not umd/iife — those are\n * inherently standalone bundles).\n */\nconst partitionForSharedChunks = (variants: Record<string, any>[]) => {\n const buckets = new Map<string, Record<string, any>[]>()\n const singles: Record<string, any>[] = []\n for (const v of variants) {\n if (!v.input || ['umd', 'iife'].includes(v.format)) {\n singles.push(v)\n continue\n }\n const key = `${v.format}|${v.env}|${v.platform}`\n const bucket = buckets.get(key) ?? []\n bucket.push(v)\n buckets.set(key, bucket)\n }\n const groups: Record<string, any>[][] = []\n for (const bucket of buckets.values()) {\n if (bucket.length <= 1) singles.push(...bucket)\n else groups.push(bucket)\n }\n return { groups, singles }\n}\n\n/** Build one group of multi-entry variants as a single rolldown invocation. */\nconst buildGroup = async (group: Record<string, any>[]) => {\n // Use the first variant as the representative for format/env/platform —\n // they're identical across the group by construction.\n const head = group[0] as Record<string, any>\n const dir = commonParent(group.map((v) => v.file as string))\n // Entry name = file relative to common parent, with .js/.cjs/.mjs stripped.\n // rolldown preserves '/' in input keys, so nested entries map cleanly to\n // nested output paths via [name] in entryFileNames.\n const inputMap: Record<string, string> = {}\n for (const v of group) {\n const rel = (v.file as string).startsWith(`${dir}/`)\n ? (v.file as string).substring(dir.length + 1)\n : (v.file as string)\n inputMap[stripJsExt(rel)] = v.input as string\n }\n\n // Build via the per-variant config to inherit plugins/externals/etc.,\n // then override input + output for the group.\n const { output, ...inputOptions } = rolldownConfig(head)\n inputOptions.input = inputMap\n const outputOptions = {\n ...output,\n dir,\n entryFileNames: '[name].js',\n chunkFileNames: '_chunks/[name]-[hash].js',\n }\n\n const format = FORMAT_LABEL[head.format] || head.format\n const start = performance.now()\n try {\n await build({ inputOptions, outputOptions })\n } catch (e) {\n log(`\\n${chalk.bold.red('Build failed')}`)\n log(chalk.gray(` Format: ${format}`))\n log(chalk.gray(` Entries: ${Object.keys(inputMap).join(', ')}`))\n log(e)\n throw e\n }\n const duration = Math.round(performance.now() - start)\n log(\n ` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(`${dir}/{${Object.keys(inputMap).join(',')}}.js`)} ${dim(`(${duration}ms, shared chunks)`)}`,\n )\n}\n\nconst buildSingle = async (item: Record<string, any>) => {\n const { output, ...inputOptions } = rolldownConfig(item)\n const format = FORMAT_LABEL[output.format] || output.format\n const start = performance.now()\n try {\n await build({ inputOptions, outputOptions: output })\n } catch (e) {\n log(`\\n${chalk.bold.red('Build failed')}`)\n log(chalk.gray(` Format: ${format}`))\n log(chalk.gray(` File: ${output.dir}/${output.entryFileNames}`))\n log(e)\n throw e\n }\n const duration = Math.round(performance.now() - start)\n log(\n ` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(`${output.dir}/${output.entryFileNames}`)} ${dim(`(${duration}ms)`)}`,\n )\n}\n\nconst createBuilds = async () => {\n const { groups, singles } = partitionForSharedChunks(allBuilds)\n let p = Promise.resolve()\n for (const item of singles) p = p.then(() => buildSingle(item))\n for (const group of groups) p = p.then(() => buildGroup(group))\n return p\n}\n\nconst copyStaticFiles = () => {\n if (!Array.isArray(CONFIG.copyFiles) || CONFIG.copyFiles.length === 0) return\n\n log(`\\n${dim('Copying')} static files...\\n`)\n for (const { from, to } of CONFIG.copyFiles as {\n from: string\n to: string\n }[]) {\n cpSync(from, to, { recursive: true })\n log(` ${chalk.green('+')} ${dim(from)} ${dim('->')} ${dim(to)}`)\n }\n}\n\n/**\n * Build a single DTS entry in an isolated temp directory, then move the\n * largest .d.ts file (the real declarations) to the final output path.\n *\n * Rolldown code-splits DTS output: the entry file is a tiny re-export stub,\n * and the actual types go into a chunk. Building into a temp dir avoids\n * collisions when multiple DTS entries share the same output directory.\n */\nconst buildDtsIsolated = async (\n dtsConfig: ReturnType<typeof buildAllDts>[number],\n) => {\n const { output, file, ...input } = dtsConfig\n const finalDir = output.dir as string\n const entryName = output.entryFileNames as string\n const tempDir = join(finalDir, `__dts_tmp_${entryName.replace(/\\W/g, '_')}`)\n const absTempDir = join(process.cwd(), tempDir)\n\n try {\n // Build into isolated temp directory\n const tempOutput = { ...output, dir: tempDir }\n await build({ inputOptions: input, outputOptions: tempOutput })\n\n // Find the largest .d.ts file — that's the real declarations\n const dtsFiles = readdirSync(absTempDir).filter((f) => f.endsWith('.d.ts'))\n\n let bestFile = dtsFiles[0] || entryName\n let bestSize = 0\n for (const f of dtsFiles) {\n const size = statSync(join(absTempDir, f)).size\n if (size > bestSize) {\n bestSize = size\n bestFile = f\n }\n }\n\n // Move the best file to the final location\n const absFinalDir = join(process.cwd(), finalDir)\n mkdirSync(absFinalDir, { recursive: true })\n renameSync(join(absTempDir, bestFile), join(absFinalDir, entryName))\n\n // Move sourcemap if it exists\n const mapName = `${bestFile}.map`\n try {\n renameSync(\n join(absTempDir, mapName),\n join(absFinalDir, `${entryName}.map`),\n )\n } catch {\n // sourcemap may not exist\n }\n } finally {\n // Always remove the temp dir — even if the build or a post-step\n // throws — so a partial failure can't leak __dts_tmp_* into lib/.\n rmSync(absTempDir, { recursive: true, force: true })\n }\n}\n\n/**\n * Build N DTS entries that share an output dir as a SINGLE rolldown call.\n *\n * Each per-entry rolldown call instantiates the slow rolldown-plugin-dts\n * (and its embedded TS compiler) from scratch — that's the\n * `[PLUGIN_TIMINGS] rolldown-plugin-dts:generate` warning rolldown\n * itself surfaces. Doing the work in one call amortizes plugin/compiler\n * setup AND lets common imports (e.g. a shared `types.ts`) emit as one\n * `_chunks/*.d.ts` instead of being inlined into every entry's stub.\n *\n * Caveat the per-entry path also handles: rolldown-plugin-dts (0.25.2)\n * emits `<name>.d.ts` (empty re-export stub) AND `<name>2.d.ts` (the real\n * declarations). We pick the larger file per entry and move it to the\n * intended path — same shape as `buildDtsIsolated`, batched.\n */\nconst escapeRe = (s: string): string => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\n/** Build the rolldown invocation options for a grouped DTS build. */\nconst buildGroupedDtsInvocation = (\n head: ReturnType<typeof buildAllDts>[number],\n inputMap: Record<string, string>,\n tempDir: string,\n) => {\n const inputOptions = { ...head, input: inputMap }\n delete (inputOptions as { file?: unknown }).file\n const outputOptions = {\n ...head.output,\n dir: tempDir,\n entryFileNames: '[name].d.ts',\n chunkFileNames: '_chunks/[name]-[hash].d.ts',\n }\n return { inputOptions, outputOptions }\n}\n\n/** Pick the largest `<stem>NUMBER?.d.ts` file in `tempFiles` for an entry. */\nconst pickRealDtsFor = (\n stem: string,\n tempFiles: string[],\n absTempDir: string,\n): string | undefined => {\n const re = new RegExp(`^${escapeRe(stem)}\\\\d*\\\\.d\\\\.ts$`)\n let best: string | undefined\n let bestSize = -1\n for (const f of tempFiles) {\n if (!re.test(f)) continue\n const size = statSync(join(absTempDir, f)).size\n if (size > bestSize) {\n bestSize = size\n best = f\n }\n }\n return best\n}\n\n/**\n * Move each entry's \"real\" .d.ts out of the temp dir to its final path.\n * Returns the list of `oldStem -> newStem` renames the import-path\n * repair step needs to know about.\n */\nconst promoteEntries = (\n entryStems: string[],\n absTempDir: string,\n absFinalDir: string,\n): { oldStem: string; newStem: string }[] => {\n const tempFiles = readdirSync(absTempDir)\n const renamed: { oldStem: string; newStem: string }[] = []\n for (const stem of entryStems) {\n const best = pickRealDtsFor(stem, tempFiles, absTempDir)\n if (!best) continue\n const oldStem = best.replace(/\\.d\\.ts$/, '')\n renameSync(join(absTempDir, best), join(absFinalDir, `${stem}.d.ts`))\n if (oldStem !== stem) renamed.push({ oldStem, newStem: stem })\n }\n return renamed\n}\n\n/**\n * Move the plugin's `_chunks/` dir (shared types) alongside the entries.\n * The `import \"./_chunks/shared-X.js\"` references in entry files resolve\n * to `_chunks/shared-X.d.ts` via TS's adjacent-`.d.ts`-to-`.js` rule.\n */\nconst promoteChunksDir = (absTempDir: string, absFinalDir: string) => {\n const tempChunksDir = join(absTempDir, '_chunks')\n if (!existsSync(tempChunksDir)) return\n const finalChunksDir = join(absFinalDir, '_chunks')\n rmSync(finalChunksDir, { recursive: true, force: true })\n renameSync(tempChunksDir, finalChunksDir)\n}\n\n/**\n * Repair stale import paths. When the plugin code-splits across entries,\n * one entry's .d.ts may reference `./otherEntry2.js` — but after we rename\n * `otherEntry2.d.ts -> otherEntry.d.ts`, that reference no longer resolves.\n * Without this, real consumers fail typechecks with `TS2307: Cannot find\n * module './otherEntry2.js'` (caught by skipLibCheck:false consumers).\n */\nconst repairStaleImports = (\n entryStems: string[],\n absFinalDir: string,\n renamed: { oldStem: string; newStem: string }[],\n) => {\n if (renamed.length === 0) return\n for (const stem of entryStems) {\n const filePath = join(absFinalDir, `${stem}.d.ts`)\n let content = readFileSync(filePath, 'utf-8')\n let changed = false\n for (const { oldStem, newStem } of renamed) {\n const re = new RegExp(\n `([\"'\\\\s/])\\\\./${escapeRe(oldStem)}\\\\.js([\"'])`,\n 'g',\n )\n if (re.test(content)) {\n content = content.replace(re, `$1./${newStem}.js$2`)\n changed = true\n }\n }\n if (changed) writeFileSync(filePath, content)\n }\n}\n\nconst buildDtsGrouped = async (\n group: ReturnType<typeof buildAllDts>,\n): Promise<void> => {\n const head = group[0]\n if (!head) return\n const finalDir = head.output.dir as string\n\n const groupTag = group\n .map((g) => (g.output.entryFileNames as string).replace(/\\W/g, '_'))\n .join('_')\n const tempDir = join(finalDir, `__dts_tmp_grp_${groupTag.substring(0, 60)}`)\n const absTempDir = join(process.cwd(), tempDir)\n\n const inputMap: Record<string, string> = {}\n const entryStems: string[] = []\n for (const g of group) {\n const stem = (g.output.entryFileNames as string).replace(/\\.d\\.ts$/, '')\n inputMap[stem] = g.input as string\n entryStems.push(stem)\n }\n\n try {\n await build(buildGroupedDtsInvocation(head, inputMap, tempDir))\n\n const absFinalDir = join(process.cwd(), finalDir)\n mkdirSync(absFinalDir, { recursive: true })\n\n const renamed = promoteEntries(entryStems, absTempDir, absFinalDir)\n promoteChunksDir(absTempDir, absFinalDir)\n repairStaleImports(entryStems, absFinalDir, renamed)\n } finally {\n rmSync(absTempDir, { recursive: true, force: true })\n }\n}\n\n/**\n * Partition DTS configs into groupable buckets by output dir. A bucket\n * of ≥2 entries goes through the single-pass `buildDtsGrouped`; singletons\n * keep `buildDtsIsolated`. Same shape as the JS pipeline in `createBuilds`.\n */\nconst partitionDts = (configs: ReturnType<typeof buildAllDts>) => {\n const buckets = new Map<string, ReturnType<typeof buildAllDts>>()\n for (const c of configs) {\n const k = c.output.dir as string\n const b = buckets.get(k) ?? []\n b.push(c)\n buckets.set(k, b)\n }\n const groups: ReturnType<typeof buildAllDts>[] = []\n const singles: ReturnType<typeof buildAllDts> = []\n for (const b of buckets.values()) {\n if (b.length <= 1) singles.push(...b)\n else groups.push(b)\n }\n return { groups, singles }\n}\n\nconst generateDeclarations = async () => {\n const dtsConfigs = buildAllDts()\n if (dtsConfigs.length === 0) return\n\n log(`\\n${dim('Generating')} declarations...`)\n\n const { groups, singles } = partitionDts(dtsConfigs)\n\n for (const dtsFile of singles) {\n const tscStart = performance.now()\n await buildDtsIsolated(dtsFile)\n const tscDuration = Math.round(performance.now() - tscStart)\n log(\n ` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(dtsFile.file)} ${dim(`(${tscDuration}ms)`)}`,\n )\n }\n\n for (const group of groups) {\n const tscStart = performance.now()\n await buildDtsGrouped(group)\n const tscDuration = Math.round(performance.now() - tscStart)\n const names = group.map((g) => g.output.entryFileNames as string).join(', ')\n log(\n ` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(\n `${group[0]?.output.dir}/{${names}}`,\n )} ${dim(`(${tscDuration}ms, single-pass)`)}`,\n )\n }\n}\n\nconst runBuild = async () => {\n const start = performance.now()\n\n log(\n `\\n${label('rolldown')} ${bold(PKG.name || '')} ${dim(`v${PKG.version || '0.0.0'}`)}\\n`,\n )\n\n log(`${dim('Cleaning')} ${CONFIG.outputDir}/`)\n rmSync(`${process.cwd()}/${CONFIG.outputDir}`, {\n recursive: true,\n force: true,\n })\n\n log(\n `${dim('Building')} ${bold(String(allBuildsCount))} bundle${allBuildsCount > 1 ? 's' : ''}...\\n`,\n )\n\n await createBuilds()\n copyStaticFiles()\n await generateDeclarations()\n\n const total = Math.round(performance.now() - start)\n log(`\\n${chalk.green('Done')} ${dim(`in ${total}ms`)}\\n`)\n}\n\nexport { runBuild }\n"]}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n cpSync,\n existsSync,\n mkdirSync,\n readdirSync,\n readFileSync,\n renameSync,\n rmSync,\n statSync,\n writeFileSync,\n} from 'node:fs'\nimport { join } from 'node:path'\nimport chalk from 'chalk'\nimport { rolldown } from 'rolldown'\nimport { CONFIG, PKG } from '../config/index.ts'\nimport {\n buildAllDts,\n createBuildPipeline,\n config as rolldownConfig,\n} from '../rolldown/index.ts'\n\nconst { log } = console\nconst allBuilds = createBuildPipeline()\nconst allBuildsCount = allBuilds.length\n\nconst FORMAT_LABEL: Record<string, string> = {\n cjs: 'CJS',\n es: 'ESM',\n umd: 'UMD',\n iife: 'IIFE',\n}\n\nconst label = (text: string) => chalk.bold.bgCyan.black(` ${text} `)\nconst dim = chalk.dim\nconst bold = chalk.bold\n\nasync function build({\n inputOptions,\n outputOptions,\n}: {\n inputOptions: any\n outputOptions: any\n}) {\n const bundle = await rolldown(inputOptions)\n await bundle.write(outputOptions)\n await bundle.close()\n}\n\n/**\n * Longest common parent directory of a list of file paths.\n * '/lib/index.js' + '/lib/component.js' -> '/lib'\n * '/lib/index.js' + '/lib/sub/foo.js' -> '/lib'\n */\nconst commonParent = (files: string[]): string => {\n if (files.length === 0) return '.'\n const split = files.map((f) => {\n const i = f.lastIndexOf('/')\n return i >= 0 ? f.substring(0, i).split('/') : ['.']\n })\n const head = split[0] as string[]\n let common: string[] = head\n for (const s of split.slice(1)) {\n const next: string[] = []\n for (let i = 0; i < Math.min(common.length, s.length); i++) {\n if (common[i] === s[i]) next.push(common[i] as string)\n else break\n }\n common = next\n }\n return common.length === 0 ? '.' : common.join('/')\n}\n\nconst stripJsExt = (s: string): string => s.replace(/\\.(m?js|cjs)$/, '')\n\n/**\n * Partition variants into groups eligible for multi-entry shared-chunk\n * builds, and singletons that keep the per-entry path.\n *\n * Eligible: same (format, env, platform), explicit `input` set, and a\n * format that supports code-splitting (i.e. not umd/iife — those are\n * inherently standalone bundles).\n */\nconst partitionForSharedChunks = (variants: Record<string, any>[]) => {\n const buckets = new Map<string, Record<string, any>[]>()\n const singles: Record<string, any>[] = []\n for (const v of variants) {\n if (!v.input || ['umd', 'iife'].includes(v.format)) {\n singles.push(v)\n continue\n }\n const key = `${v.format}|${v.env}|${v.platform}`\n const bucket = buckets.get(key) ?? []\n bucket.push(v)\n buckets.set(key, bucket)\n }\n const groups: Record<string, any>[][] = []\n for (const bucket of buckets.values()) {\n if (bucket.length <= 1) singles.push(...bucket)\n else groups.push(bucket)\n }\n return { groups, singles }\n}\n\n/** Build one group of multi-entry variants as a single rolldown invocation. */\nconst buildGroup = async (group: Record<string, any>[]) => {\n // Use the first variant as the representative for format/env/platform —\n // they're identical across the group by construction.\n const head = group[0] as Record<string, any>\n const dir = commonParent(group.map((v) => v.file as string))\n // Entry name = file relative to common parent, with .js/.cjs/.mjs stripped.\n // rolldown preserves '/' in input keys, so nested entries map cleanly to\n // nested output paths via [name] in entryFileNames.\n const inputMap: Record<string, string> = {}\n for (const v of group) {\n const rel = (v.file as string).startsWith(`${dir}/`)\n ? (v.file as string).substring(dir.length + 1)\n : (v.file as string)\n inputMap[stripJsExt(rel)] = v.input as string\n }\n\n // Build via the per-variant config to inherit plugins/externals/etc.,\n // then override input + output for the group.\n const { output, ...inputOptions } = rolldownConfig(head)\n inputOptions.input = inputMap\n const outputOptions = {\n ...output,\n dir,\n entryFileNames: '[name].js',\n chunkFileNames: '_chunks/[name]-[hash].js',\n }\n\n const format = FORMAT_LABEL[head.format] || head.format\n const start = performance.now()\n try {\n await build({ inputOptions, outputOptions })\n } catch (e) {\n log(`\\n${chalk.bold.red('Build failed')}`)\n log(chalk.gray(` Format: ${format}`))\n log(chalk.gray(` Entries: ${Object.keys(inputMap).join(', ')}`))\n log(e)\n throw e\n }\n const duration = Math.round(performance.now() - start)\n log(\n ` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(`${dir}/{${Object.keys(inputMap).join(',')}}.js`)} ${dim(`(${duration}ms, shared chunks)`)}`,\n )\n}\n\nconst buildSingle = async (item: Record<string, any>) => {\n const { output, ...inputOptions } = rolldownConfig(item)\n const format = FORMAT_LABEL[output.format] || output.format\n const start = performance.now()\n try {\n await build({ inputOptions, outputOptions: output })\n } catch (e) {\n log(`\\n${chalk.bold.red('Build failed')}`)\n log(chalk.gray(` Format: ${format}`))\n log(chalk.gray(` File: ${output.dir}/${output.entryFileNames}`))\n log(e)\n throw e\n }\n const duration = Math.round(performance.now() - start)\n log(\n ` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(`${output.dir}/${output.entryFileNames}`)} ${dim(`(${duration}ms)`)}`,\n )\n}\n\nconst createBuilds = async () => {\n const { groups, singles } = partitionForSharedChunks(allBuilds)\n let p = Promise.resolve()\n for (const item of singles) p = p.then(() => buildSingle(item))\n for (const group of groups) p = p.then(() => buildGroup(group))\n return p\n}\n\nconst copyStaticFiles = () => {\n if (!Array.isArray(CONFIG.copyFiles) || CONFIG.copyFiles.length === 0) return\n\n log(`\\n${dim('Copying')} static files...\\n`)\n for (const { from, to } of CONFIG.copyFiles as {\n from: string\n to: string\n }[]) {\n cpSync(from, to, { recursive: true })\n log(` ${chalk.green('+')} ${dim(from)} ${dim('->')} ${dim(to)}`)\n }\n}\n\n/**\n * Build a single DTS entry in an isolated temp directory, then move the\n * largest .d.ts file (the real declarations) to the final output path.\n *\n * Rolldown code-splits DTS output: the entry file is a tiny re-export stub,\n * and the actual types go into a chunk. Building into a temp dir avoids\n * collisions when multiple DTS entries share the same output directory.\n */\nconst buildDtsIsolated = async (\n dtsConfig: ReturnType<typeof buildAllDts>[number],\n) => {\n const { output, file, ...input } = dtsConfig\n const finalDir = output.dir as string\n const entryName = output.entryFileNames as string\n const tempDir = join(finalDir, `__dts_tmp_${entryName.replace(/\\W/g, '_')}`)\n const absTempDir = join(process.cwd(), tempDir)\n\n try {\n // Build into isolated temp directory\n const tempOutput = { ...output, dir: tempDir }\n await build({ inputOptions: input, outputOptions: tempOutput })\n\n // Find the largest .d.ts file — that's the real declarations\n const dtsFiles = readdirSync(absTempDir).filter((f) => f.endsWith('.d.ts'))\n\n let bestFile = dtsFiles[0] || entryName\n let bestSize = 0\n for (const f of dtsFiles) {\n const size = statSync(join(absTempDir, f)).size\n if (size > bestSize) {\n bestSize = size\n bestFile = f\n }\n }\n\n // Move the best file to the final location\n const absFinalDir = join(process.cwd(), finalDir)\n mkdirSync(absFinalDir, { recursive: true })\n renameSync(join(absTempDir, bestFile), join(absFinalDir, entryName))\n\n // Move sourcemap if it exists\n const mapName = `${bestFile}.map`\n try {\n renameSync(\n join(absTempDir, mapName),\n join(absFinalDir, `${entryName}.map`),\n )\n } catch {\n // sourcemap may not exist\n }\n } finally {\n // Always remove the temp dir — even if the build or a post-step\n // throws — so a partial failure can't leak __dts_tmp_* into lib/.\n rmSync(absTempDir, { recursive: true, force: true })\n }\n}\n\n/**\n * Build N DTS entries that share an output dir as a SINGLE rolldown call.\n *\n * Each per-entry rolldown call instantiates the slow rolldown-plugin-dts\n * (and its embedded TS compiler) from scratch — that's the\n * `[PLUGIN_TIMINGS] rolldown-plugin-dts:generate` warning rolldown\n * itself surfaces. Doing the work in one call amortizes plugin/compiler\n * setup AND lets common imports (e.g. a shared `types.ts`) emit as one\n * `_chunks/*.d.ts` instead of being inlined into every entry's stub.\n *\n * Caveat the per-entry path also handles: rolldown-plugin-dts (0.25.2)\n * emits `<name>.d.ts` (empty re-export stub) AND `<name>2.d.ts` (the real\n * declarations). We pick the larger file per entry and move it to the\n * intended path — same shape as `buildDtsIsolated`, batched.\n */\nconst escapeRe = (s: string): string => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\n/** Build the rolldown invocation options for a grouped DTS build. */\nconst buildGroupedDtsInvocation = (\n head: ReturnType<typeof buildAllDts>[number],\n inputMap: Record<string, string>,\n tempDir: string,\n) => {\n const inputOptions = { ...head, input: inputMap }\n delete (inputOptions as { file?: unknown }).file\n const outputOptions = {\n ...head.output,\n dir: tempDir,\n entryFileNames: '[name].d.ts',\n chunkFileNames: '_chunks/[name]-[hash].d.ts',\n }\n return { inputOptions, outputOptions }\n}\n\n/** Pick the largest `<stem>NUMBER?.d.ts` file in `tempFiles` for an entry. */\nconst pickRealDtsFor = (\n stem: string,\n tempFiles: string[],\n absTempDir: string,\n): string | undefined => {\n const re = new RegExp(`^${escapeRe(stem)}\\\\d*\\\\.d\\\\.ts$`)\n let best: string | undefined\n let bestSize = -1\n for (const f of tempFiles) {\n if (!re.test(f)) continue\n // `tempFiles` is a snapshot from `readdirSync`. A prior promoteEntries\n // iteration may have moved this file out of `absTempDir`. Skip silently\n // instead of throwing ENOENT — defends against any future overlap in\n // candidate sets even with the stem-dedup in place.\n const p = join(absTempDir, f)\n if (!existsSync(p)) continue\n const size = statSync(p).size\n if (size > bestSize) {\n bestSize = size\n best = f\n }\n }\n return best\n}\n\n/**\n * Move each entry's \"real\" .d.ts out of the temp dir to its final path.\n * Returns the list of `oldStem -> newStem` renames the import-path\n * repair step needs to know about.\n */\nconst promoteEntries = (\n entryStems: string[],\n absTempDir: string,\n absFinalDir: string,\n): { oldStem: string; newStem: string }[] => {\n const tempFiles = readdirSync(absTempDir)\n const renamed: { oldStem: string; newStem: string }[] = []\n for (const stem of entryStems) {\n const best = pickRealDtsFor(stem, tempFiles, absTempDir)\n if (!best) continue\n const oldStem = best.replace(/\\.d\\.ts$/, '')\n renameSync(join(absTempDir, best), join(absFinalDir, `${stem}.d.ts`))\n if (oldStem !== stem) renamed.push({ oldStem, newStem: stem })\n }\n return renamed\n}\n\n/**\n * Move the plugin's `_chunks/` dir (shared types) alongside the entries.\n * The `import \"./_chunks/shared-X.js\"` references in entry files resolve\n * to `_chunks/shared-X.d.ts` via TS's adjacent-`.d.ts`-to-`.js` rule.\n */\nconst promoteChunksDir = (absTempDir: string, absFinalDir: string) => {\n const tempChunksDir = join(absTempDir, '_chunks')\n if (!existsSync(tempChunksDir)) return\n const finalChunksDir = join(absFinalDir, '_chunks')\n rmSync(finalChunksDir, { recursive: true, force: true })\n renameSync(tempChunksDir, finalChunksDir)\n}\n\n/**\n * Repair stale import paths. When the plugin code-splits across entries,\n * one entry's .d.ts may reference `./otherEntry2.js` — but after we rename\n * `otherEntry2.d.ts -> otherEntry.d.ts`, that reference no longer resolves.\n * Without this, real consumers fail typechecks with `TS2307: Cannot find\n * module './otherEntry2.js'` (caught by skipLibCheck:false consumers).\n */\nconst repairStaleImports = (\n entryStems: string[],\n absFinalDir: string,\n renamed: { oldStem: string; newStem: string }[],\n) => {\n if (renamed.length === 0) return\n for (const stem of entryStems) {\n const filePath = join(absFinalDir, `${stem}.d.ts`)\n let content = readFileSync(filePath, 'utf-8')\n let changed = false\n for (const { oldStem, newStem } of renamed) {\n const re = new RegExp(\n `([\"'\\\\s/])\\\\./${escapeRe(oldStem)}\\\\.js([\"'])`,\n 'g',\n )\n if (re.test(content)) {\n content = content.replace(re, `$1./${newStem}.js$2`)\n changed = true\n }\n }\n if (changed) writeFileSync(filePath, content)\n }\n}\n\nconst buildDtsGrouped = async (\n group: ReturnType<typeof buildAllDts>,\n): Promise<void> => {\n const head = group[0]\n if (!head) return\n const finalDir = head.output.dir as string\n\n const groupTag = group\n .map((g) => (g.output.entryFileNames as string).replace(/\\W/g, '_'))\n .join('_')\n const tempDir = join(finalDir, `__dts_tmp_grp_${groupTag.substring(0, 60)}`)\n const absTempDir = join(process.cwd(), tempDir)\n\n const inputMap: Record<string, string> = {}\n const entryStems: string[] = []\n // Dedup: two subpath exports can share the same `types` path (e.g.\n // `./jsx-runtime` and `./jsx-dev-runtime` both pointing at\n // `./lib/types/jsx-runtime.d.ts`). `inputMap` already dedups by stem;\n // entryStems must do the same — otherwise promoteEntries iterates\n // the same stem twice and the second iteration's pickRealDtsFor\n // statSync's a file the first iteration already renamed away (ENOENT).\n for (const g of group) {\n const stem = (g.output.entryFileNames as string).replace(/\\.d\\.ts$/, '')\n inputMap[stem] = g.input as string\n if (!entryStems.includes(stem)) entryStems.push(stem)\n }\n\n try {\n await build(buildGroupedDtsInvocation(head, inputMap, tempDir))\n\n const absFinalDir = join(process.cwd(), finalDir)\n mkdirSync(absFinalDir, { recursive: true })\n\n const renamed = promoteEntries(entryStems, absTempDir, absFinalDir)\n promoteChunksDir(absTempDir, absFinalDir)\n repairStaleImports(entryStems, absFinalDir, renamed)\n } finally {\n rmSync(absTempDir, { recursive: true, force: true })\n }\n}\n\n/**\n * Partition DTS configs into groupable buckets by output dir. A bucket\n * of ≥2 entries goes through the single-pass `buildDtsGrouped`; singletons\n * keep `buildDtsIsolated`. Same shape as the JS pipeline in `createBuilds`.\n */\nconst partitionDts = (configs: ReturnType<typeof buildAllDts>) => {\n const buckets = new Map<string, ReturnType<typeof buildAllDts>>()\n for (const c of configs) {\n const k = c.output.dir as string\n const b = buckets.get(k) ?? []\n b.push(c)\n buckets.set(k, b)\n }\n const groups: ReturnType<typeof buildAllDts>[] = []\n const singles: ReturnType<typeof buildAllDts> = []\n for (const b of buckets.values()) {\n if (b.length <= 1) singles.push(...b)\n else groups.push(b)\n }\n return { groups, singles }\n}\n\nconst generateDeclarations = async () => {\n const dtsConfigs = buildAllDts()\n if (dtsConfigs.length === 0) return\n\n log(`\\n${dim('Generating')} declarations...`)\n\n const { groups, singles } = partitionDts(dtsConfigs)\n\n for (const dtsFile of singles) {\n const tscStart = performance.now()\n await buildDtsIsolated(dtsFile)\n const tscDuration = Math.round(performance.now() - tscStart)\n log(\n ` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(dtsFile.file)} ${dim(`(${tscDuration}ms)`)}`,\n )\n }\n\n for (const group of groups) {\n const tscStart = performance.now()\n await buildDtsGrouped(group)\n const tscDuration = Math.round(performance.now() - tscStart)\n const names = [\n ...new Set(group.map((g) => g.output.entryFileNames as string)),\n ].join(', ')\n log(\n ` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(\n `${group[0]?.output.dir}/{${names}}`,\n )} ${dim(`(${tscDuration}ms, single-pass)`)}`,\n )\n }\n}\n\nconst runBuild = async () => {\n const start = performance.now()\n\n log(\n `\\n${label('rolldown')} ${bold(PKG.name || '')} ${dim(`v${PKG.version || '0.0.0'}`)}\\n`,\n )\n\n log(`${dim('Cleaning')} ${CONFIG.outputDir}/`)\n rmSync(`${process.cwd()}/${CONFIG.outputDir}`, {\n recursive: true,\n force: true,\n })\n\n log(\n `${dim('Building')} ${bold(String(allBuildsCount))} bundle${allBuildsCount > 1 ? 's' : ''}...\\n`,\n )\n\n await createBuilds()\n copyStaticFiles()\n await generateDeclarations()\n\n const total = Math.round(performance.now() - start)\n log(`\\n${chalk.green('Done')} ${dim(`in ${total}ms`)}\\n`)\n}\n\nexport { runBuild }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfig.d.ts","sourceRoot":"","sources":["../../../src/config/baseConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;eAmBqB,OAAO,GAAG,QAAQ,GAAG,QAAQ;;;cAOH,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;;;;;;;aAqB5D;QACE,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,EAAE,GACH,SAAS;;eAEW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,SAAS;YAC7C,MAAM,GAAG,SAAS;YAClB,MAAM,GAAG,SAAS;WACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;aACvC,OAAO,EAAE;;AA5D1B,wBA6DC"}
1
+ {"version":3,"file":"baseConfig.d.ts","sourceRoot":"","sources":["../../../src/config/baseConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;eAmBqB,OAAO,GAAG,QAAQ,GAAG,QAAQ;;;cAOb,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;;;;;;;aAqBlD;QACE,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,EAAE,GACH,SAAS;;eAEW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,SAAS;YAC7C,MAAM,GAAG,SAAS;YAClB,MAAM,GAAG,SAAS;WACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;aACvC,OAAO,EAAE;;AA5D1B,wBA6DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rolldown/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAiF9C,QAAA,MAAM,cAAc,GAAI,qDAMrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;kDA2B0B,MAAM;;;;;;;;;;;;;CAmBrD,CAAA;AAED,QAAA,MAAM,eAAe,GAAI,eAAe,MAAM,EAAE,WAAW,MAAM;;;;;;;;;;;;;;;;;CAmChE,CAAA;AAqBD,QAAA,MAAM,QAAQ,QAAO,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,IAUzD,CAAA;AAED,0EAA0E;AAC1E,QAAA,MAAM,WAAW,QAAO,UAAU,CAAC,OAAO,eAAe,CAAC,EA2BzD,CAAA;AAED,eAAe,cAAc,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rolldown/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AA2F9C,QAAA,MAAM,cAAc,GAAI,qDAMrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;kDA2B0B,MAAM;;;;;;;;;;;;;CAmBrD,CAAA;AAED,QAAA,MAAM,eAAe,GAAI,eAAe,MAAM,EAAE,WAAW,MAAM;;;;;;;;;;;;;;;;;CAmChE,CAAA;AAqBD,QAAA,MAAM,QAAQ,QAAO,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,IAUzD,CAAA;AAED,0EAA0E;AAC1E,QAAA,MAAM,WAAW,QAAO,UAAU,CAAC,OAAO,eAAe,CAAC,EA2BzD,CAAA;AAED,eAAe,cAAc,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.ts"],"names":[],"mappings":"AAocA,QAAA,MAAM,QAAQ,qBAuBb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.ts"],"names":[],"mappings":"AAkdA,QAAA,MAAM,QAAQ,qBAuBb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/tools-rolldown",
3
- "version": "2.6.1",
3
+ "version": "2.6.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",