Skip to content

Commit f0c97fd

Browse files
authored
feat!: change to commonjs-static library type of commonjs format (#819)
1 parent e254542 commit f0c97fd

File tree

16 files changed

+115
-48
lines changed

16 files changed

+115
-48
lines changed

packages/core/src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ const composeFormatConfig = ({
626626
iife: false,
627627
chunkFormat: 'commonjs',
628628
library: {
629-
type: 'commonjs',
629+
type: 'commonjs-static',
630630
},
631631
chunkLoading: 'require',
632632
workerChunkLoading: 'async-node',

packages/core/tests/__snapshots__/config.test.ts.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config i
449449
"chunkLoading": "require",
450450
"iife": false,
451451
"library": {
452-
"type": "commonjs",
452+
"type": "commonjs-static",
453453
},
454454
"wasmLoading": "async-node",
455455
"workerChunkLoading": "async-node",

tests/integration/alias/__snapshots__/index.test.ts.snap

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ exports[`source.alias 2`] = `
1111
var __webpack_exports__ = {};
1212
const a = 'hello world';
1313
console.info(a);
14-
var __webpack_export_target__ = exports;
15-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
16-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
14+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
15+
Object.defineProperty(exports, '__esModule', {
1716
value: true
1817
});
1918
"
@@ -30,9 +29,8 @@ exports[`source.alias 4`] = `
3029
var __webpack_exports__ = {};
3130
const external_a_cjs_namespaceObject = require("./a.cjs");
3231
console.info(external_a_cjs_namespaceObject.a);
33-
var __webpack_export_target__ = exports;
34-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
35-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
32+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
33+
Object.defineProperty(exports, '__esModule', {
3634
value: true
3735
});
3836
"

tests/integration/asset/__snapshots__/index.test.ts.snap

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,13 @@ const SvgLogo = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("svg
108108
})
109109
});
110110
const logo_rslib_entry_ = require("../static/svg/logo.svg");
111-
var __webpack_export_target__ = exports;
112-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
113-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
111+
exports.ReactComponent = __webpack_exports__.ReactComponent;
112+
exports["default"] = __webpack_exports__["default"];
113+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
114+
"ReactComponent",
115+
"default"
116+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
117+
Object.defineProperty(exports, '__esModule', {
114118
value: true
115119
});
116120
"
@@ -198,9 +202,11 @@ const SvgLogo = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("svg
198202
})
199203
});
200204
const logo_rslib_entry_ = SvgLogo;
201-
var __webpack_export_target__ = exports;
202-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
203-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
205+
exports["default"] = __webpack_exports__["default"];
206+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
207+
"default"
208+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
209+
Object.defineProperty(exports, '__esModule', {
204210
value: true
205211
});
206212
"
@@ -230,9 +236,11 @@ function __webpack_require__(moduleId) {
230236
return module.exports;
231237
}
232238
var __webpack_exports__ = __webpack_require__("./src/assets/logo2.svg?__rslib_entry__");
233-
var __webpack_export_target__ = exports;
234-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
235-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
239+
exports["default"] = __webpack_exports__["default"];
240+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
241+
"default"
242+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
243+
Object.defineProperty(exports, '__esModule', {
236244
value: true
237245
});
238246
"
@@ -348,9 +356,8 @@ const logo_SvgLogo = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)
348356
const logo = require("./static/svg/logo.svg");
349357
console.log('namedImport', 'ReactComponent', logo_SvgLogo);
350358
console.log('defaultImport', 'Url', logo);
351-
var __webpack_export_target__ = exports;
352-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
353-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
359+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
360+
Object.defineProperty(exports, '__esModule', {
354361
value: true
355362
});
356363
"

tests/integration/asset/index.test.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,11 @@ test('set the size threshold to inline static assets', async () => {
7272
return module.exports;
7373
}
7474
var __webpack_exports__ = __webpack_require__("./src/assets/logo.svg?__rslib_entry__");
75-
var __webpack_export_target__ = exports;
76-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
77-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
75+
exports["default"] = __webpack_exports__["default"];
76+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
77+
"default"
78+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
79+
Object.defineProperty(exports, '__esModule', {
7880
value: true
7981
});
8082
"
@@ -130,9 +132,11 @@ test('set the assets filename with hash', async () => {
130132
return module.exports;
131133
}
132134
var __webpack_exports__ = __webpack_require__("./src/assets/image.png?__rslib_entry__");
133-
var __webpack_export_target__ = exports;
134-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
135-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
135+
exports["default"] = __webpack_exports__["default"];
136+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
137+
"default"
138+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
139+
Object.defineProperty(exports, '__esModule', {
136140
value: true
137141
});
138142
"
@@ -188,9 +192,11 @@ test('set the assets output path', async () => {
188192
return module.exports;
189193
}
190194
var __webpack_exports__ = __webpack_require__("./src/assets/image.png?__rslib_entry__");
191-
var __webpack_export_target__ = exports;
192-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
193-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
195+
exports["default"] = __webpack_exports__["default"];
196+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
197+
"default"
198+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
199+
Object.defineProperty(exports, '__esModule', {
194200
value: true
195201
});
196202
"

tests/integration/auto-extension/index.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,15 @@ describe('should respect output.filename.js and output.filenameHash to override
4242
// override output.filename.js
4343
expect(extname(entryFiles.esm0!)).toEqual('.mjs');
4444
expect(entryFiles.cjs0).toMatchInlineSnapshot(
45-
`"<ROOT>/tests/integration/auto-extension/type-commonjs/config-override/dist/cjs-override-filename/index.d6fcc5d4.js"`,
45+
`"<ROOT>/tests/integration/auto-extension/type-commonjs/config-override/dist/cjs-override-filename/index.df02628a.js"`,
4646
);
4747

4848
// override output.filenameHash
4949
expect(entryFiles.esm1).toMatchInlineSnapshot(
5050
`"<ROOT>/tests/integration/auto-extension/type-commonjs/config-override/dist/esm-override-filename-hash/index.996a7edd.js"`,
5151
);
5252
expect(entryFiles.cjs1).toMatchInlineSnapshot(
53-
`"<ROOT>/tests/integration/auto-extension/type-commonjs/config-override/dist/cjs-override-filename-hash/index.d6fcc5d4.js"`,
53+
`"<ROOT>/tests/integration/auto-extension/type-commonjs/config-override/dist/cjs-override-filename-hash/index.df02628a.js"`,
5454
);
5555
});
5656

@@ -69,7 +69,7 @@ describe('should respect output.filename.js and output.filenameHash to override
6969
`"<ROOT>/tests/integration/auto-extension/type-module/config-override/dist/esm-override-filename-hash/index.996a7edd.js"`,
7070
);
7171
expect(entryFiles.cjs1).toMatchInlineSnapshot(
72-
`"<ROOT>/tests/integration/auto-extension/type-module/config-override/dist/cjs-override-filename-hash/index.d6fcc5d4.js"`,
72+
`"<ROOT>/tests/integration/auto-extension/type-module/config-override/dist/cjs-override-filename-hash/index.df02628a.js"`,
7373
);
7474
});
7575
});

tests/integration/bundle-false/__snapshots__/index.test.ts.snap

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,13 @@ const SvgLogo = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("svg
8484
})
8585
});
8686
const logo_rslib_entry_ = require("../static/svg/logo.svg");
87-
var __webpack_export_target__ = exports;
88-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
89-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
87+
exports.ReactComponent = __webpack_exports__.ReactComponent;
88+
exports["default"] = __webpack_exports__["default"];
89+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
90+
"ReactComponent",
91+
"default"
92+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
93+
Object.defineProperty(exports, '__esModule', {
9094
value: true
9195
});
9296
"

tests/integration/bundle-false/index.test.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,11 @@ test('asset in bundleless', async () => {
217217
return module.exports;
218218
}
219219
var __webpack_exports__ = __webpack_require__("./src/assets/image.png?__rslib_entry__");
220-
var __webpack_export_target__ = exports;
221-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
222-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
220+
exports["default"] = __webpack_exports__["default"];
221+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
222+
"default"
223+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
224+
Object.defineProperty(exports, '__esModule', {
223225
value: true
224226
});
225227
"
@@ -242,9 +244,11 @@ test('asset in bundleless', async () => {
242244
return module.exports;
243245
}
244246
var __webpack_exports__ = __webpack_require__("./src/assets/logo.svg?__rslib_entry__");
245-
var __webpack_export_target__ = exports;
246-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
247-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
247+
exports["default"] = __webpack_exports__["default"];
248+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
249+
"default"
250+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
251+
Object.defineProperty(exports, '__esModule', {
248252
value: true
249253
});
250254
"

tests/integration/extension-alias/__snapshots__/index.test.ts.snap

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ var __webpack_exports__ = {};
66
const bar = 'bar';
77
const foo = 'foo';
88
console.log(foo + bar);
9-
var __webpack_export_target__ = exports;
10-
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
11-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
9+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
10+
Object.defineProperty(exports, '__esModule', {
1211
value: true
1312
});
1413
"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { defineConfig } from '@rslib/core';
2+
import { generateBundleCjsConfig } from 'test-helper';
3+
4+
export default defineConfig({
5+
lib: [
6+
generateBundleCjsConfig({
7+
output: {
8+
distPath: {
9+
root: './dist/cjs',
10+
},
11+
filename: {
12+
js: '[name].cjs',
13+
},
14+
},
15+
}),
16+
],
17+
source: {
18+
entry: {
19+
index: './src/index.js',
20+
},
21+
},
22+
});

0 commit comments

Comments
 (0)