@modern-js/builder 2.46.1 → 3.0.0-alpha.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.
- package/LICENSE +1 -1
- package/README.md +14 -16
- package/compiled/postcss-load-config/index.d.ts +1 -0
- package/compiled/postcss-load-config/index.js +14 -0
- package/compiled/postcss-load-config/license +20 -0
- package/compiled/postcss-load-config/package.json +1 -0
- package/dist/createBuilder.d.ts +8 -2
- package/dist/createBuilder.js +124 -39
- package/dist/index.d.ts +8 -4
- package/dist/index.js +18 -7
- package/dist/plugins/babel-post.d.ts +5 -0
- package/dist/plugins/{asset.js → babel-post.js} +21 -22
- package/dist/plugins/devtools.d.ts +4 -0
- package/dist/plugins/{devtool.js → devtools.js} +15 -16
- package/dist/plugins/emitRouteFile.d.ts +6 -0
- package/dist/plugins/{cleanOutput.js → emitRouteFile.js} +34 -16
- package/dist/plugins/environmentDefaults.d.ts +3 -0
- package/dist/plugins/environmentDefaults.js +99 -0
- package/dist/plugins/globalVars.d.ts +3 -0
- package/dist/plugins/{moment.js → globalVars.js} +23 -16
- package/dist/plugins/htmlMinify.d.ts +2 -0
- package/dist/plugins/htmlMinify.js +126 -0
- package/dist/plugins/manifest.d.ts +2 -0
- package/dist/plugins/{entry.js → manifest.js} +18 -16
- package/dist/plugins/postcss.d.ts +6 -0
- package/dist/plugins/postcss.js +133 -0
- package/dist/plugins/runtimeChunk.d.ts +2 -0
- package/dist/plugins/runtimeChunk.js +55 -0
- package/dist/rsc/common.d.ts +22 -0
- package/dist/rsc/common.js +174 -0
- package/dist/rsc/plugins/rsbuild-rsc-plugin.d.ts +7 -0
- package/dist/rsc/plugins/rsbuild-rsc-plugin.js +166 -0
- package/dist/rsc/plugins/rspack-rsc-client-plugin.d.ts +14 -0
- package/dist/rsc/plugins/rspack-rsc-client-plugin.js +233 -0
- package/dist/rsc/plugins/rspack-rsc-server-plugin.d.ts +32 -0
- package/dist/rsc/plugins/rspack-rsc-server-plugin.js +290 -0
- package/dist/rsc/rsc-client-loader.d.ts +7 -0
- package/dist/rsc/rsc-client-loader.js +70 -0
- package/dist/rsc/rsc-css-loader.d.ts +2 -0
- package/dist/{plugins/yaml.js → rsc/rsc-css-loader.js} +11 -17
- package/dist/rsc/rsc-server-loader.d.ts +6 -0
- package/dist/rsc/rsc-server-loader.js +95 -0
- package/dist/rsc/rsc-ssr-loader.d.ts +6 -0
- package/dist/rsc/rsc-ssr-loader.js +58 -0
- package/dist/shared/devServer.d.ts +6 -0
- package/dist/shared/devServer.js +83 -0
- package/dist/shared/getCssSupport.d.ts +1 -0
- package/dist/shared/getCssSupport.js +113 -0
- package/dist/shared/manifest.d.ts +2 -0
- package/dist/{plugins/toml.js → shared/manifest.js} +16 -14
- package/dist/shared/parseCommonConfig.d.ts +8 -0
- package/dist/shared/parseCommonConfig.js +232 -0
- package/dist/shared/utils.d.ts +12 -0
- package/dist/shared/utils.js +109 -0
- package/dist/types.d.ts +283 -0
- package/dist/types.js +16 -0
- package/package.json +54 -59
- package/dist/cli/commands.d.ts +0 -2
- package/dist/cli/commands.js +0 -45
- package/dist/cli/config.d.ts +0 -14
- package/dist/cli/config.js +0 -72
- package/dist/cli/index.d.ts +0 -6
- package/dist/cli/index.js +0 -51
- package/dist/cli/provider.d.ts +0 -2
- package/dist/cli/provider.js +0 -73
- package/dist/plugins/antd.d.ts +0 -3
- package/dist/plugins/antd.js +0 -63
- package/dist/plugins/arco.d.ts +0 -2
- package/dist/plugins/arco.js +0 -61
- package/dist/plugins/asset.d.ts +0 -2
- package/dist/plugins/assetsRetry.d.ts +0 -2
- package/dist/plugins/assetsRetry.js +0 -64
- package/dist/plugins/bundleAnalyzer.d.ts +0 -2
- package/dist/plugins/bundleAnalyzer.js +0 -59
- package/dist/plugins/cache.d.ts +0 -2
- package/dist/plugins/cache.js +0 -129
- package/dist/plugins/checkSyntax.d.ts +0 -2
- package/dist/plugins/checkSyntax.js +0 -73
- package/dist/plugins/cleanOutput.d.ts +0 -2
- package/dist/plugins/define.d.ts +0 -2
- package/dist/plugins/define.js +0 -68
- package/dist/plugins/devtool.d.ts +0 -2
- package/dist/plugins/entry.d.ts +0 -2
- package/dist/plugins/externals.d.ts +0 -2
- package/dist/plugins/externals.js +0 -48
- package/dist/plugins/fileSize.d.ts +0 -4
- package/dist/plugins/fileSize.js +0 -164
- package/dist/plugins/html.d.ts +0 -3
- package/dist/plugins/html.js +0 -236
- package/dist/plugins/index.d.ts +0 -2
- package/dist/plugins/index.js +0 -74
- package/dist/plugins/inlineChunk.d.ts +0 -2
- package/dist/plugins/inlineChunk.js +0 -82
- package/dist/plugins/moment.d.ts +0 -2
- package/dist/plugins/networkPerformance.d.ts +0 -2
- package/dist/plugins/networkPerformance.js +0 -54
- package/dist/plugins/nodeAddons.d.ts +0 -2
- package/dist/plugins/nodeAddons.js +0 -73
- package/dist/plugins/performance.d.ts +0 -5
- package/dist/plugins/performance.js +0 -66
- package/dist/plugins/preloadOrPrefetch.d.ts +0 -2
- package/dist/plugins/preloadOrPrefetch.js +0 -57
- package/dist/plugins/rem.d.ts +0 -2
- package/dist/plugins/rem.js +0 -106
- package/dist/plugins/sourceBuild.d.ts +0 -15
- package/dist/plugins/sourceBuild.js +0 -121
- package/dist/plugins/splitChunks.d.ts +0 -4
- package/dist/plugins/splitChunks.js +0 -249
- package/dist/plugins/startUrl.d.ts +0 -3
- package/dist/plugins/startUrl.js +0 -86
- package/dist/plugins/svg.d.ts +0 -2
- package/dist/plugins/svg.js +0 -89
- package/dist/plugins/target.d.ts +0 -2
- package/dist/plugins/target.js +0 -73
- package/dist/plugins/toml.d.ts +0 -2
- package/dist/plugins/tsChecker.d.ts +0 -2
- package/dist/plugins/tsChecker.js +0 -109
- package/dist/plugins/wasm.d.ts +0 -2
- package/dist/plugins/wasm.js +0 -51
- package/dist/plugins/yaml.d.ts +0 -2
- package/vitest.config.ts +0 -19
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var splitChunks_exports = {};
|
|
30
|
-
__export(splitChunks_exports, {
|
|
31
|
-
builderPluginSplitChunks: () => builderPluginSplitChunks,
|
|
32
|
-
createDependenciesRegExp: () => createDependenciesRegExp
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(splitChunks_exports);
|
|
35
|
-
var import_assert = __toESM(require("assert"));
|
|
36
|
-
var import_builder_shared = require("@modern-js/builder-shared");
|
|
37
|
-
function getUserDefinedCacheGroups(forceSplitting) {
|
|
38
|
-
const cacheGroups = {};
|
|
39
|
-
const pairs = Array.isArray(forceSplitting) ? forceSplitting.map((regexp, index) => [
|
|
40
|
-
`force-split-${index}`,
|
|
41
|
-
regexp
|
|
42
|
-
]) : Object.entries(forceSplitting);
|
|
43
|
-
pairs.forEach(([key, regexp]) => {
|
|
44
|
-
cacheGroups[key] = {
|
|
45
|
-
test: regexp,
|
|
46
|
-
name: key,
|
|
47
|
-
chunks: "all",
|
|
48
|
-
// Ignore minimum size, minimum chunks and maximum requests and always create chunks for user defined cache group.
|
|
49
|
-
enforce: true
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
return cacheGroups;
|
|
53
|
-
}
|
|
54
|
-
const DEPENDENCY_MATCH_TEMPL = /[\\/]node_modules[\\/](<SOURCES>)[\\/]/.source;
|
|
55
|
-
const createDependenciesRegExp = (...dependencies) => {
|
|
56
|
-
const sources = dependencies.map((d) => typeof d === "string" ? d : d.source);
|
|
57
|
-
const expr = DEPENDENCY_MATCH_TEMPL.replace("<SOURCES>", sources.join("|"));
|
|
58
|
-
return new RegExp(expr);
|
|
59
|
-
};
|
|
60
|
-
async function splitByExperience(ctx) {
|
|
61
|
-
const { isPackageInstalled } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
62
|
-
const { override, polyfill, rootPath, defaultConfig, userDefinedCacheGroups } = ctx;
|
|
63
|
-
const experienceCacheGroup = {};
|
|
64
|
-
const packageRegExps = {
|
|
65
|
-
react: createDependenciesRegExp("react", "react-dom", "scheduler"),
|
|
66
|
-
router: createDependenciesRegExp("react-router", "react-router-dom", "@remix-run/router", "history"),
|
|
67
|
-
lodash: createDependenciesRegExp("lodash", "lodash-es"),
|
|
68
|
-
axios: createDependenciesRegExp("axios", /axios-.+/)
|
|
69
|
-
};
|
|
70
|
-
if (isPackageInstalled("antd", rootPath)) {
|
|
71
|
-
packageRegExps.antd = createDependenciesRegExp("antd");
|
|
72
|
-
}
|
|
73
|
-
if (isPackageInstalled("@arco-design/web-react", rootPath)) {
|
|
74
|
-
packageRegExps.arco = createDependenciesRegExp(/@?arco-design/);
|
|
75
|
-
}
|
|
76
|
-
if (isPackageInstalled("@douyinfe/semi-ui", rootPath)) {
|
|
77
|
-
packageRegExps.semi = createDependenciesRegExp(/@(ies|douyinfe)[\\/]semi-.*/);
|
|
78
|
-
}
|
|
79
|
-
if (polyfill === "entry" || polyfill === "usage") {
|
|
80
|
-
packageRegExps.polyfill = createDependenciesRegExp("tslib", "core-js", "@babel/runtime", "@swc/helpers");
|
|
81
|
-
}
|
|
82
|
-
Object.entries(packageRegExps).forEach(([name, test]) => {
|
|
83
|
-
const key = `lib-${name}`;
|
|
84
|
-
experienceCacheGroup[key] = {
|
|
85
|
-
test,
|
|
86
|
-
priority: 0,
|
|
87
|
-
name: key,
|
|
88
|
-
reuseExistingChunk: true
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
|
-
(0, import_assert.default)(defaultConfig !== false);
|
|
92
|
-
(0, import_assert.default)(override !== false);
|
|
93
|
-
return {
|
|
94
|
-
...defaultConfig,
|
|
95
|
-
...override,
|
|
96
|
-
cacheGroups: {
|
|
97
|
-
...defaultConfig.cacheGroups,
|
|
98
|
-
...experienceCacheGroup,
|
|
99
|
-
...userDefinedCacheGroups,
|
|
100
|
-
...override.cacheGroups
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
function splitByModule(ctx) {
|
|
105
|
-
const { override, userDefinedCacheGroups, defaultConfig } = ctx;
|
|
106
|
-
(0, import_assert.default)(defaultConfig !== false);
|
|
107
|
-
(0, import_assert.default)(override !== false);
|
|
108
|
-
return {
|
|
109
|
-
...defaultConfig,
|
|
110
|
-
minSize: 0,
|
|
111
|
-
maxInitialRequests: Infinity,
|
|
112
|
-
...override,
|
|
113
|
-
cacheGroups: {
|
|
114
|
-
...defaultConfig.cacheGroups,
|
|
115
|
-
...userDefinedCacheGroups,
|
|
116
|
-
// Core group
|
|
117
|
-
vendors: {
|
|
118
|
-
priority: -10,
|
|
119
|
-
test: import_builder_shared.NODE_MODULES_REGEX,
|
|
120
|
-
name(module2) {
|
|
121
|
-
return (0, import_builder_shared.getPackageNameFromModulePath)(module2.context);
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
...override.cacheGroups
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
function splitBySize(ctx) {
|
|
129
|
-
const { override, userDefinedCacheGroups, defaultConfig, builderConfig } = ctx;
|
|
130
|
-
(0, import_assert.default)(defaultConfig !== false);
|
|
131
|
-
(0, import_assert.default)(override !== false);
|
|
132
|
-
(0, import_assert.default)(builderConfig.strategy === "split-by-size");
|
|
133
|
-
var _builderConfig_minSize, _builderConfig_maxSize;
|
|
134
|
-
return {
|
|
135
|
-
...defaultConfig,
|
|
136
|
-
minSize: (_builderConfig_minSize = builderConfig.minSize) !== null && _builderConfig_minSize !== void 0 ? _builderConfig_minSize : 0,
|
|
137
|
-
maxSize: (_builderConfig_maxSize = builderConfig.maxSize) !== null && _builderConfig_maxSize !== void 0 ? _builderConfig_maxSize : Infinity,
|
|
138
|
-
...override,
|
|
139
|
-
cacheGroups: {
|
|
140
|
-
...defaultConfig.cacheGroups,
|
|
141
|
-
...userDefinedCacheGroups,
|
|
142
|
-
...override.cacheGroups
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
function splitCustom(ctx) {
|
|
147
|
-
const { override, userDefinedCacheGroups, defaultConfig } = ctx;
|
|
148
|
-
(0, import_assert.default)(defaultConfig !== false);
|
|
149
|
-
(0, import_assert.default)(override !== false);
|
|
150
|
-
return {
|
|
151
|
-
...defaultConfig,
|
|
152
|
-
...override,
|
|
153
|
-
cacheGroups: {
|
|
154
|
-
...defaultConfig.cacheGroups,
|
|
155
|
-
...userDefinedCacheGroups,
|
|
156
|
-
...override.cacheGroups
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
function allInOne(_ctx) {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
function singleVendor(ctx) {
|
|
164
|
-
const { override, defaultConfig, userDefinedCacheGroups } = ctx;
|
|
165
|
-
(0, import_assert.default)(defaultConfig !== false);
|
|
166
|
-
(0, import_assert.default)(override !== false);
|
|
167
|
-
const singleVendorCacheGroup = {
|
|
168
|
-
singleVendor: {
|
|
169
|
-
test: import_builder_shared.NODE_MODULES_REGEX,
|
|
170
|
-
priority: 0,
|
|
171
|
-
chunks: "all",
|
|
172
|
-
name: "vendor",
|
|
173
|
-
enforce: true,
|
|
174
|
-
reuseExistingChunk: true
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
return {
|
|
178
|
-
...defaultConfig,
|
|
179
|
-
...override,
|
|
180
|
-
cacheGroups: {
|
|
181
|
-
...defaultConfig.cacheGroups,
|
|
182
|
-
...singleVendorCacheGroup,
|
|
183
|
-
...userDefinedCacheGroups,
|
|
184
|
-
...override.cacheGroups
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
const SPLIT_STRATEGY_DISPATCHER = {
|
|
189
|
-
"split-by-experience": splitByExperience,
|
|
190
|
-
"split-by-module": splitByModule,
|
|
191
|
-
"split-by-size": splitBySize,
|
|
192
|
-
custom: splitCustom,
|
|
193
|
-
"all-in-one": allInOne,
|
|
194
|
-
"single-vendor": singleVendor
|
|
195
|
-
};
|
|
196
|
-
function builderPluginSplitChunks() {
|
|
197
|
-
return {
|
|
198
|
-
name: "builder-plugin-split-chunks",
|
|
199
|
-
setup(api) {
|
|
200
|
-
api.modifyBundlerChain(async (chain, { isServer, isWebWorker, isServiceWorker }) => {
|
|
201
|
-
if (isServer || isWebWorker || isServiceWorker) {
|
|
202
|
-
chain.optimization.splitChunks(false);
|
|
203
|
-
if (isWebWorker || isServiceWorker) {
|
|
204
|
-
chain.module.parser.merge({
|
|
205
|
-
javascript: {
|
|
206
|
-
dynamicImportMode: "eager"
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
const config = api.getNormalizedConfig();
|
|
213
|
-
const defaultConfig = {
|
|
214
|
-
// Optimize both `initial` and `async` chunks
|
|
215
|
-
chunks: "all",
|
|
216
|
-
// When chunk size >= 50000 bytes, split it into separate chunk
|
|
217
|
-
enforceSizeThreshold: 5e4,
|
|
218
|
-
cacheGroups: {}
|
|
219
|
-
};
|
|
220
|
-
const { chunkSplit } = config.performance;
|
|
221
|
-
let userDefinedCacheGroups = {};
|
|
222
|
-
if (chunkSplit.forceSplitting) {
|
|
223
|
-
userDefinedCacheGroups = getUserDefinedCacheGroups(chunkSplit.forceSplitting);
|
|
224
|
-
}
|
|
225
|
-
var _chunkSplit_splitChunks;
|
|
226
|
-
const override = chunkSplit.strategy === "custom" ? (_chunkSplit_splitChunks = chunkSplit.splitChunks) !== null && _chunkSplit_splitChunks !== void 0 ? _chunkSplit_splitChunks : chunkSplit.override : chunkSplit.override;
|
|
227
|
-
const splitChunksOptions = await SPLIT_STRATEGY_DISPATCHER[chunkSplit.strategy]({
|
|
228
|
-
defaultConfig,
|
|
229
|
-
override: override || {},
|
|
230
|
-
userDefinedCacheGroups,
|
|
231
|
-
builderConfig: chunkSplit,
|
|
232
|
-
rootPath: api.context.rootPath,
|
|
233
|
-
polyfill: config.output.polyfill
|
|
234
|
-
});
|
|
235
|
-
chain.optimization.splitChunks(splitChunksOptions);
|
|
236
|
-
if (chunkSplit.strategy !== "all-in-one") {
|
|
237
|
-
chain.optimization.runtimeChunk({
|
|
238
|
-
name: import_builder_shared.RUNTIME_CHUNK_NAME
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
246
|
-
0 && (module.exports = {
|
|
247
|
-
builderPluginSplitChunks,
|
|
248
|
-
createDependenciesRegExp
|
|
249
|
-
});
|
package/dist/plugins/startUrl.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var startUrl_exports = {};
|
|
30
|
-
__export(startUrl_exports, {
|
|
31
|
-
builderPluginStartUrl: () => builderPluginStartUrl,
|
|
32
|
-
replacePlaceholder: () => replacePlaceholder
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(startUrl_exports);
|
|
35
|
-
var import_lodash = __toESM(require("@modern-js/utils/lodash"));
|
|
36
|
-
const replacePlaceholder = (url, port) => url.replace(/<port>/g, String(port));
|
|
37
|
-
const openedURLs = [];
|
|
38
|
-
function builderPluginStartUrl() {
|
|
39
|
-
return {
|
|
40
|
-
name: "builder-plugin-start-url",
|
|
41
|
-
async setup(api) {
|
|
42
|
-
let port;
|
|
43
|
-
api.onAfterStartDevServer(async (params) => {
|
|
44
|
-
({ port } = params);
|
|
45
|
-
});
|
|
46
|
-
api.onDevCompileDone(async ({ isFirstCompile }) => {
|
|
47
|
-
if (!isFirstCompile || !port) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const config = api.getNormalizedConfig();
|
|
51
|
-
const { startUrl, beforeStartUrl } = config.dev;
|
|
52
|
-
const { https } = api.context.devServer || {};
|
|
53
|
-
if (!startUrl) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
const urls = [];
|
|
57
|
-
if (startUrl === true) {
|
|
58
|
-
const protocol = https ? "https" : "http";
|
|
59
|
-
urls.push(`${protocol}://localhost:${port}`);
|
|
60
|
-
} else {
|
|
61
|
-
urls.push(...import_lodash.default.castArray(startUrl).map((item) => replacePlaceholder(item, port)));
|
|
62
|
-
}
|
|
63
|
-
const { ensureArray } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
64
|
-
const { openBrowser } = await Promise.resolve().then(() => __toESM(require("@modern-js/builder-shared")));
|
|
65
|
-
const openUrls = () => {
|
|
66
|
-
for (const url of urls) {
|
|
67
|
-
if (!openedURLs.includes(url)) {
|
|
68
|
-
openBrowser(url);
|
|
69
|
-
openedURLs.push(url);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
if (beforeStartUrl) {
|
|
74
|
-
Promise.all(ensureArray(beforeStartUrl).map((fn) => fn())).then(openUrls);
|
|
75
|
-
} else {
|
|
76
|
-
openUrls();
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
83
|
-
0 && (module.exports = {
|
|
84
|
-
builderPluginStartUrl,
|
|
85
|
-
replacePlaceholder
|
|
86
|
-
});
|
package/dist/plugins/svg.d.ts
DELETED
package/dist/plugins/svg.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var svg_exports = {};
|
|
30
|
-
__export(svg_exports, {
|
|
31
|
-
builderPluginSvg: () => builderPluginSvg
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(svg_exports);
|
|
34
|
-
var import_path = __toESM(require("path"));
|
|
35
|
-
var import_builder_shared = require("@modern-js/builder-shared");
|
|
36
|
-
const builderPluginSvg = () => {
|
|
37
|
-
return {
|
|
38
|
-
name: "builder-plugin-svg",
|
|
39
|
-
setup(api) {
|
|
40
|
-
api.modifyBundlerChain(async (chain, { isProd, CHAIN_ID }) => {
|
|
41
|
-
const config = api.getNormalizedConfig();
|
|
42
|
-
const defaultExport = config.output.svgDefaultExport;
|
|
43
|
-
const assetType = "svg";
|
|
44
|
-
const distDir = (0, import_builder_shared.getDistPath)(config.output, "svg");
|
|
45
|
-
const filename = (0, import_builder_shared.getFilename)(config.output, "svg", isProd);
|
|
46
|
-
const outputName = import_path.default.posix.join(distDir, filename);
|
|
47
|
-
const maxSize = config.output.dataUriLimit[assetType];
|
|
48
|
-
const rule = chain.module.rule(CHAIN_ID.RULE.SVG).test(import_builder_shared.SVG_REGEX);
|
|
49
|
-
if (config.output.disableSvgr) {
|
|
50
|
-
(0, import_builder_shared.chainStaticAssetRule)({
|
|
51
|
-
rule,
|
|
52
|
-
maxSize,
|
|
53
|
-
filename: import_path.default.posix.join(distDir, filename),
|
|
54
|
-
assetType
|
|
55
|
-
});
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
(0, import_builder_shared.chainStaticAssetRule)({
|
|
59
|
-
rule,
|
|
60
|
-
maxSize,
|
|
61
|
-
filename: import_path.default.posix.join(distDir, filename),
|
|
62
|
-
assetType,
|
|
63
|
-
issuer: {
|
|
64
|
-
// The issuer option ensures that SVGR will only apply if the SVG is imported from a JS file.
|
|
65
|
-
not: [
|
|
66
|
-
import_builder_shared.JS_REGEX,
|
|
67
|
-
import_builder_shared.TS_REGEX
|
|
68
|
-
]
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
rule.oneOf(CHAIN_ID.ONE_OF.SVG_INLINE).type("asset/inline").resourceQuery(/inline/);
|
|
72
|
-
rule.oneOf(CHAIN_ID.ONE_OF.SVG_URL).type("asset/resource").resourceQuery(/url/).set("generator", {
|
|
73
|
-
filename: outputName
|
|
74
|
-
});
|
|
75
|
-
rule.oneOf(CHAIN_ID.ONE_OF.SVG).type("javascript/auto").use(CHAIN_ID.USE.SVGR).loader(require.resolve("@svgr/webpack")).options({
|
|
76
|
-
svgo: true,
|
|
77
|
-
svgoConfig: (0, import_builder_shared.getSvgoDefaultConfig)()
|
|
78
|
-
}).end().when(defaultExport === "url", (c) => c.use(CHAIN_ID.USE.URL).loader((0, import_builder_shared.getSharedPkgCompiledPath)("url-loader")).options({
|
|
79
|
-
limit: config.output.dataUriLimit.svg,
|
|
80
|
-
name: outputName
|
|
81
|
-
}));
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
};
|
|
86
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
-
0 && (module.exports = {
|
|
88
|
-
builderPluginSvg
|
|
89
|
-
});
|
package/dist/plugins/target.d.ts
DELETED
package/dist/plugins/target.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var target_exports = {};
|
|
20
|
-
__export(target_exports, {
|
|
21
|
-
builderPluginTarget: () => builderPluginTarget
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(target_exports);
|
|
24
|
-
var import_builder_shared = require("@modern-js/builder-shared");
|
|
25
|
-
const builderPluginTarget = () => ({
|
|
26
|
-
name: "builder-plugin-target",
|
|
27
|
-
setup(api) {
|
|
28
|
-
api.modifyBundlerChain(async (chain, { target }) => {
|
|
29
|
-
if (target === "node") {
|
|
30
|
-
chain.target("node");
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (target === "service-worker") {
|
|
34
|
-
chain.target("webworker");
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (target === "web-worker") {
|
|
38
|
-
chain.target([
|
|
39
|
-
"webworker",
|
|
40
|
-
"es5"
|
|
41
|
-
]);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const browserslist = await (0, import_builder_shared.getBrowserslist)(api.context.rootPath);
|
|
45
|
-
if (browserslist) {
|
|
46
|
-
chain.merge({
|
|
47
|
-
target: [
|
|
48
|
-
"web",
|
|
49
|
-
"browserslist"
|
|
50
|
-
]
|
|
51
|
-
});
|
|
52
|
-
} else if (target === "modern-web") {
|
|
53
|
-
chain.merge({
|
|
54
|
-
target: [
|
|
55
|
-
"web",
|
|
56
|
-
"es2015"
|
|
57
|
-
]
|
|
58
|
-
});
|
|
59
|
-
} else {
|
|
60
|
-
chain.merge({
|
|
61
|
-
target: [
|
|
62
|
-
"web",
|
|
63
|
-
"es5"
|
|
64
|
-
]
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
-
0 && (module.exports = {
|
|
72
|
-
builderPluginTarget
|
|
73
|
-
});
|
package/dist/plugins/toml.d.ts
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var tsChecker_exports = {};
|
|
30
|
-
__export(tsChecker_exports, {
|
|
31
|
-
builderPluginTsChecker: () => builderPluginTsChecker
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(tsChecker_exports);
|
|
34
|
-
var import_deepmerge = __toESM(require("deepmerge"));
|
|
35
|
-
const builderPluginTsChecker = () => {
|
|
36
|
-
return {
|
|
37
|
-
name: "builder-plugin-ts-checker",
|
|
38
|
-
setup(api) {
|
|
39
|
-
api.modifyBundlerChain(async (chain, { target }) => {
|
|
40
|
-
const config = api.getNormalizedConfig();
|
|
41
|
-
if (config.output.disableTsChecker || !api.context.tsconfigPath) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (Array.isArray(api.context.target) && target !== api.context.target[0]) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const { default: ForkTsCheckerWebpackPlugin } = await Promise.resolve().then(() => __toESM(require("@modern-js/builder-shared/fork-ts-checker-webpack-plugin")));
|
|
48
|
-
const { logger, CHAIN_ID, applyOptionsChain } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
49
|
-
let typescriptPath;
|
|
50
|
-
try {
|
|
51
|
-
typescriptPath = require.resolve("typescript", {
|
|
52
|
-
paths: [
|
|
53
|
-
api.context.rootPath
|
|
54
|
-
]
|
|
55
|
-
});
|
|
56
|
-
} catch (err) {
|
|
57
|
-
logger.warn('"typescript" is not found in current project, Type Checker will not work.');
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const { experiments } = api.getNormalizedConfig();
|
|
61
|
-
var _experiments_sourceBuild;
|
|
62
|
-
const enableSourceBuild = (_experiments_sourceBuild = experiments === null || experiments === void 0 ? void 0 : experiments.sourceBuild) !== null && _experiments_sourceBuild !== void 0 ? _experiments_sourceBuild : false;
|
|
63
|
-
const tsCheckerOptions = applyOptionsChain({
|
|
64
|
-
typescript: {
|
|
65
|
-
// avoid OOM issue
|
|
66
|
-
memoryLimit: 8192,
|
|
67
|
-
// use tsconfig of user project
|
|
68
|
-
configFile: api.context.tsconfigPath,
|
|
69
|
-
typescriptPath,
|
|
70
|
-
// In source build mode, using the project reference generates a TS2307 error,
|
|
71
|
-
// so additional configuration of the tsChecker is required
|
|
72
|
-
...enableSourceBuild ? {
|
|
73
|
-
build: true,
|
|
74
|
-
mode: "readonly"
|
|
75
|
-
} : {}
|
|
76
|
-
},
|
|
77
|
-
issue: {
|
|
78
|
-
exclude: [
|
|
79
|
-
{
|
|
80
|
-
file: "**/*.(spec|test).ts"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
file: "**/node_modules/**/*"
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
},
|
|
87
|
-
logger: {
|
|
88
|
-
log() {
|
|
89
|
-
},
|
|
90
|
-
error(message) {
|
|
91
|
-
console.error(message.replace(/ERROR/g, "Type Error"));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}, config.tools.tsChecker, void 0, import_deepmerge.default);
|
|
95
|
-
if (api.context.bundlerType === "rspack" && chain.get("mode") === "production") {
|
|
96
|
-
logger.info("ts checker running...");
|
|
97
|
-
logger.info("ts checker is running slowly and will block builds until it is complete, please be patient and wait.");
|
|
98
|
-
}
|
|
99
|
-
chain.plugin(CHAIN_ID.PLUGIN.TS_CHECKER).use(ForkTsCheckerWebpackPlugin, [
|
|
100
|
-
tsCheckerOptions
|
|
101
|
-
]);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
-
0 && (module.exports = {
|
|
108
|
-
builderPluginTsChecker
|
|
109
|
-
});
|
package/dist/plugins/wasm.d.ts
DELETED
package/dist/plugins/wasm.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var wasm_exports = {};
|
|
20
|
-
__export(wasm_exports, {
|
|
21
|
-
builderPluginWasm: () => builderPluginWasm
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(wasm_exports);
|
|
24
|
-
var import_path = require("path");
|
|
25
|
-
var import_builder_shared = require("@modern-js/builder-shared");
|
|
26
|
-
const builderPluginWasm = () => ({
|
|
27
|
-
name: "builder-plugin-wasm",
|
|
28
|
-
setup(api) {
|
|
29
|
-
api.modifyBundlerChain(async (chain, { CHAIN_ID }) => {
|
|
30
|
-
const config = api.getNormalizedConfig();
|
|
31
|
-
const distPath = (0, import_builder_shared.getDistPath)(config.output, "wasm");
|
|
32
|
-
chain.experiments({
|
|
33
|
-
...chain.get("experiments"),
|
|
34
|
-
asyncWebAssembly: true
|
|
35
|
-
});
|
|
36
|
-
const wasmFilename = (0, import_path.join)(distPath, "[hash].module.wasm");
|
|
37
|
-
chain.output.merge({
|
|
38
|
-
webassemblyModuleFilename: wasmFilename
|
|
39
|
-
});
|
|
40
|
-
chain.module.rule(CHAIN_ID.RULE.WASM).test(/\.wasm$/).merge({
|
|
41
|
-
dependency: "url"
|
|
42
|
-
}).type("asset/resource").set("generator", {
|
|
43
|
-
filename: wasmFilename
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
-
0 && (module.exports = {
|
|
50
|
-
builderPluginWasm
|
|
51
|
-
});
|