@rsbuild/core 0.7.0-beta.2 → 0.7.0-beta.4
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/bin/rsbuild.js +4 -3
- package/compiled/css-loader/index.js +20 -20
- package/compiled/less-loader/index.js +8 -8
- package/compiled/postcss-loader/index.js +11 -11
- package/compiled/rspack-manifest-plugin/index.js +4 -4
- package/dist/client/{hmr.mjs → hmr.js} +2 -3
- package/dist/client/{overlay.mjs → overlay.js} +2 -6
- package/dist/{rspack/ignoreCssLoader.js → ignoreCssLoader.cjs} +2 -0
- package/dist/index.cjs +7201 -0
- package/dist/index.js +7435 -40
- package/dist/{rspack/transformLoader.js → transformLoader.cjs} +2 -0
- package/dist/{rspack/transformRawLoader.js → transformRawLoader.cjs} +37 -13
- package/{dist → dist-types}/constants.d.ts +3 -0
- package/dist-types/helpers.d.ts +32 -0
- package/{dist → dist-types}/index.d.ts +6 -0
- package/{dist → dist-types}/internal.d.ts +5 -2
- package/dist-types/package.json +1 -0
- package/{dist → dist-types}/plugins/html.d.ts +2 -1
- package/{dist → dist-types}/plugins/index.d.ts +1 -0
- package/dist-types/plugins/minimize.d.ts +12 -0
- package/{dist/provider → dist-types}/plugins/progress.d.ts +1 -1
- package/{dist/provider → dist-types}/plugins/resolve.d.ts +1 -1
- package/{dist/provider → dist-types}/plugins/rspackProfile.d.ts +1 -1
- package/{dist/provider → dist-types}/plugins/swc.d.ts +1 -1
- package/dist-types/server/devMiddleware.d.ts +18 -0
- package/{dist → dist-types}/server/helper.d.ts +11 -0
- package/package.json +14 -16
- package/dist/cli/commands.js +0 -110
- package/dist/cli/init.js +0 -101
- package/dist/cli/prepare.js +0 -43
- package/dist/client/format.js +0 -72
- package/dist/config.js +0 -306
- package/dist/constants.js +0 -40
- package/dist/createContext.js +0 -116
- package/dist/createRsbuild.js +0 -103
- package/dist/initHooks.js +0 -82
- package/dist/initPlugins.js +0 -152
- package/dist/internal.js +0 -79
- package/dist/loadEnv.js +0 -93
- package/dist/mergeConfig.js +0 -80
- package/dist/pluginHelper.js +0 -66
- package/dist/pluginManager.js +0 -180
- package/dist/plugins/asset.js +0 -101
- package/dist/plugins/basic.js +0 -77
- package/dist/plugins/bundleAnalyzer.js +0 -69
- package/dist/plugins/cache.js +0 -116
- package/dist/plugins/cleanOutput.js +0 -68
- package/dist/plugins/css.js +0 -257
- package/dist/plugins/define.js +0 -45
- package/dist/plugins/entry.js +0 -76
- package/dist/plugins/externals.js +0 -48
- package/dist/plugins/fileSize.js +0 -199
- package/dist/plugins/html.js +0 -327
- package/dist/plugins/index.js +0 -66
- package/dist/plugins/inlineChunk.js +0 -69
- package/dist/plugins/less.js +0 -107
- package/dist/plugins/manifest.js +0 -142
- package/dist/plugins/moduleFederation.js +0 -125
- package/dist/plugins/moment.js +0 -43
- package/dist/plugins/nodeAddons.js +0 -74
- package/dist/plugins/output.js +0 -63
- package/dist/plugins/performance.js +0 -56
- package/dist/plugins/resourceHints.js +0 -86
- package/dist/plugins/rsdoctor.js +0 -81
- package/dist/plugins/sass.js +0 -154
- package/dist/plugins/server.js +0 -59
- package/dist/plugins/splitChunks.js +0 -236
- package/dist/plugins/startUrl.js +0 -146
- package/dist/plugins/target.js +0 -54
- package/dist/plugins/wasm.js +0 -51
- package/dist/provider/build.js +0 -84
- package/dist/provider/createCompiler.js +0 -143
- package/dist/provider/initConfigs.js +0 -92
- package/dist/provider/inspectConfig.js +0 -85
- package/dist/provider/plugins/minimize.d.ts +0 -2
- package/dist/provider/plugins/minimize.js +0 -49
- package/dist/provider/plugins/progress.js +0 -49
- package/dist/provider/plugins/resolve.js +0 -42
- package/dist/provider/plugins/rspackProfile.js +0 -112
- package/dist/provider/plugins/swc.js +0 -152
- package/dist/provider/plugins/transition.d.ts +0 -5
- package/dist/provider/plugins/transition.js +0 -35
- package/dist/provider/provider.js +0 -158
- package/dist/provider/rspackConfig.js +0 -144
- package/dist/provider/shared.d.ts +0 -16
- package/dist/provider/shared.js +0 -215
- package/dist/rspack/HtmlAppIconPlugin.js +0 -98
- package/dist/rspack/HtmlBasicPlugin.js +0 -229
- package/dist/rspack/InlineChunkHtmlPlugin.js +0 -196
- package/dist/rspack/preload/HtmlPreloadOrPrefetchPlugin.js +0 -173
- package/dist/rspack/preload/helpers/determineAsValue.js +0 -83
- package/dist/rspack/preload/helpers/doesChunkBelongToHtml.js +0 -77
- package/dist/rspack/preload/helpers/extractChunks.js +0 -83
- package/dist/rspack/preload/helpers/index.js +0 -28
- package/dist/rspack/preload/helpers/type.js +0 -16
- package/dist/server/compilerDevMiddleware.js +0 -129
- package/dist/server/devMiddleware.d.ts +0 -3
- package/dist/server/devMiddleware.js +0 -74
- package/dist/server/devServer.js +0 -195
- package/dist/server/getDevMiddlewares.js +0 -177
- package/dist/server/helper.js +0 -237
- package/dist/server/httpServer.js +0 -45
- package/dist/server/index.js +0 -31
- package/dist/server/middlewares.js +0 -162
- package/dist/server/prodServer.js +0 -196
- package/dist/server/proxy.js +0 -93
- package/dist/server/restart.js +0 -66
- package/dist/server/socketServer.js +0 -178
- package/dist/server/watchFiles.js +0 -90
- package/dist/types.js +0 -16
- /package/{dist → dist-types}/cli/commands.d.ts +0 -0
- /package/{dist → dist-types}/cli/init.d.ts +0 -0
- /package/{dist → dist-types}/cli/prepare.d.ts +0 -0
- /package/{dist → dist-types}/client/format.d.ts +0 -0
- /package/{dist → dist-types}/client/hmr.d.ts +0 -0
- /package/{dist → dist-types}/client/overlay.d.ts +0 -0
- /package/{dist → dist-types}/config.d.ts +0 -0
- /package/{dist → dist-types}/createContext.d.ts +0 -0
- /package/{dist → dist-types}/createRsbuild.d.ts +0 -0
- /package/{dist → dist-types}/initHooks.d.ts +0 -0
- /package/{dist → dist-types}/initPlugins.d.ts +0 -0
- /package/{dist → dist-types}/loadEnv.d.ts +0 -0
- /package/{dist/rspack → dist-types/loader}/ignoreCssLoader.d.ts +0 -0
- /package/{dist/rspack → dist-types/loader}/transformLoader.d.ts +0 -0
- /package/{dist/rspack → dist-types/loader}/transformRawLoader.d.ts +0 -0
- /package/{dist → dist-types}/mergeConfig.d.ts +0 -0
- /package/{dist → dist-types}/pluginHelper.d.ts +0 -0
- /package/{dist → dist-types}/pluginManager.d.ts +0 -0
- /package/{dist → dist-types}/plugins/asset.d.ts +0 -0
- /package/{dist → dist-types}/plugins/basic.d.ts +0 -0
- /package/{dist → dist-types}/plugins/bundleAnalyzer.d.ts +0 -0
- /package/{dist → dist-types}/plugins/cache.d.ts +0 -0
- /package/{dist → dist-types}/plugins/cleanOutput.d.ts +0 -0
- /package/{dist → dist-types}/plugins/css.d.ts +0 -0
- /package/{dist → dist-types}/plugins/define.d.ts +0 -0
- /package/{dist → dist-types}/plugins/entry.d.ts +0 -0
- /package/{dist → dist-types}/plugins/externals.d.ts +0 -0
- /package/{dist → dist-types}/plugins/fileSize.d.ts +0 -0
- /package/{dist → dist-types}/plugins/inlineChunk.d.ts +0 -0
- /package/{dist → dist-types}/plugins/less.d.ts +0 -0
- /package/{dist → dist-types}/plugins/manifest.d.ts +0 -0
- /package/{dist → dist-types}/plugins/moduleFederation.d.ts +0 -0
- /package/{dist → dist-types}/plugins/moment.d.ts +0 -0
- /package/{dist → dist-types}/plugins/nodeAddons.d.ts +0 -0
- /package/{dist → dist-types}/plugins/output.d.ts +0 -0
- /package/{dist → dist-types}/plugins/performance.d.ts +0 -0
- /package/{dist → dist-types}/plugins/resourceHints.d.ts +0 -0
- /package/{dist → dist-types}/plugins/rsdoctor.d.ts +0 -0
- /package/{dist → dist-types}/plugins/sass.d.ts +0 -0
- /package/{dist → dist-types}/plugins/server.d.ts +0 -0
- /package/{dist → dist-types}/plugins/splitChunks.d.ts +0 -0
- /package/{dist → dist-types}/plugins/startUrl.d.ts +0 -0
- /package/{dist → dist-types}/plugins/target.d.ts +0 -0
- /package/{dist → dist-types}/plugins/wasm.d.ts +0 -0
- /package/{dist → dist-types}/provider/build.d.ts +0 -0
- /package/{dist → dist-types}/provider/createCompiler.d.ts +0 -0
- /package/{dist → dist-types}/provider/initConfigs.d.ts +0 -0
- /package/{dist → dist-types}/provider/inspectConfig.d.ts +0 -0
- /package/{dist → dist-types}/provider/provider.d.ts +0 -0
- /package/{dist → dist-types}/provider/rspackConfig.d.ts +0 -0
- /package/{dist → dist-types}/rspack/HtmlAppIconPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/HtmlBasicPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/InlineChunkHtmlPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/HtmlPreloadOrPrefetchPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/determineAsValue.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/doesChunkBelongToHtml.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/extractChunks.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/index.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/type.d.ts +0 -0
- /package/{dist → dist-types}/server/compilerDevMiddleware.d.ts +0 -0
- /package/{dist → dist-types}/server/devServer.d.ts +0 -0
- /package/{dist → dist-types}/server/getDevMiddlewares.d.ts +0 -0
- /package/{dist → dist-types}/server/httpServer.d.ts +0 -0
- /package/{dist → dist-types}/server/index.d.ts +0 -0
- /package/{dist → dist-types}/server/middlewares.d.ts +0 -0
- /package/{dist → dist-types}/server/prodServer.d.ts +0 -0
- /package/{dist → dist-types}/server/proxy.d.ts +0 -0
- /package/{dist → dist-types}/server/restart.d.ts +0 -0
- /package/{dist → dist-types}/server/socketServer.d.ts +0 -0
- /package/{dist → dist-types}/server/watchFiles.d.ts +0 -0
- /package/{dist → dist-types}/types.d.ts +0 -0
package/dist/plugins/asset.js
DELETED
|
@@ -1,101 +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 asset_exports = {};
|
|
30
|
-
__export(asset_exports, {
|
|
31
|
-
getRegExpForExts: () => getRegExpForExts,
|
|
32
|
-
pluginAsset: () => pluginAsset
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(asset_exports);
|
|
35
|
-
var import_node_path = __toESM(require("node:path"));
|
|
36
|
-
var import_shared = require("@rsbuild/shared");
|
|
37
|
-
const chainStaticAssetRule = ({
|
|
38
|
-
emit,
|
|
39
|
-
rule,
|
|
40
|
-
maxSize,
|
|
41
|
-
filename,
|
|
42
|
-
assetType
|
|
43
|
-
}) => {
|
|
44
|
-
const generatorOptions = {
|
|
45
|
-
filename
|
|
46
|
-
};
|
|
47
|
-
if (emit === false) {
|
|
48
|
-
generatorOptions.emit = false;
|
|
49
|
-
}
|
|
50
|
-
rule.oneOf(`${assetType}-asset-url`).type("asset/resource").resourceQuery(/(__inline=false|url)/).set("generator", generatorOptions);
|
|
51
|
-
rule.oneOf(`${assetType}-asset-inline`).type("asset/inline").resourceQuery(/inline/);
|
|
52
|
-
rule.oneOf(`${assetType}-asset`).type("asset").parser({
|
|
53
|
-
dataUrlCondition: {
|
|
54
|
-
maxSize
|
|
55
|
-
}
|
|
56
|
-
}).set("generator", generatorOptions);
|
|
57
|
-
};
|
|
58
|
-
function getRegExpForExts(exts) {
|
|
59
|
-
const matcher = exts.map((ext) => ext.trim()).map((ext) => ext.startsWith(".") ? ext.slice(1) : ext).join("|");
|
|
60
|
-
return new RegExp(
|
|
61
|
-
exts.length === 1 ? `\\.${matcher}$` : `\\.(?:${matcher})$`,
|
|
62
|
-
"i"
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
const pluginAsset = () => ({
|
|
66
|
-
name: "rsbuild:asset",
|
|
67
|
-
setup(api) {
|
|
68
|
-
api.modifyBundlerChain((chain, { isProd, target }) => {
|
|
69
|
-
const config = api.getNormalizedConfig();
|
|
70
|
-
const createAssetRule = (assetType, exts, emit2) => {
|
|
71
|
-
const regExp = getRegExpForExts(exts);
|
|
72
|
-
const distDir = (0, import_shared.getDistPath)(config, assetType);
|
|
73
|
-
const filename = (0, import_shared.getFilename)(config, assetType, isProd);
|
|
74
|
-
const { dataUriLimit } = config.output;
|
|
75
|
-
const maxSize = typeof dataUriLimit === "number" ? dataUriLimit : dataUriLimit[assetType];
|
|
76
|
-
const rule = chain.module.rule(assetType).test(regExp);
|
|
77
|
-
chainStaticAssetRule({
|
|
78
|
-
emit: emit2,
|
|
79
|
-
rule,
|
|
80
|
-
maxSize,
|
|
81
|
-
filename: import_node_path.default.posix.join(distDir, filename),
|
|
82
|
-
assetType
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
const emit = config.output.emitAssets({ target });
|
|
86
|
-
createAssetRule("image", import_shared.IMAGE_EXTENSIONS, emit);
|
|
87
|
-
createAssetRule("svg", ["svg"], emit);
|
|
88
|
-
createAssetRule(
|
|
89
|
-
"media",
|
|
90
|
-
[...import_shared.VIDEO_EXTENSIONS, ...import_shared.AUDIO_EXTENSIONS],
|
|
91
|
-
emit
|
|
92
|
-
);
|
|
93
|
-
createAssetRule("font", import_shared.FONT_EXTENSIONS, emit);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
98
|
-
0 && (module.exports = {
|
|
99
|
-
getRegExpForExts,
|
|
100
|
-
pluginAsset
|
|
101
|
-
});
|
package/dist/plugins/basic.js
DELETED
|
@@ -1,77 +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 basic_exports = {};
|
|
30
|
-
__export(basic_exports, {
|
|
31
|
-
pluginBasic: () => pluginBasic
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(basic_exports);
|
|
34
|
-
var import_node_path = __toESM(require("node:path"));
|
|
35
|
-
var import_shared = require("@rsbuild/shared");
|
|
36
|
-
const pluginBasic = () => ({
|
|
37
|
-
name: "rsbuild:basic",
|
|
38
|
-
setup(api) {
|
|
39
|
-
api.modifyBundlerChain(
|
|
40
|
-
(chain, { env, isProd, target, bundler, CHAIN_ID }) => {
|
|
41
|
-
const config = api.getNormalizedConfig();
|
|
42
|
-
chain.name(import_shared.TARGET_ID_MAP[target]);
|
|
43
|
-
chain.devtool((0, import_shared.getJsSourceMap)(config));
|
|
44
|
-
chain.context(api.context.rootPath);
|
|
45
|
-
chain.mode(isProd ? "production" : "development");
|
|
46
|
-
chain.merge({
|
|
47
|
-
infrastructureLogging: {
|
|
48
|
-
// Using `error` level to avoid `cache.PackFileCacheStrategy` logs
|
|
49
|
-
level: "error"
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
chain.ignoreWarnings([/Conflicting order/]);
|
|
53
|
-
chain.performance.hints(false);
|
|
54
|
-
chain.module.parser.merge({
|
|
55
|
-
javascript: {
|
|
56
|
-
exportsPresence: "error"
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
const isMinimize = isProd && config.output.minify !== false;
|
|
60
|
-
chain.optimization.minimize(isMinimize);
|
|
61
|
-
const usingHMR = (0, import_shared.isUsingHMR)(config, { target, isProd });
|
|
62
|
-
if (usingHMR) {
|
|
63
|
-
chain.plugin(CHAIN_ID.PLUGIN.HMR).use(bundler.HotModuleReplacementPlugin);
|
|
64
|
-
}
|
|
65
|
-
if (env === "development") {
|
|
66
|
-
chain.output.devtoolModuleFilenameTemplate(
|
|
67
|
-
(info) => import_node_path.default.resolve(info.absoluteResourcePath).replace(/\\/g, "/")
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
75
|
-
0 && (module.exports = {
|
|
76
|
-
pluginBasic
|
|
77
|
-
});
|
|
@@ -1,69 +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 bundleAnalyzer_exports = {};
|
|
30
|
-
__export(bundleAnalyzer_exports, {
|
|
31
|
-
pluginBundleAnalyzer: () => pluginBundleAnalyzer
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(bundleAnalyzer_exports);
|
|
34
|
-
var import_shared = require("@rsbuild/shared");
|
|
35
|
-
const isUseAnalyzer = (config) => process.env.BUNDLE_ANALYZE || config.performance?.bundleAnalyze;
|
|
36
|
-
function pluginBundleAnalyzer() {
|
|
37
|
-
return {
|
|
38
|
-
name: "rsbuild:bundle-analyzer",
|
|
39
|
-
setup(api) {
|
|
40
|
-
api.modifyRsbuildConfig((config) => {
|
|
41
|
-
if ((0, import_shared.isProd)() || !isUseAnalyzer(config)) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
config.dev || (config.dev = {});
|
|
45
|
-
config.dev.writeToDisk = true;
|
|
46
|
-
return config;
|
|
47
|
-
});
|
|
48
|
-
api.modifyBundlerChain(async (chain, { CHAIN_ID, target }) => {
|
|
49
|
-
const config = api.getNormalizedConfig();
|
|
50
|
-
if (!isUseAnalyzer(config)) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const { default: BundleAnalyzer } = await Promise.resolve().then(() => __toESM(require("@rsbuild/shared/webpack-bundle-analyzer")));
|
|
54
|
-
chain.plugin(CHAIN_ID.PLUGIN.BUNDLE_ANALYZER).use(BundleAnalyzer.BundleAnalyzerPlugin, [
|
|
55
|
-
{
|
|
56
|
-
analyzerMode: "static",
|
|
57
|
-
openAnalyzer: false,
|
|
58
|
-
reportFilename: `report-${target}.html`,
|
|
59
|
-
...config.performance.bundleAnalyze || {}
|
|
60
|
-
}
|
|
61
|
-
]);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
-
0 && (module.exports = {
|
|
68
|
-
pluginBundleAnalyzer
|
|
69
|
-
});
|
package/dist/plugins/cache.js
DELETED
|
@@ -1,116 +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 cache_exports = {};
|
|
30
|
-
__export(cache_exports, {
|
|
31
|
-
pluginCache: () => pluginCache
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(cache_exports);
|
|
34
|
-
var import_node_crypto = __toESM(require("node:crypto"));
|
|
35
|
-
var import_node_path = require("node:path");
|
|
36
|
-
var import_shared = require("@rsbuild/shared");
|
|
37
|
-
var import_shared2 = require("@rsbuild/shared");
|
|
38
|
-
async function validateCache(cacheDirectory, buildDependencies) {
|
|
39
|
-
const configFile = (0, import_node_path.join)(cacheDirectory, "buildDependencies.json");
|
|
40
|
-
if (await (0, import_shared2.isFileExists)(configFile)) {
|
|
41
|
-
const prevBuildDependencies = await import_shared.fse.readJSON(configFile);
|
|
42
|
-
if (JSON.stringify(prevBuildDependencies) === JSON.stringify(buildDependencies)) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
await import_shared.fse.remove(cacheDirectory);
|
|
46
|
-
}
|
|
47
|
-
await import_shared.fse.outputJSON(configFile, buildDependencies);
|
|
48
|
-
}
|
|
49
|
-
function getDigestHash(digest) {
|
|
50
|
-
const fsHash = import_node_crypto.default.createHash("md5");
|
|
51
|
-
const md5 = fsHash.update(JSON.stringify(digest)).digest("hex").slice(0, 8);
|
|
52
|
-
return md5;
|
|
53
|
-
}
|
|
54
|
-
function getCacheDirectory({ cacheDirectory }, context) {
|
|
55
|
-
if (cacheDirectory) {
|
|
56
|
-
return (0, import_node_path.isAbsolute)(cacheDirectory) ? cacheDirectory : (0, import_node_path.join)(context.rootPath, cacheDirectory);
|
|
57
|
-
}
|
|
58
|
-
return (0, import_node_path.join)(context.cachePath, context.bundlerType);
|
|
59
|
-
}
|
|
60
|
-
async function getBuildDependencies(context, config) {
|
|
61
|
-
const rootPackageJson = (0, import_node_path.join)(context.rootPath, "package.json");
|
|
62
|
-
const browserslistConfig = (0, import_node_path.join)(context.rootPath, ".browserslistrc");
|
|
63
|
-
const buildDependencies = {};
|
|
64
|
-
if (await (0, import_shared2.isFileExists)(rootPackageJson)) {
|
|
65
|
-
buildDependencies.packageJson = [rootPackageJson];
|
|
66
|
-
}
|
|
67
|
-
if (context.tsconfigPath) {
|
|
68
|
-
buildDependencies.tsconfig = [context.tsconfigPath];
|
|
69
|
-
}
|
|
70
|
-
if (config._privateMeta?.configFilePath) {
|
|
71
|
-
buildDependencies.rsbuildConfig = [config._privateMeta.configFilePath];
|
|
72
|
-
}
|
|
73
|
-
if (await (0, import_shared2.isFileExists)(browserslistConfig)) {
|
|
74
|
-
buildDependencies.browserslistrc = [browserslistConfig];
|
|
75
|
-
}
|
|
76
|
-
const tailwindExts = ["ts", "js", "cjs", "mjs"];
|
|
77
|
-
const configs = tailwindExts.map(
|
|
78
|
-
(ext) => (0, import_node_path.join)(context.rootPath, `tailwind.config.${ext}`)
|
|
79
|
-
);
|
|
80
|
-
const tailwindConfig = (0, import_shared2.findExists)(configs);
|
|
81
|
-
if (tailwindConfig) {
|
|
82
|
-
buildDependencies.tailwindcss = [tailwindConfig];
|
|
83
|
-
}
|
|
84
|
-
return buildDependencies;
|
|
85
|
-
}
|
|
86
|
-
const pluginCache = () => ({
|
|
87
|
-
name: "rsbuild:cache",
|
|
88
|
-
setup(api) {
|
|
89
|
-
api.modifyBundlerChain(async (chain, { target, env }) => {
|
|
90
|
-
const config = api.getNormalizedConfig();
|
|
91
|
-
const { buildCache } = config.performance;
|
|
92
|
-
if (buildCache === false) {
|
|
93
|
-
chain.cache(false);
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const { context } = api;
|
|
97
|
-
const cacheConfig = typeof buildCache === "boolean" ? {} : buildCache;
|
|
98
|
-
const cacheDirectory = getCacheDirectory(cacheConfig, context);
|
|
99
|
-
const buildDependencies = await getBuildDependencies(context, config);
|
|
100
|
-
await validateCache(cacheDirectory, buildDependencies);
|
|
101
|
-
const useDigest = Array.isArray(cacheConfig.cacheDigest) && cacheConfig.cacheDigest.length;
|
|
102
|
-
chain.cache({
|
|
103
|
-
// The default cache name of webpack is '${name}-${env}', and the `name` is `default` by default.
|
|
104
|
-
// We set cache name to avoid cache conflicts of different targets.
|
|
105
|
-
name: useDigest ? `${target}-${env}-${getDigestHash(cacheConfig.cacheDigest)}` : `${target}-${env}`,
|
|
106
|
-
type: "filesystem",
|
|
107
|
-
cacheDirectory,
|
|
108
|
-
buildDependencies
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
114
|
-
0 && (module.exports = {
|
|
115
|
-
pluginCache
|
|
116
|
-
});
|
|
@@ -1,68 +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 cleanOutput_exports = {};
|
|
20
|
-
__export(cleanOutput_exports, {
|
|
21
|
-
pluginCleanOutput: () => pluginCleanOutput
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(cleanOutput_exports);
|
|
24
|
-
var import_node_path = require("node:path");
|
|
25
|
-
var import_shared = require("@rsbuild/shared");
|
|
26
|
-
const emptyDir = async (dir) => {
|
|
27
|
-
if (await import_shared.fse.pathExists(dir)) {
|
|
28
|
-
await import_shared.fse.emptyDir(dir);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
const addTrailingSep = (dir) => dir.endsWith(import_node_path.sep) ? dir : dir + import_node_path.sep;
|
|
32
|
-
const isStrictSubdir = (parent, child) => {
|
|
33
|
-
const parentDir = addTrailingSep(parent);
|
|
34
|
-
const childDir = addTrailingSep(child);
|
|
35
|
-
return parentDir !== childDir && childDir.startsWith(parentDir);
|
|
36
|
-
};
|
|
37
|
-
const pluginCleanOutput = () => ({
|
|
38
|
-
name: "rsbuild:clean-output",
|
|
39
|
-
setup(api) {
|
|
40
|
-
const clean = async () => {
|
|
41
|
-
const { distPath, rootPath } = api.context;
|
|
42
|
-
const config = api.getNormalizedConfig();
|
|
43
|
-
let { cleanDistPath } = config.output;
|
|
44
|
-
if (cleanDistPath === void 0) {
|
|
45
|
-
cleanDistPath = isStrictSubdir(rootPath, distPath);
|
|
46
|
-
if (!cleanDistPath) {
|
|
47
|
-
import_shared.logger.warn(
|
|
48
|
-
"The dist path is not a subdir of root path, Rsbuild will not empty it."
|
|
49
|
-
);
|
|
50
|
-
import_shared.logger.warn(
|
|
51
|
-
`Please set ${import_shared.color.yellow("`output.cleanDistPath`")} config manually.`
|
|
52
|
-
);
|
|
53
|
-
import_shared.logger.warn(`Current root path: ${import_shared.color.dim(rootPath)}`);
|
|
54
|
-
import_shared.logger.warn(`Current dist path: ${import_shared.color.dim(distPath)}`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (cleanDistPath) {
|
|
58
|
-
await emptyDir(distPath);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
api.onBeforeBuild(clean);
|
|
62
|
-
api.onBeforeStartDevServer(clean);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
-
0 && (module.exports = {
|
|
67
|
-
pluginCleanOutput
|
|
68
|
-
});
|
package/dist/plugins/css.js
DELETED
|
@@ -1,257 +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 css_exports = {};
|
|
30
|
-
__export(css_exports, {
|
|
31
|
-
applyAutoprefixer: () => applyAutoprefixer,
|
|
32
|
-
applyCSSRule: () => applyCSSRule,
|
|
33
|
-
enableNativeCss: () => enableNativeCss,
|
|
34
|
-
isUseCssExtract: () => isUseCssExtract,
|
|
35
|
-
normalizeCssLoaderOptions: () => normalizeCssLoaderOptions,
|
|
36
|
-
pluginCss: () => pluginCss
|
|
37
|
-
});
|
|
38
|
-
module.exports = __toCommonJS(css_exports);
|
|
39
|
-
var import_node_path = __toESM(require("node:path"));
|
|
40
|
-
var import_shared = require("@rsbuild/shared");
|
|
41
|
-
var import_pluginHelper = require("../pluginHelper");
|
|
42
|
-
var import_shared2 = require("../provider/shared");
|
|
43
|
-
const enableNativeCss = (config) => !config.output.injectStyles;
|
|
44
|
-
const isUseCssExtract = (config, target) => !config.output.injectStyles && target !== "node" && target !== "web-worker";
|
|
45
|
-
const getCssModuleLocalIdentName = (config, isProd) => config.output.cssModules.localIdentName || // Using shorter classname in production to reduce bundle size
|
|
46
|
-
(isProd ? "[local]-[hash:base64:6]" : "[path][name]__[local]-[hash:base64:6]");
|
|
47
|
-
const normalizeCssLoaderOptions = (options, exportOnlyLocals) => {
|
|
48
|
-
if (options.modules && exportOnlyLocals) {
|
|
49
|
-
let { modules } = options;
|
|
50
|
-
if (modules === true) {
|
|
51
|
-
modules = { exportOnlyLocals: true };
|
|
52
|
-
} else if (typeof modules === "string") {
|
|
53
|
-
modules = { mode: modules, exportOnlyLocals: true };
|
|
54
|
-
} else {
|
|
55
|
-
modules = {
|
|
56
|
-
...modules,
|
|
57
|
-
exportOnlyLocals: true
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
...options,
|
|
62
|
-
modules
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
return options;
|
|
66
|
-
};
|
|
67
|
-
const userPostcssrcCache = /* @__PURE__ */ new Map();
|
|
68
|
-
async function loadUserPostcssrc(root) {
|
|
69
|
-
const cached = userPostcssrcCache.get(root);
|
|
70
|
-
if (cached) {
|
|
71
|
-
return cached;
|
|
72
|
-
}
|
|
73
|
-
const { default: postcssrc } = await Promise.resolve().then(() => __toESM(require("../../compiled/postcss-load-config/index.js")));
|
|
74
|
-
const promise = postcssrc({}, root).catch((err) => {
|
|
75
|
-
if (err.message?.includes("No PostCSS Config found")) {
|
|
76
|
-
return {};
|
|
77
|
-
}
|
|
78
|
-
throw err;
|
|
79
|
-
});
|
|
80
|
-
userPostcssrcCache.set(root, promise);
|
|
81
|
-
promise.then((config) => {
|
|
82
|
-
userPostcssrcCache.set(root, config);
|
|
83
|
-
});
|
|
84
|
-
return promise;
|
|
85
|
-
}
|
|
86
|
-
const applyAutoprefixer = async (plugins, browserslist, config) => {
|
|
87
|
-
const pluginObjects = plugins.map(
|
|
88
|
-
(plugin) => (0, import_shared.isFunction)(plugin) ? plugin({}) : plugin
|
|
89
|
-
);
|
|
90
|
-
const hasAutoprefixer = pluginObjects.some((pluginObject) => {
|
|
91
|
-
if ((0, import_shared.isPlainObject)(pluginObject) && "postcssPlugin" in pluginObject) {
|
|
92
|
-
return pluginObject.postcssPlugin === "autoprefixer";
|
|
93
|
-
}
|
|
94
|
-
return false;
|
|
95
|
-
});
|
|
96
|
-
if (!hasAutoprefixer) {
|
|
97
|
-
const { default: autoprefixer } = await Promise.resolve().then(() => __toESM(require("@rsbuild/shared/autoprefixer")));
|
|
98
|
-
const autoprefixerOptions = (0, import_shared.mergeChainedOptions)({
|
|
99
|
-
defaults: {
|
|
100
|
-
flexbox: "no-2009",
|
|
101
|
-
overrideBrowserslist: browserslist
|
|
102
|
-
},
|
|
103
|
-
options: config.tools.autoprefixer
|
|
104
|
-
});
|
|
105
|
-
pluginObjects.push(autoprefixer(autoprefixerOptions));
|
|
106
|
-
}
|
|
107
|
-
return pluginObjects;
|
|
108
|
-
};
|
|
109
|
-
const getPostcssLoaderOptions = async ({
|
|
110
|
-
browserslist,
|
|
111
|
-
config,
|
|
112
|
-
root
|
|
113
|
-
}) => {
|
|
114
|
-
const extraPlugins = [];
|
|
115
|
-
const utils = {
|
|
116
|
-
addPlugins(plugins) {
|
|
117
|
-
if (Array.isArray(plugins)) {
|
|
118
|
-
extraPlugins.push(...plugins);
|
|
119
|
-
} else {
|
|
120
|
-
extraPlugins.push(plugins);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
const userPostcssConfig = await loadUserPostcssrc(root);
|
|
125
|
-
let postcssPlugins = userPostcssConfig.plugins?.slice() || [];
|
|
126
|
-
postcssPlugins = await applyAutoprefixer(
|
|
127
|
-
postcssPlugins,
|
|
128
|
-
browserslist,
|
|
129
|
-
config
|
|
130
|
-
);
|
|
131
|
-
const defaultPostcssConfig = {
|
|
132
|
-
postcssOptions: {
|
|
133
|
-
...userPostcssConfig,
|
|
134
|
-
plugins: postcssPlugins
|
|
135
|
-
},
|
|
136
|
-
sourceMap: config.output.sourceMap.css
|
|
137
|
-
};
|
|
138
|
-
const mergedConfig = (0, import_shared.mergeChainedOptions)({
|
|
139
|
-
defaults: defaultPostcssConfig,
|
|
140
|
-
options: config.tools.postcss,
|
|
141
|
-
utils
|
|
142
|
-
});
|
|
143
|
-
if (extraPlugins.length) {
|
|
144
|
-
mergedConfig?.postcssOptions?.plugins.push(...extraPlugins);
|
|
145
|
-
}
|
|
146
|
-
mergedConfig.postcssOptions || (mergedConfig.postcssOptions = {});
|
|
147
|
-
mergedConfig.postcssOptions.config = false;
|
|
148
|
-
return mergedConfig;
|
|
149
|
-
};
|
|
150
|
-
const getCssLoaderOptions = ({
|
|
151
|
-
config,
|
|
152
|
-
importLoaders,
|
|
153
|
-
target,
|
|
154
|
-
localIdentName
|
|
155
|
-
}) => {
|
|
156
|
-
const { cssModules } = config.output;
|
|
157
|
-
const defaultOptions = {
|
|
158
|
-
importLoaders,
|
|
159
|
-
modules: {
|
|
160
|
-
auto: cssModules.auto,
|
|
161
|
-
namedExport: false,
|
|
162
|
-
exportLocalsConvention: cssModules.exportLocalsConvention,
|
|
163
|
-
localIdentName
|
|
164
|
-
},
|
|
165
|
-
sourceMap: config.output.sourceMap.css
|
|
166
|
-
};
|
|
167
|
-
const mergedCssLoaderOptions = (0, import_shared.mergeChainedOptions)({
|
|
168
|
-
defaults: defaultOptions,
|
|
169
|
-
options: config.tools.cssLoader,
|
|
170
|
-
mergeFn: import_shared.deepmerge
|
|
171
|
-
});
|
|
172
|
-
const cssLoaderOptions = normalizeCssLoaderOptions(
|
|
173
|
-
mergedCssLoaderOptions,
|
|
174
|
-
target !== "web"
|
|
175
|
-
);
|
|
176
|
-
return cssLoaderOptions;
|
|
177
|
-
};
|
|
178
|
-
async function applyCSSRule({
|
|
179
|
-
rule,
|
|
180
|
-
config,
|
|
181
|
-
context,
|
|
182
|
-
utils: { target, isProd, CHAIN_ID },
|
|
183
|
-
importLoaders = 1
|
|
184
|
-
}) {
|
|
185
|
-
const browserslist = await (0, import_shared.getBrowserslistWithDefault)(
|
|
186
|
-
context.rootPath,
|
|
187
|
-
config,
|
|
188
|
-
target
|
|
189
|
-
);
|
|
190
|
-
const enableExtractCSS = isUseCssExtract(config, target);
|
|
191
|
-
const localIdentName = getCssModuleLocalIdentName(config, isProd);
|
|
192
|
-
const cssLoaderOptions = getCssLoaderOptions({
|
|
193
|
-
config,
|
|
194
|
-
importLoaders,
|
|
195
|
-
target,
|
|
196
|
-
localIdentName
|
|
197
|
-
});
|
|
198
|
-
if (target === "web") {
|
|
199
|
-
if (enableExtractCSS) {
|
|
200
|
-
const extraCSSOptions = typeof config.tools.cssExtract === "object" ? config.tools.cssExtract : {
|
|
201
|
-
loaderOptions: {},
|
|
202
|
-
pluginOptions: {}
|
|
203
|
-
};
|
|
204
|
-
rule.use(CHAIN_ID.USE.MINI_CSS_EXTRACT).loader((0, import_pluginHelper.getCssExtractPlugin)().loader).options(extraCSSOptions.loaderOptions).end();
|
|
205
|
-
} else {
|
|
206
|
-
const styleLoaderOptions = (0, import_shared.mergeChainedOptions)({
|
|
207
|
-
defaults: {},
|
|
208
|
-
options: config.tools.styleLoader
|
|
209
|
-
});
|
|
210
|
-
rule.use(CHAIN_ID.USE.STYLE).loader((0, import_shared2.getCompiledPath)("style-loader")).options(styleLoaderOptions).end();
|
|
211
|
-
}
|
|
212
|
-
} else {
|
|
213
|
-
rule.use(CHAIN_ID.USE.IGNORE_CSS).loader(import_node_path.default.resolve(__dirname, "../rspack/ignoreCssLoader")).end();
|
|
214
|
-
}
|
|
215
|
-
rule.use(CHAIN_ID.USE.CSS).loader((0, import_shared2.getCompiledPath)("css-loader")).options(cssLoaderOptions).end();
|
|
216
|
-
if (target === "web") {
|
|
217
|
-
const postcssLoaderOptions = await getPostcssLoaderOptions({
|
|
218
|
-
browserslist,
|
|
219
|
-
config,
|
|
220
|
-
root: context.rootPath
|
|
221
|
-
});
|
|
222
|
-
rule.use(CHAIN_ID.USE.POSTCSS).loader((0, import_shared2.getCompiledPath)("postcss-loader")).options(postcssLoaderOptions).end();
|
|
223
|
-
}
|
|
224
|
-
rule.merge({ sideEffects: true });
|
|
225
|
-
rule.resolve.preferRelative(true);
|
|
226
|
-
}
|
|
227
|
-
const pluginCss = () => {
|
|
228
|
-
return {
|
|
229
|
-
name: "rsbuild:css",
|
|
230
|
-
setup(api) {
|
|
231
|
-
api.modifyBundlerChain(async (chain, utils) => {
|
|
232
|
-
const rule = chain.module.rule(utils.CHAIN_ID.RULE.CSS);
|
|
233
|
-
const config = api.getNormalizedConfig();
|
|
234
|
-
rule.test(import_shared.CSS_REGEX);
|
|
235
|
-
await applyCSSRule({
|
|
236
|
-
rule,
|
|
237
|
-
utils,
|
|
238
|
-
config,
|
|
239
|
-
context: api.context
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
api.modifyRspackConfig(async (rspackConfig) => {
|
|
243
|
-
rspackConfig.experiments || (rspackConfig.experiments = {});
|
|
244
|
-
rspackConfig.experiments.css = false;
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
};
|
|
249
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
250
|
-
0 && (module.exports = {
|
|
251
|
-
applyAutoprefixer,
|
|
252
|
-
applyCSSRule,
|
|
253
|
-
enableNativeCss,
|
|
254
|
-
isUseCssExtract,
|
|
255
|
-
normalizeCssLoaderOptions,
|
|
256
|
-
pluginCss
|
|
257
|
-
});
|