@vitus-labs/tools-rolldown 1.5.2-alpha.0 → 1.5.2-alpha.1

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.
File without changes
File without changes
@@ -19,13 +19,8 @@ const mapPlatform = (platform) => {
19
19
  return 'browser';
20
20
  return 'neutral';
21
21
  };
22
- const loadPlugins = ({ file, typesFilePath, }) => {
22
+ const loadPlugins = ({ file }) => {
23
23
  const plugins = [];
24
- if (CONFIG.typescript && typesFilePath) {
25
- plugins.push(...dts({
26
- tsconfig: 'tsconfig.json',
27
- }));
28
- }
29
24
  // generate visualised graphs in dist folder
30
25
  if (CONFIG.visualise) {
31
26
  const filePath = file.split('/');
@@ -59,10 +54,13 @@ const buildDefineOptions = (env, platform) => {
59
54
  }
60
55
  return defineOptions;
61
56
  };
62
- const rolldownConfig = ({ file, format, env, typesFilePath, platform, }) => {
57
+ const rolldownConfig = ({ file, format, env, platform, }) => {
63
58
  const extensions = defineExtensions(platform);
64
- const plugins = loadPlugins({ file, typesFilePath });
59
+ const plugins = loadPlugins({ file });
65
60
  const define = buildDefineOptions(env, platform);
61
+ const lastSlash = file.lastIndexOf('/');
62
+ const dir = lastSlash >= 0 ? file.substring(0, lastSlash) : '.';
63
+ const entryFileName = lastSlash >= 0 ? file.substring(lastSlash + 1) : file;
66
64
  const buildOutput = {
67
65
  input: CONFIG.sourceDir,
68
66
  platform: mapPlatform(platform),
@@ -72,7 +70,8 @@ const rolldownConfig = ({ file, format, env, typesFilePath, platform, }) => {
72
70
  },
73
71
  transform: define ? { define } : undefined,
74
72
  output: {
75
- file,
73
+ dir,
74
+ entryFileNames: entryFileName,
76
75
  format,
77
76
  globals: swapGlobals(CONFIG.globals),
78
77
  sourcemap: true,
@@ -86,5 +85,34 @@ const rolldownConfig = ({ file, format, env, typesFilePath, platform, }) => {
86
85
  };
87
86
  return buildOutput;
88
87
  };
88
+ const buildDts = () => {
89
+ const typesFilePath = PKG?.exports?.types || PKG.types || PKG.typings;
90
+ if (!CONFIG.typescript || !typesFilePath)
91
+ return null;
92
+ const lastSlash = typesFilePath.lastIndexOf('/');
93
+ const dir = lastSlash >= 0 ? typesFilePath.substring(0, lastSlash) : '.';
94
+ const entryFileName = lastSlash >= 0 ? typesFilePath.substring(lastSlash + 1) : typesFilePath;
95
+ return {
96
+ file: typesFilePath,
97
+ input: `${CONFIG.sourceDir}/index.ts`,
98
+ tsconfig: 'tsconfig.json',
99
+ resolve: {
100
+ extensions: CONFIG.extensions,
101
+ },
102
+ external: [...PKG.externalDependencies, ...CONFIG.external],
103
+ plugins: [
104
+ ...dts({ tsconfig: 'tsconfig.json' }),
105
+ ],
106
+ output: {
107
+ dir,
108
+ entryFileNames: entryFileName,
109
+ chunkFileNames: '[name].d.ts',
110
+ format: 'es',
111
+ sourcemap: false,
112
+ esModule: true,
113
+ },
114
+ };
115
+ };
89
116
  export default rolldownConfig;
117
+ export { buildDts };
90
118
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rolldown/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rolldown/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { PKG } from '../config/index.js';
2
2
  const isESModuleOnly = PKG.type === 'module';
3
- const typesFilePath = PKG?.exports?.types || PKG.types || PKG.typings;
4
3
  const hasDifferentNativeBuild = () => {
5
4
  return PKG['react-native'] !== PKG.module;
6
5
  };
@@ -126,15 +125,7 @@ const createBrowserBuildVariants = () => {
126
125
  return result;
127
126
  };
128
127
  const createBuildPipeline = () => {
129
- const result = [
130
- ...createBasicBuildVariants(),
131
- ...createBrowserBuildVariants(),
132
- ];
133
- // add generate typings for the first bundle only
134
- if (typesFilePath) {
135
- result[0] = { ...result[0], typesFilePath };
136
- }
137
- return result;
128
+ return [...createBasicBuildVariants(), ...createBrowserBuildVariants()];
138
129
  };
139
130
  export default createBuildPipeline;
140
131
  //# sourceMappingURL=createBuildPipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildPipeline.js","sourceRoot":"","sources":["../../src/rolldown/createBuildPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createBuildPipeline.js","sourceRoot":"","sources":["../../src/rolldown/createBuildPipeline.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import config from './config.js';
1
+ import config, { buildDts } from './config.js';
2
2
  import createBuildPipeline from './createBuildPipeline.js';
3
- export { createBuildPipeline, config };
3
+ export { createBuildPipeline, config, buildDts };
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,MAAM,aAAa,CAAA;AAChC,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rolldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,8 +1,10 @@
1
+ import { readdirSync, renameSync, statSync, unlinkSync, } from 'node:fs';
2
+ import { join } from 'node:path';
1
3
  import chalk from 'chalk';
2
4
  import { rimraf } from 'rimraf';
3
5
  import { rolldown } from 'rolldown';
4
6
  import { CONFIG, PKG } from '../config/index.js';
5
- import { createBuildPipeline, config as rolldownConfig, } from '../rolldown/index.js';
7
+ import { createBuildPipeline, config as rolldownConfig, buildDts, } from '../rolldown/index.js';
6
8
  const { log } = console;
7
9
  const allBuilds = createBuildPipeline();
8
10
  const allBuildsCount = allBuilds.length;
@@ -28,7 +30,7 @@ const createBuilds = async () => {
28
30
  const start = performance.now();
29
31
  return build({ inputOptions: input, outputOptions: output }).then(() => {
30
32
  const duration = Math.round(performance.now() - start);
31
- log(` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(output.file)} ${dim(`(${duration}ms)`)}`);
33
+ log(` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(`${output.dir}/${output.entryFileNames}`)} ${dim(`(${duration}ms)`)}`);
32
34
  });
33
35
  });
34
36
  });
@@ -45,6 +47,39 @@ const runBuild = async () => {
45
47
  rimraf.sync(`${process.cwd()}/${CONFIG.outputDir}`);
46
48
  log(`${dim('Building')} ${bold(String(allBuildsCount))} bundle${allBuildsCount > 1 ? 's' : ''}...\n`);
47
49
  await createBuilds();
50
+ const dtsFile = buildDts();
51
+ if (dtsFile) {
52
+ log(`\n${dim('Generating')} declarations...`);
53
+ const tscStart = performance.now();
54
+ const { output, file, ...input } = dtsFile;
55
+ await build({ inputOptions: input, outputOptions: output });
56
+ // rolldown-plugin-dts may code-split into entry + chunk where the entry
57
+ // is empty and the chunk has all declarations. Fix by replacing the entry
58
+ // with the chunk content.
59
+ const outDir = output.dir;
60
+ const entryName = output.entryFileNames;
61
+ const entryPath = join(outDir, entryName);
62
+ const allDts = readdirSync(outDir).filter((f) => f.endsWith('.d.ts') && f !== entryName);
63
+ if (allDts.length === 1 && allDts[0]) {
64
+ const chunkPath = join(outDir, allDts[0]);
65
+ const chunkSize = statSync(chunkPath).size;
66
+ const entrySize = statSync(entryPath).size;
67
+ if (chunkSize > entrySize) {
68
+ unlinkSync(entryPath);
69
+ renameSync(chunkPath, entryPath);
70
+ // also handle sourcemap
71
+ const chunkMap = `${chunkPath}.map`;
72
+ const entryMap = `${entryPath}.map`;
73
+ try {
74
+ unlinkSync(entryMap);
75
+ renameSync(chunkMap, entryMap);
76
+ }
77
+ catch { }
78
+ }
79
+ }
80
+ const tscDuration = Math.round(performance.now() - tscStart);
81
+ log(` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(file)} ${dim(`(${tscDuration}ms)`)}`);
82
+ }
48
83
  const total = Math.round(performance.now() - start);
49
84
  log(`\n${chalk.green('Done')} ${dim(`in ${total}ms`)}\n`);
50
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { RolldownPlugin } from 'rolldown';
2
- declare const rolldownConfig: ({ file, format, env, typesFilePath, platform, }: Record<string, any>) => {
2
+ declare const rolldownConfig: ({ file, format, env, platform, }: Record<string, any>) => {
3
3
  input: any;
4
4
  platform: "browser" | "node" | "neutral" | undefined;
5
5
  tsconfig: string | undefined;
@@ -10,7 +10,8 @@ declare const rolldownConfig: ({ file, format, env, typesFilePath, platform, }:
10
10
  define: Record<string, string>;
11
11
  } | undefined;
12
12
  output: {
13
- file: any;
13
+ dir: any;
14
+ entryFileNames: any;
14
15
  format: any;
15
16
  globals: Record<string, string>;
16
17
  sourcemap: boolean;
@@ -22,5 +23,24 @@ declare const rolldownConfig: ({ file, format, env, typesFilePath, platform, }:
22
23
  external: any[];
23
24
  plugins: RolldownPlugin[];
24
25
  };
26
+ declare const buildDts: () => {
27
+ file: any;
28
+ input: string;
29
+ tsconfig: string;
30
+ resolve: {
31
+ extensions: any;
32
+ };
33
+ external: any[];
34
+ plugins: RolldownPlugin[];
35
+ output: {
36
+ dir: any;
37
+ entryFileNames: any;
38
+ chunkFileNames: string;
39
+ format: "es";
40
+ sourcemap: boolean;
41
+ esModule: boolean;
42
+ };
43
+ } | null;
25
44
  export default rolldownConfig;
45
+ export { buildDts };
26
46
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rolldown/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAwF9C,QAAA,MAAM,cAAc,GAAI,iDAMrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;CA4BrB,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rolldown/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AA0E9C,QAAA,MAAM,cAAc,GAAI,kCAKrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAiCrB,CAAA;AAED,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;QA+Bb,CAAA;AAED,eAAe,cAAc,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildPipeline.d.ts","sourceRoot":"","sources":["../../../src/rolldown/createBuildPipeline.ts"],"names":[],"mappings":"AA4JA,QAAA,MAAM,mBAAmB,6BAYxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"createBuildPipeline.d.ts","sourceRoot":"","sources":["../../../src/rolldown/createBuildPipeline.ts"],"names":[],"mappings":"AA2JA,QAAA,MAAM,mBAAmB,6BAExB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
- import config from './config.js';
1
+ import config, { buildDts } from './config.js';
2
2
  import createBuildPipeline from './createBuildPipeline.js';
3
- export { createBuildPipeline, config };
3
+ export { createBuildPipeline, config, buildDts };
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rolldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rolldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.ts"],"names":[],"mappings":"AA4DA,QAAA,MAAM,QAAQ,qBAkBb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.ts"],"names":[],"mappings":"AAoEA,QAAA,MAAM,QAAQ,qBA0Db,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": "1.5.2-alpha.0",
3
+ "version": "1.5.2-alpha.1",
4
4
  "license": "MIT",
5
5
  "author": "Vit Bokisch <vit@bokisch.com>",
6
6
  "maintainers": [
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "dependencies": {
34
- "@vitus-labs/tools-core": "1.5.2-alpha.0",
34
+ "@vitus-labs/tools-core": "1.5.2-alpha.1",
35
35
  "chalk": "^5.6.2",
36
36
  "rimraf": "^6.1.2",
37
37
  "rolldown": "^1.0.0-rc.3",
@@ -40,8 +40,8 @@
40
40
  "rollup-plugin-visualizer": "^5.14.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@vitus-labs/tools-typescript": "1.5.2-alpha.0",
43
+ "@vitus-labs/tools-typescript": "1.5.2-alpha.1",
44
44
  "typescript": "^5.9.3"
45
45
  },
46
- "gitHead": "5b0b8c0a427559dff76158176367fd9b3588dc60"
46
+ "gitHead": "e8afc9e68bf91aac79cc87ea2aabd40565077686"
47
47
  }
@@ -25,23 +25,9 @@ const mapPlatform = (
25
25
  return 'neutral'
26
26
  }
27
27
 
28
- const loadPlugins = ({
29
- file,
30
- typesFilePath,
31
- }: {
32
- file: string
33
- typesFilePath?: string
34
- }) => {
28
+ const loadPlugins = ({ file }: { file: string }) => {
35
29
  const plugins: RolldownPlugin[] = []
36
30
 
37
- if (CONFIG.typescript && typesFilePath) {
38
- plugins.push(
39
- ...(dts({
40
- tsconfig: 'tsconfig.json',
41
- }) as RolldownPlugin[]),
42
- )
43
- }
44
-
45
31
  // generate visualised graphs in dist folder
46
32
  if (CONFIG.visualise) {
47
33
  const filePath = file.split('/')
@@ -91,13 +77,16 @@ const rolldownConfig = ({
91
77
  file,
92
78
  format,
93
79
  env,
94
- typesFilePath,
95
80
  platform,
96
81
  }: Record<string, any>) => {
97
82
  const extensions = defineExtensions(platform)
98
- const plugins = loadPlugins({ file, typesFilePath })
83
+ const plugins = loadPlugins({ file })
99
84
  const define = buildDefineOptions(env, platform)
100
85
 
86
+ const lastSlash = file.lastIndexOf('/')
87
+ const dir = lastSlash >= 0 ? file.substring(0, lastSlash) : '.'
88
+ const entryFileName = lastSlash >= 0 ? file.substring(lastSlash + 1) : file
89
+
101
90
  const buildOutput = {
102
91
  input: CONFIG.sourceDir,
103
92
  platform: mapPlatform(platform),
@@ -107,7 +96,8 @@ const rolldownConfig = ({
107
96
  },
108
97
  transform: define ? { define } : undefined,
109
98
  output: {
110
- file,
99
+ dir,
100
+ entryFileNames: entryFileName,
111
101
  format,
112
102
  globals: swapGlobals(CONFIG.globals),
113
103
  sourcemap: true,
@@ -123,4 +113,38 @@ const rolldownConfig = ({
123
113
  return buildOutput
124
114
  }
125
115
 
116
+ const buildDts = () => {
117
+ const typesFilePath =
118
+ PKG?.exports?.types || PKG.types || PKG.typings
119
+
120
+ if (!CONFIG.typescript || !typesFilePath) return null
121
+
122
+ const lastSlash = typesFilePath.lastIndexOf('/')
123
+ const dir = lastSlash >= 0 ? typesFilePath.substring(0, lastSlash) : '.'
124
+ const entryFileName =
125
+ lastSlash >= 0 ? typesFilePath.substring(lastSlash + 1) : typesFilePath
126
+
127
+ return {
128
+ file: typesFilePath,
129
+ input: `${CONFIG.sourceDir}/index.ts`,
130
+ tsconfig: 'tsconfig.json',
131
+ resolve: {
132
+ extensions: CONFIG.extensions,
133
+ },
134
+ external: [...PKG.externalDependencies, ...CONFIG.external],
135
+ plugins: [
136
+ ...(dts({ tsconfig: 'tsconfig.json' }) as RolldownPlugin[]),
137
+ ],
138
+ output: {
139
+ dir,
140
+ entryFileNames: entryFileName,
141
+ chunkFileNames: '[name].d.ts',
142
+ format: 'es' as const,
143
+ sourcemap: false,
144
+ esModule: true,
145
+ },
146
+ }
147
+ }
148
+
126
149
  export default rolldownConfig
150
+ export { buildDts }
@@ -1,7 +1,6 @@
1
1
  import { PKG } from '../config/index.js'
2
2
 
3
3
  const isESModuleOnly = PKG.type === 'module'
4
- const typesFilePath = PKG?.exports?.types || PKG.types || PKG.typings
5
4
 
6
5
  const hasDifferentNativeBuild = () => {
7
6
  return PKG['react-native'] !== PKG.module
@@ -155,17 +154,7 @@ const createBrowserBuildVariants = () => {
155
154
  }
156
155
 
157
156
  const createBuildPipeline = () => {
158
- const result = [
159
- ...createBasicBuildVariants(),
160
- ...createBrowserBuildVariants(),
161
- ]
162
-
163
- // add generate typings for the first bundle only
164
- if (typesFilePath) {
165
- result[0] = { ...result[0], typesFilePath }
166
- }
167
-
168
- return result
157
+ return [...createBasicBuildVariants(), ...createBrowserBuildVariants()]
169
158
  }
170
159
 
171
160
  export default createBuildPipeline
@@ -1,4 +1,4 @@
1
- import config from './config.js'
1
+ import config, { buildDts } from './config.js'
2
2
  import createBuildPipeline from './createBuildPipeline.js'
3
3
 
4
- export { createBuildPipeline, config }
4
+ export { createBuildPipeline, config, buildDts }
@@ -1,3 +1,10 @@
1
+ import {
2
+ readdirSync,
3
+ renameSync,
4
+ statSync,
5
+ unlinkSync,
6
+ } from 'node:fs'
7
+ import { join } from 'node:path'
1
8
  import chalk from 'chalk'
2
9
  import { rimraf } from 'rimraf'
3
10
  import { rolldown } from 'rolldown'
@@ -5,6 +12,7 @@ import { CONFIG, PKG } from '../config/index.js'
5
12
  import {
6
13
  createBuildPipeline,
7
14
  config as rolldownConfig,
15
+ buildDts,
8
16
  } from '../rolldown/index.js'
9
17
 
10
18
  const { log } = console
@@ -45,7 +53,7 @@ const createBuilds = async () => {
45
53
  return build({ inputOptions: input, outputOptions: output }).then(() => {
46
54
  const duration = Math.round(performance.now() - start)
47
55
  log(
48
- ` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(output.file)} ${dim(`(${duration}ms)`)}`,
56
+ ` ${chalk.green('+')} ${bold(format)} ${dim('->')} ${dim(`${output.dir}/${output.entryFileNames}`)} ${dim(`(${duration}ms)`)}`,
49
57
  )
50
58
  })
51
59
  })
@@ -74,6 +82,46 @@ const runBuild = async () => {
74
82
 
75
83
  await createBuilds()
76
84
 
85
+ const dtsFile = buildDts()
86
+ if (dtsFile) {
87
+ log(`\n${dim('Generating')} declarations...`)
88
+ const tscStart = performance.now()
89
+
90
+ const { output, file, ...input } = dtsFile
91
+ await build({ inputOptions: input, outputOptions: output })
92
+
93
+ // rolldown-plugin-dts may code-split into entry + chunk where the entry
94
+ // is empty and the chunk has all declarations. Fix by replacing the entry
95
+ // with the chunk content.
96
+ const outDir = output.dir as string
97
+ const entryName = output.entryFileNames as string
98
+ const entryPath = join(outDir, entryName)
99
+ const allDts = readdirSync(outDir).filter(
100
+ (f) => f.endsWith('.d.ts') && f !== entryName,
101
+ )
102
+
103
+ if (allDts.length === 1 && allDts[0]) {
104
+ const chunkPath = join(outDir, allDts[0])
105
+ const chunkSize = statSync(chunkPath).size
106
+ const entrySize = statSync(entryPath).size
107
+
108
+ if (chunkSize > entrySize) {
109
+ unlinkSync(entryPath)
110
+ renameSync(chunkPath, entryPath)
111
+ // also handle sourcemap
112
+ const chunkMap = `${chunkPath}.map`
113
+ const entryMap = `${entryPath}.map`
114
+ try {
115
+ unlinkSync(entryMap)
116
+ renameSync(chunkMap, entryMap)
117
+ } catch {}
118
+ }
119
+ }
120
+
121
+ const tscDuration = Math.round(performance.now() - tscStart)
122
+ log(` ${chalk.green('+')} ${bold('DTS')} ${dim('->')} ${dim(file)} ${dim(`(${tscDuration}ms)`)}`)
123
+ }
124
+
77
125
  const total = Math.round(performance.now() - start)
78
126
  log(`\n${chalk.green('Done')} ${dim(`in ${total}ms`)}\n`)
79
127
  }