@vitus-labs/tools-rolldown 1.5.2-alpha.4 → 1.5.2-alpha.5

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.
@@ -0,0 +1,42 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,278 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/rolldown/config.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBuildPipeline.test.js","sourceRoot":"","sources":["../../src/rolldown/createBuildPipeline.test.ts"],"names":[],"mappings":"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"}