@vitus-labs/tools-rolldown 2.0.0 → 2.2.0

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.
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { runBuild } from '../scripts/build.js';
2
+ import { runBuild } from "../scripts/build.js";
3
3
  runBuild();
4
4
  //# sourceMappingURL=run-build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-build.js","sourceRoot":"","sources":["../../src/bin/run-build.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,QAAQ,EAAE,CAAA","sourcesContent":["#!/usr/bin/env node\nimport { runBuild } from '../scripts/build.js'\n\nrunBuild()\n"]}
1
+ {"version":3,"file":"run-build.js","sourceRoot":"","sources":["../../src/bin/run-build.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,QAAQ,EAAE,CAAA","sourcesContent":["#!/usr/bin/env node\nimport { runBuild } from '../scripts/build.ts'\n\nrunBuild()\n"]}
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from 'chalk';
3
3
  import { watch } from 'rolldown';
4
- import { PKG } from '../config/index.js';
5
- import { createBuildPipeline, config as rolldownConfig, } from '../rolldown/index.js';
4
+ import { PKG } from "../config/index.js";
5
+ import { createBuildPipeline, config as rolldownConfig, } from "../rolldown/index.js";
6
6
  const { log } = console;
7
7
  const allBuilds = createBuildPipeline();
8
8
  const label = (text) => chalk.bold.bgCyan.black(` ${text} `);
@@ -1 +1 @@
1
- {"version":3,"file":"run-watch.js","sourceRoot":"","sources":["../../src/bin/run-watch.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EACL,mBAAmB,EACnB,MAAM,IAAI,cAAc,GACzB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;AACvB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;AAEvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;AACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;AACrB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AAEvB,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAyB,EAAE,EAAE;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAA;AAC7B,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAC5E,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAA;AAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;AAEnC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;YACzB,MAAK;QACP,KAAK,YAAY;YACf,GAAG,CACD,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CACxF,CAAA;YACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAK;QACP,KAAK,KAAK;YACR,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAA;YACnE,MAAK;QACP,KAAK,OAAO;YACV,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;YACtE,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACrC,CAAC;YACD,MAAK;IACT,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC3B,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA","sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk'\nimport { watch } from 'rolldown'\nimport { PKG } from '../config/index.js'\nimport {\n createBuildPipeline,\n config as rolldownConfig,\n} from '../rolldown/index.js'\n\nconst { log } = console\nconst allBuilds = createBuildPipeline()\n\nconst label = (text: string) => chalk.bold.bgCyan.black(` ${text} `)\nconst dim = chalk.dim\nconst bold = chalk.bold\n\nconst watchConfigs = allBuilds.map((item: Record<string, any>) => {\n const { output, ...input } = rolldownConfig(item)\n return { ...input, output }\n})\n\nlog(`\\n${label('rolldown')} ${bold(PKG.name || '')} ${dim('watch mode')}\\n`)\nlog(dim('Waiting for changes...\\n'))\n\nconst watcher = watch(watchConfigs)\n\nwatcher.on('event', (event) => {\n switch (event.code) {\n case 'START':\n log(dim('Rebuilding...'))\n break\n case 'BUNDLE_END':\n log(\n ` ${chalk.green('+')} ${dim(event.output.join(', '))} ${dim(`(${event.duration}ms)`)}`,\n )\n event.result.close()\n break\n case 'END':\n log(`${chalk.green('Ready')} ${dim('- waiting for changes...')}\\n`)\n break\n case 'ERROR':\n log(`\\n${chalk.red('Error')} ${event.error.message || event.error}\\n`)\n if ('frame' in event.error && event.error.frame) {\n log(dim(String(event.error.frame)))\n }\n break\n }\n})\n\nprocess.on('SIGINT', () => {\n log(dim('\\nStopping...\\n'))\n watcher.close()\n process.exit(0)\n})\n"]}
1
+ {"version":3,"file":"run-watch.js","sourceRoot":"","sources":["../../src/bin/run-watch.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EACL,mBAAmB,EACnB,MAAM,IAAI,cAAc,GACzB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;AACvB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;AAEvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;AACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;AACrB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AAEvB,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAyB,EAAE,EAAE;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAA;AAC7B,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAC5E,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAA;AAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;AAEnC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;YACzB,MAAK;QACP,KAAK,YAAY;YACf,GAAG,CACD,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CACxF,CAAA;YACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAK;QACP,KAAK,KAAK;YACR,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAA;YACnE,MAAK;QACP,KAAK,OAAO;YACV,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;YACtE,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACrC,CAAC;YACD,MAAK;IACT,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC3B,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA","sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk'\nimport { watch } from 'rolldown'\nimport { PKG } from '../config/index.ts'\nimport {\n createBuildPipeline,\n config as rolldownConfig,\n} from '../rolldown/index.ts'\n\nconst { log } = console\nconst allBuilds = createBuildPipeline()\n\nconst label = (text: string) => chalk.bold.bgCyan.black(` ${text} `)\nconst dim = chalk.dim\nconst bold = chalk.bold\n\nconst watchConfigs = allBuilds.map((item: Record<string, any>) => {\n const { output, ...input } = rolldownConfig(item)\n return { ...input, output }\n})\n\nlog(`\\n${label('rolldown')} ${bold(PKG.name || '')} ${dim('watch mode')}\\n`)\nlog(dim('Waiting for changes...\\n'))\n\nconst watcher = watch(watchConfigs)\n\nwatcher.on('event', (event) => {\n switch (event.code) {\n case 'START':\n log(dim('Rebuilding...'))\n break\n case 'BUNDLE_END':\n log(\n ` ${chalk.green('+')} ${dim(event.output.join(', '))} ${dim(`(${event.duration}ms)`)}`,\n )\n event.result.close()\n break\n case 'END':\n log(`${chalk.green('Ready')} ${dim('- waiting for changes...')}\\n`)\n break\n case 'ERROR':\n log(`\\n${chalk.red('Error')} ${event.error.message || event.error}\\n`)\n if ('frame' in event.error && event.error.frame) {\n log(dim(String(event.error.frame)))\n }\n break\n }\n})\n\nprocess.on('SIGINT', () => {\n log(dim('\\nStopping...\\n'))\n watcher.close()\n process.exit(0)\n})\n"]}
@@ -1,5 +1,5 @@
1
1
  import { PKG, TS_CONFIG, VL_CONFIG } from '@vitus-labs/tools-core';
2
- import baseConfig from './baseConfig.js';
2
+ import baseConfig from "./baseConfig.js";
3
3
  const CONFIG_KEY = 'build';
4
4
  const CONFIG = VL_CONFIG(CONFIG_KEY).merge(baseConfig).config;
5
5
  const PLATFORMS = ['browser', 'node', 'web', 'native'];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,MAAM,UAAU,GAAG,OAAO,CAAA;AAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA;AAE7D,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA","sourcesContent":["import { PKG, TS_CONFIG, VL_CONFIG } from '@vitus-labs/tools-core'\nimport baseConfig from './baseConfig.js'\n\nconst CONFIG_KEY = 'build'\n\nconst CONFIG = VL_CONFIG(CONFIG_KEY).merge(baseConfig).config\n\nconst PLATFORMS = ['browser', 'node', 'web', 'native'] as const\n\nexport { CONFIG, PKG, PLATFORMS, TS_CONFIG }\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,MAAM,UAAU,GAAG,OAAO,CAAA;AAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA;AAE7D,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA","sourcesContent":["import { PKG, TS_CONFIG, VL_CONFIG } from '@vitus-labs/tools-core'\nimport baseConfig from './baseConfig.ts'\n\nconst CONFIG_KEY = 'build'\n\nconst CONFIG = VL_CONFIG(CONFIG_KEY).merge(baseConfig).config\n\nconst PLATFORMS = ['browser', 'node', 'web', 'native'] as const\n\nexport { CONFIG, PKG, PLATFORMS, TS_CONFIG }\n"]}
package/lib/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { runBuild } from './scripts/build.js';
1
+ import { runBuild } from "./scripts/build.js";
2
2
  export { runBuild };
3
3
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,CAAA","sourcesContent":["import { runBuild } from './scripts/build.js'\n\nexport { runBuild }\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,CAAA","sourcesContent":["import { runBuild } from './scripts/build.ts'\n\nexport { runBuild }\n"]}
@@ -1,9 +1,14 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { swapGlobals } from '@vitus-labs/tools-core';
2
+ import { createRequire } from 'node:module';
3
+ import { expandExternal, swapGlobals } from '@vitus-labs/tools-core';
3
4
  import { dts } from 'rolldown-plugin-dts';
4
- import filesize from 'rollup-plugin-filesize';
5
5
  import { visualizer } from 'rollup-plugin-visualizer';
6
- import { CONFIG, PKG, PLATFORMS } from '../config/index.js';
6
+ import { CONFIG, PKG, PLATFORMS } from "../config/index.js";
7
+ const require = createRequire(import.meta.url);
8
+ const filesize = require('rollup-plugin-filesize');
9
+ const resolveExternals = () => CONFIG.bundleAll
10
+ ? []
11
+ : [...PKG.externalDependencies, ...CONFIG.external].map(expandExternal);
7
12
  const defineExtensions = (platform) => {
8
13
  const platformExtensions = [];
9
14
  if (PLATFORMS.includes(platform)) {
@@ -63,9 +68,7 @@ const rolldownConfig = ({ file, format, env, platform, input: entryInput, }) =>
63
68
  const lastSlash = file.lastIndexOf('/');
64
69
  const dir = lastSlash >= 0 ? file.substring(0, lastSlash) : '.';
65
70
  const entryFileName = lastSlash >= 0 ? file.substring(lastSlash + 1) : file;
66
- const external = CONFIG.bundleAll
67
- ? []
68
- : [...PKG.externalDependencies, ...CONFIG.external];
71
+ const external = resolveExternals();
69
72
  const buildOutput = {
70
73
  input: entryInput || CONFIG.sourceDir,
71
74
  platform: mapPlatform(platform),
@@ -110,9 +113,7 @@ const createDtsConfig = (typesFilePath, inputFile) => {
110
113
  resolve: {
111
114
  extensions: CONFIG.extensions,
112
115
  },
113
- external: CONFIG.bundleAll
114
- ? []
115
- : [...PKG.externalDependencies, ...CONFIG.external],
116
+ external: resolveExternals(),
116
117
  plugins: [
117
118
  ...dts({
118
119
  tsconfig: 'tsconfig.json',
@@ -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 { swapGlobals } from '@vitus-labs/tools-core'\nimport type { RolldownPlugin } from 'rolldown'\nimport { dts } from 'rolldown-plugin-dts'\nimport filesize from 'rollup-plugin-filesize'\nimport { visualizer } from 'rollup-plugin-visualizer'\nimport { CONFIG, PKG, PLATFORMS } from '../config/index.js'\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 = CONFIG.bundleAll\n ? []\n : [...PKG.externalDependencies, ...CONFIG.external]\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: true,\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: CONFIG.bundleAll\n ? []\n : [...PKG.externalDependencies, ...CONFIG.external],\n plugins: [\n ...(dts({\n tsconfig: 'tsconfig.json',\n emitDtsOnly: true,\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,MAAM,gBAAgB,GAAG,GAAwB,EAAE,CACjD,MAAM,CAAC,SAAS;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAE3E,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,IAAI;YACf,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;aAClB,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\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: true,\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 }) 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,4 +1,4 @@
1
- import { CONFIG, PKG } from '../config/index.js';
1
+ import { CONFIG, PKG } from "../config/index.js";
2
2
  const isESModuleOnly = PKG.type === 'module';
3
3
  const hasDifferentNativeBuild = () => {
4
4
  return PKG['react-native'] !== PKG.module;
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildPipeline.js","sourceRoot":"","sources":["../../src/rolldown/createBuildPipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { CONFIG, PKG } from '../config/index.js'\n\nconst isESModuleOnly = PKG.type === 'module'\n\nconst hasDifferentNativeBuild = () => {\n return PKG['react-native'] !== PKG.module\n}\n\nconst hasDifferentBrowserBuild = (type: string) => {\n if (!PKG.browser) return false\n\n return Object.entries(PKG.browser as Record<string, string>).some(\n ([key, value]) => {\n const source = key.substring(2)\n const output = value.substring(2)\n\n return source !== PKG[type] && source !== output\n },\n )\n}\n\nconst BUILD_VARIANTS: Record<\n string,\n { format: string; env: string; platform?: string }\n> = {\n main: {\n format: isESModuleOnly ? 'es' : 'cjs',\n env: 'development',\n platform: 'universal',\n },\n module: {\n format: 'es',\n env: 'development',\n platform: 'universal',\n },\n 'react-native': {\n format: 'es',\n env: 'development',\n platform: 'native',\n },\n 'umd:main': { format: 'umd', env: 'development' },\n unpkg: { format: 'umd', env: 'production' },\n}\n\n/** Check if an exports object uses subpath keys (e.g. \".\", \"./devtools\") */\nconst isSubpathExports = (obj: Record<string, any>): boolean =>\n Object.keys(obj).some((k) => k === '.' || k.startsWith('./'))\n\n/** Resolve the source input file for a subpath export using convention:\n * \".\" → \"src/index.ts\", \"./devtools\" → \"src/devtools\" */\nconst resolveSubpathInput = (exportPath: string): string => {\n if (exportPath === '.') return `${CONFIG.sourceDir}/index.ts`\n const subpath = exportPath.slice(2) // strip \"./\"\n return `${CONFIG.sourceDir}/${subpath}`\n}\n\n/** Extract build variants from a single export's condition object */\nconst parseConditions = (\n conditions: Record<string, any>,\n input?: string,\n): Record<string, any>[] => {\n const result: Record<string, any>[] = []\n const base = input ? { input } : {}\n\n if (conditions.import) {\n result.push({ file: conditions.import, ...BUILD_VARIANTS.module, ...base })\n }\n if (conditions.require) {\n result.push({\n file: conditions.require,\n format: 'cjs',\n env: 'development',\n platform: 'universal',\n ...base,\n })\n }\n if (conditions.node) {\n result.push({\n file: conditions.node,\n ...BUILD_VARIANTS.module,\n platform: 'node',\n ...base,\n })\n }\n if (conditions.default && !conditions.import) {\n result.push({ file: conditions.default, ...BUILD_VARIANTS.module, ...base })\n }\n\n return result\n}\n\n/** Parse subpath exports object into build variants */\nconst parseSubpathExports = (\n exportsOptions: Record<string, any>,\n): Record<string, any>[] => {\n const result: Record<string, any>[] = []\n\n for (const [exportPath, exportConfig] of Object.entries(exportsOptions)) {\n if (typeof exportConfig === 'string') {\n // Skip passthrough exports (e.g. \"./package.json\": \"./package.json\")\n if (!exportConfig.endsWith('.js') && !exportConfig.endsWith('.mjs')) {\n continue\n }\n result.push({\n file: exportConfig,\n input: resolveSubpathInput(exportPath),\n ...BUILD_VARIANTS.module,\n })\n } else if (typeof exportConfig === 'object' && exportConfig !== null) {\n // Skip exports without build conditions (import/require/node/default)\n if (\n !exportConfig.import &&\n !exportConfig.require &&\n !exportConfig.node &&\n !exportConfig.default\n ) {\n continue\n }\n const input = resolveSubpathInput(exportPath)\n result.push(...parseConditions(exportConfig, input))\n }\n }\n\n return result\n}\n\nconst getExportsOptions = () => {\n const exportsOptions = PKG.exports\n\n if (!exportsOptions) return []\n\n if (typeof exportsOptions === 'string') {\n return [{ file: PKG.exports, ...BUILD_VARIANTS.module }]\n }\n\n if (typeof exportsOptions === 'object') {\n return isSubpathExports(exportsOptions)\n ? parseSubpathExports(exportsOptions)\n : parseConditions(exportsOptions)\n }\n\n return []\n}\n\nconst createBasicBuildVariants = () => {\n let result: Record<string, any>[] = []\n\n if (isESModuleOnly) result = [...getExportsOptions()]\n\n Object.keys(BUILD_VARIANTS).forEach((key) => {\n const PKGOutDir = PKG[key]\n\n if (PKGOutDir) {\n const hasBrowserBuild = hasDifferentBrowserBuild(key)\n const hasNativeBuild = hasDifferentNativeBuild()\n\n // create a helper function for adding a build variant to an array\n const add = (props = {}) => {\n result.push({ ...BUILD_VARIANTS[key], file: PKGOutDir, ...props })\n }\n\n if (key === 'react-native') {\n // add a separate RN build only if output path differs from module path\n if (hasNativeBuild) {\n add()\n }\n } else if (hasBrowserBuild) {\n // if has a different browser build, set default platform to node\n // as there is going to be created a separate browser build as well\n add({ platform: 'node' })\n } else {\n add()\n }\n }\n })\n\n return result\n}\n\nconst createBrowserBuildVariants = () => {\n const result: Record<string, any>[] = []\n if (!PKG.browser) return result\n\n Object.entries(PKG.browser as Record<string, string>).forEach(\n ([key, value]) => {\n const source = key.substring(2) // strip './' from the beginning of path\n const output = value.substring(2) // strip './' from the beginning of path\n\n Object.keys(BUILD_VARIANTS).forEach((item) => {\n if (PKG[item] === source && source !== output) {\n result.push({\n ...BUILD_VARIANTS[item],\n file: output,\n platform: 'browser',\n })\n }\n })\n },\n )\n\n return result\n}\n\nconst createBuildPipeline = () => {\n if (Array.isArray(CONFIG.entries) && CONFIG.entries.length > 0) {\n return CONFIG.entries.map((entry: Record<string, string | undefined>) => ({\n format: entry.format || 'es',\n env: entry.env || 'development',\n platform: entry.platform || 'universal',\n file: entry.file,\n input: entry.input,\n }))\n }\n\n return [...createBasicBuildVariants(), ...createBrowserBuildVariants()]\n}\n\nexport default createBuildPipeline\n"]}
1
+ {"version":3,"file":"createBuildPipeline.js","sourceRoot":"","sources":["../../src/rolldown/createBuildPipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { CONFIG, PKG } from '../config/index.ts'\n\nconst isESModuleOnly = PKG.type === 'module'\n\nconst hasDifferentNativeBuild = () => {\n return PKG['react-native'] !== PKG.module\n}\n\nconst hasDifferentBrowserBuild = (type: string) => {\n if (!PKG.browser) return false\n\n return Object.entries(PKG.browser as Record<string, string>).some(\n ([key, value]) => {\n const source = key.substring(2)\n const output = value.substring(2)\n\n return source !== PKG[type] && source !== output\n },\n )\n}\n\nconst BUILD_VARIANTS: Record<\n string,\n { format: string; env: string; platform?: string }\n> = {\n main: {\n format: isESModuleOnly ? 'es' : 'cjs',\n env: 'development',\n platform: 'universal',\n },\n module: {\n format: 'es',\n env: 'development',\n platform: 'universal',\n },\n 'react-native': {\n format: 'es',\n env: 'development',\n platform: 'native',\n },\n 'umd:main': { format: 'umd', env: 'development' },\n unpkg: { format: 'umd', env: 'production' },\n}\n\n/** Check if an exports object uses subpath keys (e.g. \".\", \"./devtools\") */\nconst isSubpathExports = (obj: Record<string, any>): boolean =>\n Object.keys(obj).some((k) => k === '.' || k.startsWith('./'))\n\n/** Resolve the source input file for a subpath export using convention:\n * \".\" → \"src/index.ts\", \"./devtools\" → \"src/devtools\" */\nconst resolveSubpathInput = (exportPath: string): string => {\n if (exportPath === '.') return `${CONFIG.sourceDir}/index.ts`\n const subpath = exportPath.slice(2) // strip \"./\"\n return `${CONFIG.sourceDir}/${subpath}`\n}\n\n/** Extract build variants from a single export's condition object */\nconst parseConditions = (\n conditions: Record<string, any>,\n input?: string,\n): Record<string, any>[] => {\n const result: Record<string, any>[] = []\n const base = input ? { input } : {}\n\n if (conditions.import) {\n result.push({ file: conditions.import, ...BUILD_VARIANTS.module, ...base })\n }\n if (conditions.require) {\n result.push({\n file: conditions.require,\n format: 'cjs',\n env: 'development',\n platform: 'universal',\n ...base,\n })\n }\n if (conditions.node) {\n result.push({\n file: conditions.node,\n ...BUILD_VARIANTS.module,\n platform: 'node',\n ...base,\n })\n }\n if (conditions.default && !conditions.import) {\n result.push({ file: conditions.default, ...BUILD_VARIANTS.module, ...base })\n }\n\n return result\n}\n\n/** Parse subpath exports object into build variants */\nconst parseSubpathExports = (\n exportsOptions: Record<string, any>,\n): Record<string, any>[] => {\n const result: Record<string, any>[] = []\n\n for (const [exportPath, exportConfig] of Object.entries(exportsOptions)) {\n if (typeof exportConfig === 'string') {\n // Skip passthrough exports (e.g. \"./package.json\": \"./package.json\")\n if (!exportConfig.endsWith('.js') && !exportConfig.endsWith('.mjs')) {\n continue\n }\n result.push({\n file: exportConfig,\n input: resolveSubpathInput(exportPath),\n ...BUILD_VARIANTS.module,\n })\n } else if (typeof exportConfig === 'object' && exportConfig !== null) {\n // Skip exports without build conditions (import/require/node/default)\n if (\n !exportConfig.import &&\n !exportConfig.require &&\n !exportConfig.node &&\n !exportConfig.default\n ) {\n continue\n }\n const input = resolveSubpathInput(exportPath)\n result.push(...parseConditions(exportConfig, input))\n }\n }\n\n return result\n}\n\nconst getExportsOptions = () => {\n const exportsOptions = PKG.exports\n\n if (!exportsOptions) return []\n\n if (typeof exportsOptions === 'string') {\n return [{ file: PKG.exports, ...BUILD_VARIANTS.module }]\n }\n\n if (typeof exportsOptions === 'object') {\n return isSubpathExports(exportsOptions)\n ? parseSubpathExports(exportsOptions)\n : parseConditions(exportsOptions)\n }\n\n return []\n}\n\nconst createBasicBuildVariants = () => {\n let result: Record<string, any>[] = []\n\n if (isESModuleOnly) result = [...getExportsOptions()]\n\n Object.keys(BUILD_VARIANTS).forEach((key) => {\n const PKGOutDir = PKG[key]\n\n if (PKGOutDir) {\n const hasBrowserBuild = hasDifferentBrowserBuild(key)\n const hasNativeBuild = hasDifferentNativeBuild()\n\n // create a helper function for adding a build variant to an array\n const add = (props = {}) => {\n result.push({ ...BUILD_VARIANTS[key], file: PKGOutDir, ...props })\n }\n\n if (key === 'react-native') {\n // add a separate RN build only if output path differs from module path\n if (hasNativeBuild) {\n add()\n }\n } else if (hasBrowserBuild) {\n // if has a different browser build, set default platform to node\n // as there is going to be created a separate browser build as well\n add({ platform: 'node' })\n } else {\n add()\n }\n }\n })\n\n return result\n}\n\nconst createBrowserBuildVariants = () => {\n const result: Record<string, any>[] = []\n if (!PKG.browser) return result\n\n Object.entries(PKG.browser as Record<string, string>).forEach(\n ([key, value]) => {\n const source = key.substring(2) // strip './' from the beginning of path\n const output = value.substring(2) // strip './' from the beginning of path\n\n Object.keys(BUILD_VARIANTS).forEach((item) => {\n if (PKG[item] === source && source !== output) {\n result.push({\n ...BUILD_VARIANTS[item],\n file: output,\n platform: 'browser',\n })\n }\n })\n },\n )\n\n return result\n}\n\nconst createBuildPipeline = () => {\n if (Array.isArray(CONFIG.entries) && CONFIG.entries.length > 0) {\n return CONFIG.entries.map((entry: Record<string, string | undefined>) => ({\n format: entry.format || 'es',\n env: entry.env || 'development',\n platform: entry.platform || 'universal',\n file: entry.file,\n input: entry.input,\n }))\n }\n\n return [...createBasicBuildVariants(), ...createBrowserBuildVariants()]\n}\n\nexport default createBuildPipeline\n"]}
@@ -1,4 +1,4 @@
1
- import config, { buildAllDts, buildDts } from './config.js';
2
- import createBuildPipeline from './createBuildPipeline.js';
1
+ import config, { buildAllDts, buildDts } from "./config.js";
2
+ import createBuildPipeline from "./createBuildPipeline.js";
3
3
  export { buildAllDts, buildDts, config, createBuildPipeline };
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rolldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA","sourcesContent":["import config, { buildAllDts, buildDts } from './config.js'\nimport createBuildPipeline from './createBuildPipeline.js'\n\nexport { buildAllDts, buildDts, config, createBuildPipeline }\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rolldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA","sourcesContent":["import config, { buildAllDts, buildDts } from './config.ts'\nimport createBuildPipeline from './createBuildPipeline.ts'\n\nexport { buildAllDts, buildDts, config, createBuildPipeline }\n"]}
@@ -3,8 +3,8 @@ import { join } from 'node:path';
3
3
  import chalk from 'chalk';
4
4
  import { rimraf } from 'rimraf';
5
5
  import { rolldown } from 'rolldown';
6
- import { CONFIG, PKG } from '../config/index.js';
7
- import { buildAllDts, createBuildPipeline, config as rolldownConfig, } from '../rolldown/index.js';
6
+ import { CONFIG, PKG } from "../config/index.js";
7
+ import { buildAllDts, createBuildPipeline, config as rolldownConfig, } from "../rolldown/index.js";
8
8
  const { log } = console;
9
9
  const allBuilds = createBuildPipeline();
10
10
  const allBuildsCount = allBuilds.length;
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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","sourcesContent":["import { cpSync, mkdirSync, readdirSync, renameSync, statSync } from 'node:fs'\nimport { join } from 'node:path'\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\nimport { rolldown } from 'rolldown'\nimport { CONFIG, PKG } from '../config/index.js'\nimport {\n buildAllDts,\n createBuildPipeline,\n config as rolldownConfig,\n} from '../rolldown/index.js'\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\nconst createBuilds = async () => {\n let p = Promise.resolve()\n\n allBuilds.forEach((item: Record<string, any>) => {\n const { output, ...input } = rolldownConfig(item)\n const format = FORMAT_LABEL[output.format] || output.format\n p = p.then(() => {\n const start = performance.now()\n\n return build({ inputOptions: input, outputOptions: output })\n .then(() => {\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 .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 })\n })\n\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\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 absTempDir = join(process.cwd(), tempDir)\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(join(absTempDir, mapName), join(absFinalDir, `${entryName}.map`))\n } catch {\n // sourcemap may not exist\n }\n\n // Clean up temp directory\n rimraf.sync(absTempDir)\n}\n\nconst generateDeclarations = async () => {\n const dtsConfigs = buildAllDts()\n if (dtsConfigs.length === 0) return\n\n log(`\\n${dim('Generating')} declarations...`)\n\n for (const dtsFile of dtsConfigs) {\n const tscStart = performance.now()\n await buildDtsIsolated(dtsFile)\n\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\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 rimraf.sync(`${process.cwd()}/${CONFIG.outputDir}`)\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 { cpSync, mkdirSync, readdirSync, renameSync, statSync } from 'node:fs'\nimport { join } from 'node:path'\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\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\nconst createBuilds = async () => {\n let p = Promise.resolve()\n\n allBuilds.forEach((item: Record<string, any>) => {\n const { output, ...input } = rolldownConfig(item)\n const format = FORMAT_LABEL[output.format] || output.format\n p = p.then(() => {\n const start = performance.now()\n\n return build({ inputOptions: input, outputOptions: output })\n .then(() => {\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 .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 })\n })\n\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\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 absTempDir = join(process.cwd(), tempDir)\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(join(absTempDir, mapName), join(absFinalDir, `${entryName}.map`))\n } catch {\n // sourcemap may not exist\n }\n\n // Clean up temp directory\n rimraf.sync(absTempDir)\n}\n\nconst generateDeclarations = async () => {\n const dtsConfigs = buildAllDts()\n if (dtsConfigs.length === 0) return\n\n log(`\\n${dim('Generating')} declarations...`)\n\n for (const dtsFile of dtsConfigs) {\n const tscStart = performance.now()\n await buildDtsIsolated(dtsFile)\n\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\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 rimraf.sync(`${process.cwd()}/${CONFIG.outputDir}`)\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,3 +1,3 @@
1
- import { runBuild } from './scripts/build.js';
1
+ import { runBuild } from './scripts/build.ts';
2
2
  export { runBuild };
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -24,7 +24,7 @@ declare const rolldownConfig: ({ file, format, env, platform, input: entryInput,
24
24
  banner: any;
25
25
  footer: any;
26
26
  };
27
- external: any[];
27
+ external: (string | RegExp)[];
28
28
  treeshake: {
29
29
  moduleSideEffects: boolean;
30
30
  };
@@ -37,7 +37,7 @@ declare const createDtsConfig: (typesFilePath: string, inputFile: string) => {
37
37
  resolve: {
38
38
  extensions: any;
39
39
  };
40
- external: any[];
40
+ external: (string | RegExp)[];
41
41
  plugins: RolldownPlugin[];
42
42
  output: {
43
43
  dir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rolldown/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AA0E9C,QAAA,MAAM,cAAc,GAAI,qDAMrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;kDA6B0B,MAAM;;;;;;;;;;;;;CAmBrD,CAAA;AAED,QAAA,MAAM,eAAe,GAAI,eAAe,MAAM,EAAE,WAAW,MAAM;;;;;;;;;;;;;;;;;CA+BhE,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;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;;;;;;;;;;;;;;;;;CA6BhE,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,4 +1,4 @@
1
- import config, { buildAllDts, buildDts } from './config.js';
2
- import createBuildPipeline from './createBuildPipeline.js';
1
+ import config, { buildAllDts, buildDts } from './config.ts';
2
+ import createBuildPipeline from './createBuildPipeline.ts';
3
3
  export { buildAllDts, buildDts, config, createBuildPipeline };
4
4
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/tools-rolldown",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",