@vitus-labs/tools-rolldown 1.5.2-alpha.5 → 1.6.1-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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/tools-rolldown",
3
- "version": "1.5.2-alpha.5+7cb1104",
3
+ "version": "1.6.1-alpha.1+46f56b4",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,13 +30,14 @@
30
30
  },
31
31
  "scripts": {
32
32
  "prepublish": "bun run build",
33
- "build": "tsc"
33
+ "build": "tsc",
34
+ "typecheck": "tsc --noEmit"
34
35
  },
35
36
  "publishConfig": {
36
37
  "access": "public"
37
38
  },
38
39
  "dependencies": {
39
- "@vitus-labs/tools-core": "1.5.2-alpha.5+7cb1104",
40
+ "@vitus-labs/tools-core": "1.6.1-alpha.1+46f56b4",
40
41
  "chalk": "^5.6.2",
41
42
  "rimraf": "^6.1.2",
42
43
  "rolldown": "^1.0.0-rc.3",
@@ -45,8 +46,8 @@
45
46
  "rollup-plugin-visualizer": "^6.0.5"
46
47
  },
47
48
  "devDependencies": {
48
- "@vitus-labs/tools-typescript": "1.5.2-alpha.5+7cb1104",
49
+ "@vitus-labs/tools-typescript": "1.6.1-alpha.1+46f56b4",
49
50
  "typescript": "^5.9.3"
50
51
  },
51
- "gitHead": "7cb1104b7823492e91468cac2bb8f117fcb9d5fd"
52
+ "gitHead": "46f56b4f5e17eaee9b7b8d454ba1f63c4d55eec9"
52
53
  }
package/tsconfig.json CHANGED
@@ -11,5 +11,5 @@
11
11
  }
12
12
  },
13
13
  "include": ["typings", "src"],
14
- "exclude": ["node_modules", "__stories__", "lib"]
14
+ "exclude": ["node_modules", "__stories__", "lib", "**/*.test.ts"]
15
15
  }
@@ -1,42 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import config from './baseConfig.js';
3
- describe('baseConfig', () => {
4
- it('should have correct source and output directories', () => {
5
- expect(config.sourceDir).toBe('src');
6
- expect(config.outputDir).toBe('lib');
7
- expect(config.typesDir).toBe('lib/types');
8
- });
9
- it('should have typescript enabled by default', () => {
10
- expect(config.typescript).toBe(true);
11
- });
12
- it('should have replaceGlobals enabled', () => {
13
- expect(config.replaceGlobals).toBe(true);
14
- });
15
- it('should define file extensions', () => {
16
- expect(config.extensions).toContain('.ts');
17
- expect(config.extensions).toContain('.tsx');
18
- expect(config.extensions).toContain('.js');
19
- expect(config.extensions).toContain('.json');
20
- });
21
- it('should have visualise config', () => {
22
- expect(config.visualise).toEqual({
23
- template: 'network',
24
- gzipSize: true,
25
- outputDir: 'analysis',
26
- });
27
- });
28
- it('should have filesize enabled', () => {
29
- expect(config.filesize).toBe(true);
30
- });
31
- it('should have default globals', () => {
32
- expect(config.globals).toHaveProperty('react', 'React');
33
- });
34
- it('should have external dependencies', () => {
35
- expect(config.external).toContain('react/jsx-runtime');
36
- });
37
- it('should have exclude patterns', () => {
38
- expect(config.exclude).toContain('node_modules/**');
39
- expect(config.exclude).toContain('**/__tests__/**');
40
- });
41
- });
42
- //# sourceMappingURL=baseConfig.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseConfig.test.js","sourceRoot":"","sources":["../../src/config/baseConfig.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,UAAU;SACtB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,278 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- vi.mock('rolldown-plugin-dts', () => ({
3
- dts: vi.fn(() => [{ name: 'mock-dts' }]),
4
- }));
5
- vi.mock('rollup-plugin-filesize', () => ({
6
- default: vi.fn(() => ({ name: 'mock-filesize' })),
7
- }));
8
- vi.mock('rollup-plugin-visualizer', () => ({
9
- visualizer: vi.fn(() => ({ name: 'mock-visualizer' })),
10
- }));
11
- vi.mock('@vitus-labs/tools-core', () => ({
12
- swapGlobals: (globals) => Object.fromEntries(Object.entries(globals).map(([k, v]) => [v, k])),
13
- }));
14
- const { mockConfig, mockPKG } = vi.hoisted(() => ({
15
- mockConfig: {
16
- sourceDir: 'src',
17
- outputDir: 'lib',
18
- typesDir: 'lib/types',
19
- extensions: ['.ts', '.tsx', '.js'],
20
- typescript: true,
21
- replaceGlobals: true,
22
- visualise: { template: 'network', gzipSize: true, outputDir: 'analysis' },
23
- filesize: true,
24
- external: ['react/jsx-runtime'],
25
- globals: { react: 'React' },
26
- },
27
- mockPKG: {
28
- name: '@test/pkg',
29
- version: '1.0.0',
30
- bundleName: 'testPkg',
31
- externalDependencies: ['react'],
32
- exports: { types: './lib/index.d.ts', import: './lib/index.js' },
33
- },
34
- }));
35
- vi.mock('../config/index.js', () => ({
36
- CONFIG: mockConfig,
37
- PKG: mockPKG,
38
- PLATFORMS: ['browser', 'node', 'web', 'native'],
39
- }));
40
- import rolldownConfig, { buildDts } from './config.js';
41
- const defaultConfig = { ...mockConfig };
42
- const defaultPKG = { ...mockPKG };
43
- describe('rolldownConfig', () => {
44
- beforeEach(() => {
45
- Object.assign(mockConfig, defaultConfig);
46
- Object.assign(mockPKG, defaultPKG);
47
- });
48
- it('should create a valid ES module build config', () => {
49
- const config = rolldownConfig({
50
- file: 'lib/index.js',
51
- format: 'es',
52
- env: 'development',
53
- platform: 'universal',
54
- });
55
- expect(config.input).toBe('src');
56
- expect(config.output.format).toBe('es');
57
- expect(config.output.sourcemap).toBe(true);
58
- expect(config.output.esModule).toBe(true);
59
- expect(config.external).toContain('react');
60
- expect(config.external).toContain('react/jsx-runtime');
61
- });
62
- it('should set platform to node for node builds', () => {
63
- const config = rolldownConfig({
64
- file: 'lib/index.cjs',
65
- format: 'cjs',
66
- env: 'development',
67
- platform: 'node',
68
- });
69
- expect(config.platform).toBe('node');
70
- expect(config.output.exports).toBe('named');
71
- });
72
- it('should set platform to browser for browser builds', () => {
73
- const config = rolldownConfig({
74
- file: 'lib/index.js',
75
- format: 'es',
76
- env: 'development',
77
- platform: 'browser',
78
- });
79
- expect(config.platform).toBe('browser');
80
- });
81
- it('should set platform to neutral for unknown platforms', () => {
82
- const config = rolldownConfig({
83
- file: 'lib/index.js',
84
- format: 'es',
85
- env: 'development',
86
- platform: 'universal',
87
- });
88
- expect(config.platform).toBe('neutral');
89
- });
90
- it('should add platform-specific extensions for known platforms', () => {
91
- const config = rolldownConfig({
92
- file: 'lib/index.js',
93
- format: 'es',
94
- env: 'development',
95
- platform: 'browser',
96
- });
97
- expect(config.resolve.extensions).toContain('.browser.ts');
98
- expect(config.resolve.extensions).toContain('.ts');
99
- });
100
- it('should not add platform extensions for unknown platforms', () => {
101
- const config = rolldownConfig({
102
- file: 'lib/index.js',
103
- format: 'es',
104
- env: 'development',
105
- platform: 'universal',
106
- });
107
- expect(config.resolve.extensions).not.toContain('.universal.ts');
108
- expect(config.resolve.extensions).toContain('.ts');
109
- });
110
- it('should set name for UMD format', () => {
111
- const config = rolldownConfig({
112
- file: 'lib/index.umd.js',
113
- format: 'umd',
114
- env: 'development',
115
- platform: 'universal',
116
- });
117
- expect(config.output.name).toBe('testPkg');
118
- expect(config.output.exports).toBe('named');
119
- });
120
- it('should add define options with replaceGlobals', () => {
121
- const config = rolldownConfig({
122
- file: 'lib/index.js',
123
- format: 'es',
124
- env: 'development',
125
- platform: 'node',
126
- });
127
- expect(config.transform?.define?.__VERSION__).toBe('"1.0.0"');
128
- expect(config.transform?.define?.__NODE__).toBe('true');
129
- });
130
- it('should add process.env.NODE_ENV for production builds', () => {
131
- const config = rolldownConfig({
132
- file: 'lib/index.js',
133
- format: 'es',
134
- env: 'production',
135
- platform: 'universal',
136
- });
137
- expect(config.transform?.define?.['process.env.NODE_ENV']).toBe('"production"');
138
- expect(config.output.minify).toBe(true);
139
- });
140
- it('should not minify development builds', () => {
141
- const config = rolldownConfig({
142
- file: 'lib/index.js',
143
- format: 'es',
144
- env: 'development',
145
- platform: 'universal',
146
- });
147
- expect(config.output.minify).toBe(false);
148
- });
149
- it('should skip define options when replaceGlobals is false', () => {
150
- mockConfig.replaceGlobals = false;
151
- const config = rolldownConfig({
152
- file: 'lib/index.js',
153
- format: 'es',
154
- env: 'development',
155
- platform: 'universal',
156
- });
157
- expect(config.transform).toBeUndefined();
158
- });
159
- it('should skip visualizer when visualise is false', () => {
160
- mockConfig.visualise = false;
161
- const config = rolldownConfig({
162
- file: 'lib/index.js',
163
- format: 'es',
164
- env: 'development',
165
- platform: 'universal',
166
- });
167
- const hasVisualizer = config.plugins.some((p) => p?.name === 'mock-visualizer');
168
- expect(hasVisualizer).toBe(false);
169
- });
170
- it('should skip filesize when filesize is false', () => {
171
- mockConfig.filesize = false;
172
- const config = rolldownConfig({
173
- file: 'lib/index.js',
174
- format: 'es',
175
- env: 'development',
176
- platform: 'universal',
177
- });
178
- const hasFilesize = config.plugins.some((p) => p?.name === 'mock-filesize');
179
- expect(hasFilesize).toBe(false);
180
- });
181
- it('should set tsconfig when typescript is enabled', () => {
182
- const config = rolldownConfig({
183
- file: 'lib/index.js',
184
- format: 'es',
185
- env: 'development',
186
- platform: 'universal',
187
- });
188
- expect(config.tsconfig).toBe('tsconfig.json');
189
- });
190
- it('should skip tsconfig when typescript is disabled', () => {
191
- mockConfig.typescript = false;
192
- const config = rolldownConfig({
193
- file: 'lib/index.js',
194
- format: 'es',
195
- env: 'development',
196
- platform: 'universal',
197
- });
198
- expect(config.tsconfig).toBeUndefined();
199
- });
200
- it('should swap globals in output', () => {
201
- const config = rolldownConfig({
202
- file: 'lib/index.js',
203
- format: 'es',
204
- env: 'development',
205
- platform: 'universal',
206
- });
207
- expect(config.output.globals).toEqual({ React: 'react' });
208
- });
209
- it('should set correct dir and entryFileNames from file path', () => {
210
- const config = rolldownConfig({
211
- file: 'lib/esm/index.js',
212
- format: 'es',
213
- env: 'development',
214
- platform: 'universal',
215
- });
216
- expect(config.output.dir).toBe('lib/esm');
217
- expect(config.output.entryFileNames).toBe('index.js');
218
- });
219
- it('should handle file path without slash', () => {
220
- const config = rolldownConfig({
221
- file: 'bundle.js',
222
- format: 'es',
223
- env: 'development',
224
- platform: 'universal',
225
- });
226
- expect(config.output.dir).toBe('.');
227
- expect(config.output.entryFileNames).toBe('bundle.js');
228
- });
229
- });
230
- describe('buildDts', () => {
231
- beforeEach(() => {
232
- Object.assign(mockConfig, defaultConfig);
233
- Object.assign(mockPKG, defaultPKG);
234
- });
235
- it('should return DTS config when typescript and types are available', () => {
236
- const result = buildDts();
237
- expect(result).not.toBeNull();
238
- expect(result?.file).toBe('./lib/index.d.ts');
239
- expect(result?.input).toBe('src/index.ts');
240
- expect(result?.tsconfig).toBe('tsconfig.json');
241
- expect(result?.output.format).toBe('es');
242
- });
243
- it('should return null when typescript is disabled', () => {
244
- mockConfig.typescript = false;
245
- expect(buildDts()).toBeNull();
246
- });
247
- it('should return null when no types path exists', () => {
248
- mockPKG.exports = { import: './lib/index.js' };
249
- delete mockPKG.types;
250
- delete mockPKG.typings;
251
- expect(buildDts()).toBeNull();
252
- });
253
- it('should use PKG.types as fallback', () => {
254
- mockPKG.exports = {};
255
- mockPKG.types = './lib/types.d.ts';
256
- const result = buildDts();
257
- expect(result?.file).toBe('./lib/types.d.ts');
258
- });
259
- it('should use PKG.typings as final fallback', () => {
260
- mockPKG.exports = {};
261
- delete mockPKG.types;
262
- mockPKG.typings = './lib/typings.d.ts';
263
- const result = buildDts();
264
- expect(result?.file).toBe('./lib/typings.d.ts');
265
- });
266
- it('should include external dependencies', () => {
267
- const result = buildDts();
268
- expect(result?.external).toContain('react');
269
- expect(result?.external).toContain('react/jsx-runtime');
270
- });
271
- it('should handle types path without slash', () => {
272
- mockPKG.exports = { types: 'index.d.ts' };
273
- const result = buildDts();
274
- expect(result?.output.dir).toBe('.');
275
- expect(result?.output.entryFileNames).toBe('index.d.ts');
276
- });
277
- });
278
- //# sourceMappingURL=config.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/rolldown/config.test.ts"],"names":[],"mappings":"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"}
@@ -1,186 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- const { mockPKG } = vi.hoisted(() => ({
3
- mockPKG: {
4
- type: 'commonjs',
5
- name: '@test/pkg',
6
- main: 'lib/index.cjs',
7
- module: 'lib/index.js',
8
- exports: { import: './lib/index.js', require: './lib/index.cjs' },
9
- },
10
- }));
11
- vi.mock('../config/index.js', () => ({
12
- PKG: mockPKG,
13
- CONFIG: {},
14
- PLATFORMS: ['browser', 'node', 'web', 'native'],
15
- }));
16
- describe('createBuildPipeline', () => {
17
- const defaultPKG = { ...mockPKG };
18
- beforeEach(() => {
19
- Object.assign(mockPKG, defaultPKG);
20
- // Remove any extra keys added by specific tests
21
- for (const key of Object.keys(mockPKG)) {
22
- if (!(key in defaultPKG))
23
- delete mockPKG[key];
24
- }
25
- });
26
- describe('with CJS package', () => {
27
- let createBuildPipeline;
28
- beforeEach(async () => {
29
- vi.resetModules();
30
- mockPKG.type = 'commonjs';
31
- const mod = await import('./createBuildPipeline.js');
32
- createBuildPipeline = mod.default;
33
- });
34
- it('should create builds from package.json fields', () => {
35
- const builds = createBuildPipeline();
36
- expect(builds.length).toBeGreaterThan(0);
37
- const mainBuild = builds.find((b) => b.file === 'lib/index.cjs');
38
- expect(mainBuild).toBeDefined();
39
- expect(mainBuild.format).toBe('cjs');
40
- });
41
- it('should include module build as ES format', () => {
42
- const builds = createBuildPipeline();
43
- const moduleBuild = builds.find((b) => b.file === 'lib/index.js');
44
- expect(moduleBuild).toBeDefined();
45
- expect(moduleBuild.format).toBe('es');
46
- });
47
- });
48
- describe('with ES module package', () => {
49
- let createBuildPipeline;
50
- beforeEach(async () => {
51
- vi.resetModules();
52
- mockPKG.type = 'module';
53
- const mod = await import('./createBuildPipeline.js');
54
- createBuildPipeline = mod.default;
55
- });
56
- it('should use ES format for main build', () => {
57
- const builds = createBuildPipeline();
58
- const mainBuild = builds.find((b) => b.file === 'lib/index.cjs');
59
- if (mainBuild) {
60
- expect(mainBuild.format).toBe('es');
61
- }
62
- });
63
- it('should include exports options', () => {
64
- const builds = createBuildPipeline();
65
- expect(builds.length).toBeGreaterThan(0);
66
- });
67
- });
68
- describe('with string exports', () => {
69
- let createBuildPipeline;
70
- beforeEach(async () => {
71
- vi.resetModules();
72
- mockPKG.type = 'module';
73
- mockPKG.exports = './lib/index.js';
74
- const mod = await import('./createBuildPipeline.js');
75
- createBuildPipeline = mod.default;
76
- });
77
- it('should handle string exports', () => {
78
- const builds = createBuildPipeline();
79
- const exportBuild = builds.find((b) => b.file === './lib/index.js');
80
- expect(exportBuild).toBeDefined();
81
- expect(exportBuild.format).toBe('es');
82
- });
83
- });
84
- describe('with object exports having node field', () => {
85
- let createBuildPipeline;
86
- beforeEach(async () => {
87
- vi.resetModules();
88
- mockPKG.type = 'module';
89
- mockPKG.exports = {
90
- import: './lib/index.js',
91
- require: './lib/index.cjs',
92
- node: './lib/node.js',
93
- default: './lib/default.js',
94
- };
95
- const mod = await import('./createBuildPipeline.js');
96
- createBuildPipeline = mod.default;
97
- });
98
- it('should include node and default exports', () => {
99
- const builds = createBuildPipeline();
100
- const nodeBuild = builds.find((b) => b.file === './lib/node.js');
101
- expect(nodeBuild).toBeDefined();
102
- expect(nodeBuild.platform).toBe('node');
103
- const defaultBuild = builds.find((b) => b.file === './lib/default.js');
104
- expect(defaultBuild).toBeDefined();
105
- });
106
- });
107
- describe('with no exports', () => {
108
- let createBuildPipeline;
109
- beforeEach(async () => {
110
- vi.resetModules();
111
- mockPKG.type = 'module';
112
- delete mockPKG.exports;
113
- const mod = await import('./createBuildPipeline.js');
114
- createBuildPipeline = mod.default;
115
- });
116
- it('should return builds based on main/module fields only', () => {
117
- const builds = createBuildPipeline();
118
- expect(builds.length).toBeGreaterThan(0);
119
- });
120
- });
121
- describe('with react-native build', () => {
122
- let createBuildPipeline;
123
- beforeEach(async () => {
124
- vi.resetModules();
125
- mockPKG.type = 'commonjs';
126
- mockPKG['react-native'] = 'lib/native.js';
127
- mockPKG.module = 'lib/index.js';
128
- const mod = await import('./createBuildPipeline.js');
129
- createBuildPipeline = mod.default;
130
- });
131
- it('should add native build when path differs from module', () => {
132
- const builds = createBuildPipeline();
133
- const nativeBuild = builds.find((b) => b.platform === 'native');
134
- expect(nativeBuild).toBeDefined();
135
- expect(nativeBuild.file).toBe('lib/native.js');
136
- });
137
- });
138
- describe('with browser-specific builds', () => {
139
- let createBuildPipeline;
140
- beforeEach(async () => {
141
- vi.resetModules();
142
- mockPKG.type = 'commonjs';
143
- mockPKG.main = 'lib/index.cjs';
144
- mockPKG.module = 'lib/index.js';
145
- // browser remaps module output — hasDifferentBrowserBuild('main') returns true
146
- // because source ('lib/index.js') !== PKG['main'] ('lib/index.cjs')
147
- mockPKG.browser = {
148
- './lib/index.js': './lib/browser.js',
149
- };
150
- const mod = await import('./createBuildPipeline.js');
151
- createBuildPipeline = mod.default;
152
- });
153
- it('should create browser-specific build variants', () => {
154
- const builds = createBuildPipeline();
155
- const browserBuild = builds.find((b) => b.platform === 'browser');
156
- expect(browserBuild).toBeDefined();
157
- expect(browserBuild.file).toBe('lib/browser.js');
158
- });
159
- it('should set node platform for main build when browser variant exists', () => {
160
- const builds = createBuildPipeline();
161
- const nodeBuild = builds.find((b) => b.file === 'lib/index.cjs' && b.platform === 'node');
162
- expect(nodeBuild).toBeDefined();
163
- });
164
- });
165
- describe('with UMD builds', () => {
166
- let createBuildPipeline;
167
- beforeEach(async () => {
168
- vi.resetModules();
169
- mockPKG.type = 'commonjs';
170
- mockPKG['umd:main'] = 'lib/index.umd.js';
171
- mockPKG.unpkg = 'lib/index.umd.min.js';
172
- const mod = await import('./createBuildPipeline.js');
173
- createBuildPipeline = mod.default;
174
- });
175
- it('should include UMD build variants', () => {
176
- const builds = createBuildPipeline();
177
- const umdDev = builds.find((b) => b.file === 'lib/index.umd.js');
178
- expect(umdDev).toBeDefined();
179
- expect(umdDev.format).toBe('umd');
180
- const umdProd = builds.find((b) => b.file === 'lib/index.umd.min.js');
181
- expect(umdProd).toBeDefined();
182
- expect(umdProd.env).toBe('production');
183
- });
184
- });
185
- });
186
- //# sourceMappingURL=createBuildPipeline.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBuildPipeline.test.js","sourceRoot":"","sources":["../../src/rolldown/createBuildPipeline.test.ts"],"names":[],"mappings":"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"}
@@ -1,211 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- const { mockRolldown, mockBundleWrite, mockBundleClose, mockReaddirSync, mockCreateBuildPipeline, mockRolldownConfig, mockBuildDts, } = vi.hoisted(() => ({
3
- mockRolldown: vi.fn(),
4
- mockBundleWrite: vi.fn(),
5
- mockBundleClose: vi.fn(),
6
- mockReaddirSync: vi.fn(),
7
- mockCreateBuildPipeline: vi.fn(),
8
- mockRolldownConfig: vi.fn(),
9
- mockBuildDts: vi.fn(),
10
- }));
11
- vi.mock('rolldown', () => ({ rolldown: mockRolldown }));
12
- vi.mock('rimraf', () => ({ rimraf: { sync: vi.fn() } }));
13
- vi.mock('node:fs', () => ({
14
- readdirSync: mockReaddirSync,
15
- renameSync: vi.fn(),
16
- statSync: vi.fn(),
17
- unlinkSync: vi.fn(),
18
- }));
19
- vi.mock('../config/index.js', () => ({
20
- CONFIG: { outputDir: 'lib' },
21
- PKG: { name: '@test/pkg', version: '1.0.0' },
22
- }));
23
- vi.mock('../rolldown/index.js', () => ({
24
- createBuildPipeline: mockCreateBuildPipeline,
25
- config: mockRolldownConfig,
26
- buildDts: mockBuildDts,
27
- }));
28
- describe('build', () => {
29
- beforeEach(() => {
30
- vi.clearAllMocks();
31
- mockBundleWrite.mockResolvedValue(undefined);
32
- mockBundleClose.mockResolvedValue(undefined);
33
- mockRolldown.mockResolvedValue({
34
- write: mockBundleWrite,
35
- close: mockBundleClose,
36
- });
37
- mockReaddirSync.mockReturnValue([]);
38
- mockCreateBuildPipeline.mockReturnValue([
39
- {
40
- file: 'lib/index.js',
41
- format: 'es',
42
- env: 'development',
43
- platform: 'universal',
44
- },
45
- ]);
46
- mockRolldownConfig.mockImplementation((item) => ({
47
- input: 'src',
48
- output: {
49
- dir: 'lib',
50
- entryFileNames: 'index.js',
51
- format: item.format,
52
- },
53
- }));
54
- mockBuildDts.mockReturnValue(null);
55
- });
56
- it('should execute build pipeline successfully', async () => {
57
- vi.resetModules();
58
- const { runBuild } = await import('./build.js');
59
- await runBuild();
60
- expect(mockRolldown).toHaveBeenCalled();
61
- expect(mockBundleWrite).toHaveBeenCalled();
62
- expect(mockBundleClose).toHaveBeenCalled();
63
- });
64
- it('should generate DTS when buildDts returns config', async () => {
65
- mockBuildDts.mockReturnValue({
66
- file: './lib/index.d.ts',
67
- input: 'src/index.ts',
68
- output: {
69
- dir: 'lib',
70
- entryFileNames: 'index.d.ts',
71
- format: 'es',
72
- },
73
- });
74
- vi.resetModules();
75
- const { runBuild } = await import('./build.js');
76
- vi.clearAllMocks();
77
- // Re-setup after clear
78
- mockRolldown.mockResolvedValue({
79
- write: mockBundleWrite,
80
- close: mockBundleClose,
81
- });
82
- mockBundleWrite.mockResolvedValue(undefined);
83
- mockBundleClose.mockResolvedValue(undefined);
84
- mockReaddirSync.mockReturnValue([]);
85
- mockRolldownConfig.mockImplementation((item) => ({
86
- input: 'src',
87
- output: {
88
- dir: 'lib',
89
- entryFileNames: 'index.js',
90
- format: item.format,
91
- },
92
- }));
93
- mockBuildDts.mockReturnValue({
94
- file: './lib/index.d.ts',
95
- input: 'src/index.ts',
96
- output: {
97
- dir: 'lib',
98
- entryFileNames: 'index.d.ts',
99
- format: 'es',
100
- },
101
- });
102
- await runBuild();
103
- // main build + DTS build = 2 rolldown calls
104
- expect(mockRolldown).toHaveBeenCalledTimes(2);
105
- });
106
- it('should handle DTS chunk consolidation', async () => {
107
- mockBuildDts.mockReturnValue({
108
- file: './lib/index.d.ts',
109
- input: 'src/index.ts',
110
- output: {
111
- dir: 'lib',
112
- entryFileNames: 'index.d.ts',
113
- format: 'es',
114
- },
115
- });
116
- vi.resetModules();
117
- const { runBuild } = await import('./build.js');
118
- const { statSync, unlinkSync, renameSync } = await import('node:fs');
119
- vi.clearAllMocks();
120
- // Re-setup
121
- mockRolldown.mockResolvedValue({
122
- write: mockBundleWrite,
123
- close: mockBundleClose,
124
- });
125
- mockBundleWrite.mockResolvedValue(undefined);
126
- mockBundleClose.mockResolvedValue(undefined);
127
- mockRolldownConfig.mockImplementation((item) => ({
128
- input: 'src',
129
- output: {
130
- dir: 'lib',
131
- entryFileNames: 'index.js',
132
- format: item.format,
133
- },
134
- }));
135
- mockBuildDts.mockReturnValue({
136
- file: './lib/index.d.ts',
137
- input: 'src/index.ts',
138
- output: {
139
- dir: 'lib',
140
- entryFileNames: 'index.d.ts',
141
- format: 'es',
142
- },
143
- });
144
- mockReaddirSync.mockReturnValue(['chunk-abc.d.ts']);
145
- vi.mocked(statSync).mockImplementation((p) => {
146
- if (String(p).includes('chunk'))
147
- return { size: 1000 };
148
- return { size: 10 };
149
- });
150
- await runBuild();
151
- expect(unlinkSync).toHaveBeenCalled();
152
- expect(renameSync).toHaveBeenCalled();
153
- });
154
- it('should handle build failure gracefully', async () => {
155
- vi.resetModules();
156
- const { runBuild } = await import('./build.js');
157
- vi.clearAllMocks();
158
- const buildError = new Error('rolldown failed');
159
- mockRolldown.mockRejectedValue(buildError);
160
- mockReaddirSync.mockReturnValue([]);
161
- mockRolldownConfig.mockImplementation((item) => ({
162
- input: 'src',
163
- output: {
164
- dir: 'lib',
165
- entryFileNames: 'index.js',
166
- format: item.format,
167
- },
168
- }));
169
- mockBuildDts.mockReturnValue(null);
170
- await expect(runBuild()).rejects.toThrow('rolldown failed');
171
- });
172
- it('should handle multiple builds in sequence', async () => {
173
- mockCreateBuildPipeline.mockReturnValue([
174
- {
175
- file: 'lib/index.js',
176
- format: 'es',
177
- env: 'development',
178
- platform: 'universal',
179
- },
180
- {
181
- file: 'lib/index.cjs',
182
- format: 'cjs',
183
- env: 'development',
184
- platform: 'universal',
185
- },
186
- ]);
187
- vi.resetModules();
188
- const { runBuild } = await import('./build.js');
189
- vi.clearAllMocks();
190
- mockRolldown.mockResolvedValue({
191
- write: mockBundleWrite,
192
- close: mockBundleClose,
193
- });
194
- mockBundleWrite.mockResolvedValue(undefined);
195
- mockBundleClose.mockResolvedValue(undefined);
196
- mockReaddirSync.mockReturnValue([]);
197
- mockRolldownConfig.mockImplementation((item) => ({
198
- input: 'src',
199
- output: {
200
- dir: 'lib',
201
- entryFileNames: 'index.js',
202
- format: item.format,
203
- },
204
- }));
205
- mockBuildDts.mockReturnValue(null);
206
- await runBuild();
207
- expect(mockRolldownConfig).toHaveBeenCalledTimes(2);
208
- expect(mockRolldown).toHaveBeenCalledTimes(2);
209
- });
210
- });
211
- //# sourceMappingURL=build.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.test.js","sourceRoot":"","sources":["../../src/scripts/build.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=baseConfig.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseConfig.test.d.ts","sourceRoot":"","sources":["../../../src/config/baseConfig.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../../../src/rolldown/config.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=createBuildPipeline.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBuildPipeline.test.d.ts","sourceRoot":"","sources":["../../../src/rolldown/createBuildPipeline.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=build.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.test.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.test.ts"],"names":[],"mappings":""}