@modern-js/builder 2.46.0 → 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.
Files changed (121) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +14 -16
  3. package/compiled/postcss-load-config/index.d.ts +1 -0
  4. package/compiled/postcss-load-config/index.js +14 -0
  5. package/compiled/postcss-load-config/license +20 -0
  6. package/compiled/postcss-load-config/package.json +1 -0
  7. package/dist/createBuilder.d.ts +8 -2
  8. package/dist/createBuilder.js +124 -39
  9. package/dist/index.d.ts +8 -4
  10. package/dist/index.js +18 -7
  11. package/dist/plugins/babel-post.d.ts +5 -0
  12. package/dist/plugins/{asset.js → babel-post.js} +21 -22
  13. package/dist/plugins/devtools.d.ts +4 -0
  14. package/dist/plugins/{devtool.js → devtools.js} +15 -16
  15. package/dist/plugins/emitRouteFile.d.ts +6 -0
  16. package/dist/plugins/{cleanOutput.js → emitRouteFile.js} +34 -16
  17. package/dist/plugins/environmentDefaults.d.ts +3 -0
  18. package/dist/plugins/environmentDefaults.js +99 -0
  19. package/dist/plugins/globalVars.d.ts +3 -0
  20. package/dist/plugins/{moment.js → globalVars.js} +23 -16
  21. package/dist/plugins/htmlMinify.d.ts +2 -0
  22. package/dist/plugins/htmlMinify.js +126 -0
  23. package/dist/plugins/manifest.d.ts +2 -0
  24. package/dist/plugins/{entry.js → manifest.js} +18 -16
  25. package/dist/plugins/postcss.d.ts +6 -0
  26. package/dist/plugins/postcss.js +133 -0
  27. package/dist/plugins/runtimeChunk.d.ts +2 -0
  28. package/dist/plugins/runtimeChunk.js +55 -0
  29. package/dist/rsc/common.d.ts +22 -0
  30. package/dist/rsc/common.js +174 -0
  31. package/dist/rsc/plugins/rsbuild-rsc-plugin.d.ts +7 -0
  32. package/dist/rsc/plugins/rsbuild-rsc-plugin.js +166 -0
  33. package/dist/rsc/plugins/rspack-rsc-client-plugin.d.ts +14 -0
  34. package/dist/rsc/plugins/rspack-rsc-client-plugin.js +233 -0
  35. package/dist/rsc/plugins/rspack-rsc-server-plugin.d.ts +32 -0
  36. package/dist/rsc/plugins/rspack-rsc-server-plugin.js +290 -0
  37. package/dist/rsc/rsc-client-loader.d.ts +7 -0
  38. package/dist/rsc/rsc-client-loader.js +70 -0
  39. package/dist/rsc/rsc-css-loader.d.ts +2 -0
  40. package/dist/{plugins/yaml.js → rsc/rsc-css-loader.js} +11 -17
  41. package/dist/rsc/rsc-server-loader.d.ts +6 -0
  42. package/dist/rsc/rsc-server-loader.js +95 -0
  43. package/dist/rsc/rsc-ssr-loader.d.ts +6 -0
  44. package/dist/rsc/rsc-ssr-loader.js +58 -0
  45. package/dist/shared/devServer.d.ts +6 -0
  46. package/dist/shared/devServer.js +83 -0
  47. package/dist/shared/getCssSupport.d.ts +1 -0
  48. package/dist/shared/getCssSupport.js +113 -0
  49. package/dist/shared/manifest.d.ts +2 -0
  50. package/dist/{plugins/toml.js → shared/manifest.js} +16 -14
  51. package/dist/shared/parseCommonConfig.d.ts +8 -0
  52. package/dist/shared/parseCommonConfig.js +232 -0
  53. package/dist/shared/utils.d.ts +12 -0
  54. package/dist/shared/utils.js +109 -0
  55. package/dist/types.d.ts +283 -0
  56. package/dist/types.js +16 -0
  57. package/package.json +54 -59
  58. package/dist/cli/commands.d.ts +0 -2
  59. package/dist/cli/commands.js +0 -45
  60. package/dist/cli/config.d.ts +0 -14
  61. package/dist/cli/config.js +0 -72
  62. package/dist/cli/index.d.ts +0 -6
  63. package/dist/cli/index.js +0 -51
  64. package/dist/cli/provider.d.ts +0 -2
  65. package/dist/cli/provider.js +0 -73
  66. package/dist/plugins/antd.d.ts +0 -3
  67. package/dist/plugins/antd.js +0 -63
  68. package/dist/plugins/arco.d.ts +0 -2
  69. package/dist/plugins/arco.js +0 -61
  70. package/dist/plugins/asset.d.ts +0 -2
  71. package/dist/plugins/assetsRetry.d.ts +0 -2
  72. package/dist/plugins/assetsRetry.js +0 -64
  73. package/dist/plugins/bundleAnalyzer.d.ts +0 -2
  74. package/dist/plugins/bundleAnalyzer.js +0 -59
  75. package/dist/plugins/cache.d.ts +0 -2
  76. package/dist/plugins/cache.js +0 -129
  77. package/dist/plugins/checkSyntax.d.ts +0 -2
  78. package/dist/plugins/checkSyntax.js +0 -73
  79. package/dist/plugins/cleanOutput.d.ts +0 -2
  80. package/dist/plugins/define.d.ts +0 -2
  81. package/dist/plugins/define.js +0 -68
  82. package/dist/plugins/devtool.d.ts +0 -2
  83. package/dist/plugins/entry.d.ts +0 -2
  84. package/dist/plugins/externals.d.ts +0 -2
  85. package/dist/plugins/externals.js +0 -48
  86. package/dist/plugins/fileSize.d.ts +0 -4
  87. package/dist/plugins/fileSize.js +0 -164
  88. package/dist/plugins/html.d.ts +0 -3
  89. package/dist/plugins/html.js +0 -236
  90. package/dist/plugins/index.d.ts +0 -2
  91. package/dist/plugins/index.js +0 -74
  92. package/dist/plugins/inlineChunk.d.ts +0 -2
  93. package/dist/plugins/inlineChunk.js +0 -82
  94. package/dist/plugins/moment.d.ts +0 -2
  95. package/dist/plugins/networkPerformance.d.ts +0 -2
  96. package/dist/plugins/networkPerformance.js +0 -54
  97. package/dist/plugins/nodeAddons.d.ts +0 -2
  98. package/dist/plugins/nodeAddons.js +0 -73
  99. package/dist/plugins/performance.d.ts +0 -5
  100. package/dist/plugins/performance.js +0 -66
  101. package/dist/plugins/preloadOrPrefetch.d.ts +0 -2
  102. package/dist/plugins/preloadOrPrefetch.js +0 -57
  103. package/dist/plugins/rem.d.ts +0 -2
  104. package/dist/plugins/rem.js +0 -106
  105. package/dist/plugins/sourceBuild.d.ts +0 -15
  106. package/dist/plugins/sourceBuild.js +0 -121
  107. package/dist/plugins/splitChunks.d.ts +0 -4
  108. package/dist/plugins/splitChunks.js +0 -249
  109. package/dist/plugins/startUrl.d.ts +0 -3
  110. package/dist/plugins/startUrl.js +0 -86
  111. package/dist/plugins/svg.d.ts +0 -2
  112. package/dist/plugins/svg.js +0 -89
  113. package/dist/plugins/target.d.ts +0 -2
  114. package/dist/plugins/target.js +0 -73
  115. package/dist/plugins/toml.d.ts +0 -2
  116. package/dist/plugins/tsChecker.d.ts +0 -2
  117. package/dist/plugins/tsChecker.js +0 -109
  118. package/dist/plugins/wasm.d.ts +0 -2
  119. package/dist/plugins/wasm.js +0 -51
  120. package/dist/plugins/yaml.d.ts +0 -2
  121. package/vitest.config.ts +0 -19
@@ -1,54 +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 networkPerformance_exports = {};
20
- __export(networkPerformance_exports, {
21
- builderPluginNetworkPerformance: () => builderPluginNetworkPerformance
22
- });
23
- module.exports = __toCommonJS(networkPerformance_exports);
24
- var import_builder_shared = require("@modern-js/builder-shared");
25
- const builderPluginNetworkPerformance = () => ({
26
- name: `builder-plugin-network-performance`,
27
- setup(api) {
28
- api.modifyBundlerChain(async (chain, { CHAIN_ID, isServer, isWebWorker, isServiceWorker, HtmlPlugin }) => {
29
- const config = api.getNormalizedConfig();
30
- const { performance: { dnsPrefetch, preconnect } } = config;
31
- if (isServer || isWebWorker || isServiceWorker) {
32
- return;
33
- }
34
- if (dnsPrefetch) {
35
- chain.plugin(CHAIN_ID.PLUGIN.HTML_DNS_PREFETCH).use(import_builder_shared.HtmlNetworkPerformancePlugin, [
36
- dnsPrefetch,
37
- "dnsPrefetch",
38
- HtmlPlugin
39
- ]);
40
- }
41
- if (preconnect) {
42
- chain.plugin(CHAIN_ID.PLUGIN.HTML_PRECONNECT).use(import_builder_shared.HtmlNetworkPerformancePlugin, [
43
- preconnect,
44
- "preconnect",
45
- HtmlPlugin
46
- ]);
47
- }
48
- });
49
- }
50
- });
51
- // Annotate the CommonJS export names for ESM import in node:
52
- 0 && (module.exports = {
53
- builderPluginNetworkPerformance
54
- });
@@ -1,2 +0,0 @@
1
- import { type DefaultBuilderPlugin } from '@modern-js/builder-shared';
2
- export declare const builderPluginNodeAddons: () => DefaultBuilderPlugin;
@@ -1,73 +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 nodeAddons_exports = {};
30
- __export(nodeAddons_exports, {
31
- builderPluginNodeAddons: () => builderPluginNodeAddons
32
- });
33
- module.exports = __toCommonJS(nodeAddons_exports);
34
- var import_builder_shared = require("@modern-js/builder-shared");
35
- const builderPluginNodeAddons = () => ({
36
- name: "builder-plugin-node-addons",
37
- setup(api) {
38
- api.modifyBundlerChain(async (chain, { isServer, isServiceWorker, CHAIN_ID }) => {
39
- if (!isServer && !isServiceWorker) {
40
- return;
41
- }
42
- const { chalk, pkgUp } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
43
- const getDistName = (resource) => {
44
- const pkgJSON = pkgUp.sync({
45
- cwd: resource
46
- });
47
- if (!pkgJSON) {
48
- throw new Error(`Failed to compile Node.js addons, couldn't find the package.json of ${chalk.yellow(resource)}.`);
49
- }
50
- const getFilename = (resource2, pkgName2) => {
51
- const reg = new RegExp(`node_modules/${pkgName2}/(.+)`);
52
- const match = resource2.match(reg);
53
- const filename = match === null || match === void 0 ? void 0 : match[1];
54
- if (!filename) {
55
- return "[name].[ext]";
56
- }
57
- return `${filename}`;
58
- };
59
- const { name: pkgName } = require(pkgJSON);
60
- const config = api.getNormalizedConfig();
61
- const serverPath = (0, import_builder_shared.getDistPath)(config.output, "server");
62
- return `${serverPath}/${getFilename(resource, pkgName)}`;
63
- };
64
- chain.module.rule(CHAIN_ID.RULE.NODE).test(/\.node$/).use(CHAIN_ID.USE.NODE).loader((0, import_builder_shared.getSharedPkgCompiledPath)("node-loader")).options({
65
- name: getDistName
66
- });
67
- });
68
- }
69
- });
70
- // Annotate the CommonJS export names for ESM import in node:
71
- 0 && (module.exports = {
72
- builderPluginNodeAddons
73
- });
@@ -1,5 +0,0 @@
1
- import type { DefaultBuilderPlugin } from '@modern-js/builder-shared';
2
- /**
3
- * Apply some configs of builder performance
4
- */
5
- export declare const builderPluginPerformance: () => DefaultBuilderPlugin;
@@ -1,66 +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 performance_exports = {};
20
- __export(performance_exports, {
21
- builderPluginPerformance: () => builderPluginPerformance
22
- });
23
- module.exports = __toCommonJS(performance_exports);
24
- function applyProfile({ chain, config }) {
25
- const { profile } = config.performance;
26
- if (!profile) {
27
- return;
28
- }
29
- chain.profile(profile);
30
- }
31
- const builderPluginPerformance = () => ({
32
- name: "builder-plugin-performance",
33
- setup(api) {
34
- api.modifyBuilderConfig((builderConfig) => {
35
- var _builderConfig_performance;
36
- if ((_builderConfig_performance = builderConfig.performance) === null || _builderConfig_performance === void 0 ? void 0 : _builderConfig_performance.profile) {
37
- var _builderConfig_performance1;
38
- if (!((_builderConfig_performance1 = builderConfig.performance) === null || _builderConfig_performance1 === void 0 ? void 0 : _builderConfig_performance1.bundleAnalyze)) {
39
- var _builderConfig;
40
- var _performance;
41
- (_performance = (_builderConfig = builderConfig).performance) !== null && _performance !== void 0 ? _performance : _builderConfig.performance = {};
42
- builderConfig.performance.bundleAnalyze = {
43
- analyzerMode: "disabled",
44
- generateStatsFile: true
45
- };
46
- } else {
47
- builderConfig.performance.bundleAnalyze = {
48
- generateStatsFile: true,
49
- ...builderConfig.performance.bundleAnalyze || {}
50
- };
51
- }
52
- }
53
- });
54
- api.modifyBundlerChain((chain) => {
55
- const config = api.getNormalizedConfig();
56
- applyProfile({
57
- chain,
58
- config
59
- });
60
- });
61
- }
62
- });
63
- // Annotate the CommonJS export names for ESM import in node:
64
- 0 && (module.exports = {
65
- builderPluginPerformance
66
- });
@@ -1,2 +0,0 @@
1
- import { type DefaultBuilderPlugin } from '@modern-js/builder-shared';
2
- export declare const builderPluginPreloadOrPrefetch: () => DefaultBuilderPlugin;
@@ -1,57 +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 preloadOrPrefetch_exports = {};
20
- __export(preloadOrPrefetch_exports, {
21
- builderPluginPreloadOrPrefetch: () => builderPluginPreloadOrPrefetch
22
- });
23
- module.exports = __toCommonJS(preloadOrPrefetch_exports);
24
- var import_builder_shared = require("@modern-js/builder-shared");
25
- const builderPluginPreloadOrPrefetch = () => ({
26
- name: `builder-plugin-preload-or-prefetch`,
27
- setup(api) {
28
- api.modifyBundlerChain(async (chain, { CHAIN_ID, isServer, isWebWorker, isServiceWorker, HtmlPlugin }) => {
29
- const config = api.getNormalizedConfig();
30
- const { performance: { preload, prefetch } } = config;
31
- if (isServer || isWebWorker || isServiceWorker) {
32
- return;
33
- }
34
- const HTMLCount = chain.entryPoints.values().length;
35
- if (prefetch) {
36
- chain.plugin(CHAIN_ID.PLUGIN.HTML_PREFETCH).use(import_builder_shared.HTMLPreloadOrPrefetchPlugin, [
37
- prefetch,
38
- "prefetch",
39
- HtmlPlugin,
40
- HTMLCount
41
- ]);
42
- }
43
- if (preload) {
44
- chain.plugin(CHAIN_ID.PLUGIN.HTML_PRELOAD).use(import_builder_shared.HTMLPreloadOrPrefetchPlugin, [
45
- preload,
46
- "preload",
47
- HtmlPlugin,
48
- HTMLCount
49
- ]);
50
- }
51
- });
52
- }
53
- });
54
- // Annotate the CommonJS export names for ESM import in node:
55
- 0 && (module.exports = {
56
- builderPluginPreloadOrPrefetch
57
- });
@@ -1,2 +0,0 @@
1
- import { type DefaultBuilderPlugin } from '@modern-js/builder-shared';
2
- export declare const builderPluginRem: () => DefaultBuilderPlugin;
@@ -1,106 +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 rem_exports = {};
30
- __export(rem_exports, {
31
- builderPluginRem: () => builderPluginRem
32
- });
33
- module.exports = __toCommonJS(rem_exports);
34
- var import_lodash = __toESM(require("@modern-js/utils/lodash"));
35
- var import_builder_shared = require("@modern-js/builder-shared");
36
- const defaultOptions = {
37
- enableRuntime: true,
38
- rootFontSize: 50
39
- };
40
- const builderPluginRem = () => ({
41
- name: "builder-plugin-rem",
42
- pre: [
43
- "builder-plugin-css",
44
- "builder-plugin-less",
45
- "builder-plugin-sass",
46
- "builder-plugin-stylus"
47
- ],
48
- setup(api) {
49
- api.modifyBundlerChain(async (chain, { CHAIN_ID, isServer, isWebWorker, HtmlPlugin }) => {
50
- const config = api.getNormalizedConfig();
51
- const { output: { convertToRem } } = config;
52
- if (!convertToRem || isServer || isWebWorker) {
53
- return;
54
- }
55
- const userOptions = {
56
- ...defaultOptions,
57
- ...typeof convertToRem === "boolean" ? {} : convertToRem
58
- };
59
- const { default: PxToRemPlugin } = await Promise.resolve().then(() => __toESM(require((0, import_builder_shared.getSharedPkgCompiledPath)("postcss-pxtorem"))));
60
- const applyRules = [
61
- CHAIN_ID.RULE.CSS,
62
- CHAIN_ID.RULE.LESS,
63
- CHAIN_ID.RULE.SASS,
64
- CHAIN_ID.RULE.STYLUS
65
- ];
66
- const getPxToRemPlugin = () => PxToRemPlugin({
67
- rootValue: userOptions.rootFontSize,
68
- unitPrecision: 5,
69
- propList: [
70
- "*"
71
- ],
72
- ...import_lodash.default.cloneDeep(userOptions.pxtorem || {})
73
- });
74
- applyRules.forEach((name) => {
75
- chain.module.rules.has(name) && chain.module.rule(name).use(CHAIN_ID.USE.POSTCSS).tap((options = {}) => {
76
- var _options_postcssOptions;
77
- return {
78
- ...options,
79
- postcssOptions: {
80
- ...options.postcssOptions || {},
81
- plugins: [
82
- ...((_options_postcssOptions = options.postcssOptions) === null || _options_postcssOptions === void 0 ? void 0 : _options_postcssOptions.plugins) || [],
83
- getPxToRemPlugin()
84
- ]
85
- }
86
- };
87
- });
88
- });
89
- if (!userOptions.enableRuntime) {
90
- return;
91
- }
92
- const entries = Object.keys(chain.entryPoints.entries() || {});
93
- const distDir = (0, import_builder_shared.getDistPath)(config.output, "js");
94
- chain.plugin(CHAIN_ID.PLUGIN.AUTO_SET_ROOT_SIZE).use(import_builder_shared.AutoSetRootFontSizePlugin, [
95
- userOptions,
96
- entries,
97
- HtmlPlugin,
98
- distDir
99
- ]);
100
- });
101
- }
102
- });
103
- // Annotate the CommonJS export names for ESM import in node:
104
- 0 && (module.exports = {
105
- builderPluginRem
106
- });
@@ -1,15 +0,0 @@
1
- import { type BuilderPlugin } from '@modern-js/builder-shared';
2
- import type { BuilderPluginAPI as WebpackBuilderPluginAPI } from '@modern-js/builder-webpack-provider';
3
- import type { BuilderPluginAPI as RspackBuilderPluginAPI } from '@modern-js/builder-rspack-provider';
4
- import { type Project, type ExtraMonorepoStrategies } from '@rsbuild/monorepo-utils';
5
- export declare const pluginName = "builder-plugin-source-build";
6
- export declare const getSourceInclude: (options: {
7
- projects: Project[];
8
- sourceField: string;
9
- }) => Promise<string[]>;
10
- export interface PluginSourceBuildOptions {
11
- projectName?: string;
12
- sourceField?: string;
13
- extraMonorepoStrategies?: ExtraMonorepoStrategies;
14
- }
15
- export declare function builderPluginSourceBuild(options?: PluginSourceBuildOptions): BuilderPlugin<WebpackBuilderPluginAPI | RspackBuilderPluginAPI>;
@@ -1,121 +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 sourceBuild_exports = {};
30
- __export(sourceBuild_exports, {
31
- builderPluginSourceBuild: () => builderPluginSourceBuild,
32
- getSourceInclude: () => getSourceInclude,
33
- pluginName: () => pluginName
34
- });
35
- module.exports = __toCommonJS(sourceBuild_exports);
36
- var import_builder_shared = require("@modern-js/builder-shared");
37
- var import_monorepo_utils = require("@rsbuild/monorepo-utils");
38
- var import_utils = require("@modern-js/utils");
39
- var import_path = __toESM(require("path"));
40
- const log = (0, import_utils.debug)("BUILDER_PLUGIN_SOURCE_BUILD");
41
- const pluginName = "builder-plugin-source-build";
42
- const getSourceInclude = async (options) => {
43
- const { projects, sourceField } = options;
44
- const includes = [];
45
- for (const project of projects) {
46
- includes.push(...project.getSourceEntryPaths({
47
- field: sourceField
48
- }));
49
- }
50
- log(`get include projects: ${includes}`);
51
- return includes;
52
- };
53
- function builderPluginSourceBuild(options) {
54
- const { projectName, sourceField = "source", extraMonorepoStrategies } = options !== null && options !== void 0 ? options : {};
55
- return {
56
- name: pluginName,
57
- async setup(api) {
58
- const projectRootPath = api.context.rootPath;
59
- let projects = [];
60
- if (api.context.bundlerType === "webpack") {
61
- api.modifyBuilderConfig(async (config) => {
62
- var _config_experiments;
63
- const { sourceBuild } = (_config_experiments = config.experiments) !== null && _config_experiments !== void 0 ? _config_experiments : {};
64
- if (!sourceBuild) {
65
- return;
66
- }
67
- projects = await (0, import_monorepo_utils.getDependentProjects)(projectName || projectRootPath, {
68
- cwd: projectRootPath,
69
- recursive: true,
70
- filter: (0, import_monorepo_utils.filterByField)(sourceField),
71
- extraMonorepoStrategies
72
- });
73
- const includes = await getSourceInclude({
74
- projects,
75
- sourceField
76
- });
77
- var _config_source;
78
- config.source = (_config_source = config.source) !== null && _config_source !== void 0 ? _config_source : {};
79
- var _config_source_include;
80
- config.source.include = [
81
- ...(_config_source_include = config.source.include) !== null && _config_source_include !== void 0 ? _config_source_include : [],
82
- ...includes
83
- ];
84
- });
85
- api.modifyWebpackChain((chain, { CHAIN_ID }) => {
86
- const { experiments: { sourceBuild }, tools: { tsLoader } } = api.getNormalizedConfig();
87
- if (!sourceBuild) {
88
- return;
89
- }
90
- const useTsLoader = Boolean(tsLoader);
91
- chain.module.rule(useTsLoader ? CHAIN_ID.RULE.TS : CHAIN_ID.RULE.JS).resolve.mainFields.merge([
92
- sourceField,
93
- "..."
94
- ]);
95
- chain.module.rule(useTsLoader ? CHAIN_ID.RULE.TS : CHAIN_ID.RULE.JS).resolve.merge({
96
- conditionNames: [
97
- "...",
98
- sourceField
99
- ]
100
- });
101
- const { TS_CONFIG_PATHS } = CHAIN_ID.RESOLVE_PLUGIN;
102
- if (chain.resolve.plugins.has(TS_CONFIG_PATHS)) {
103
- chain.resolve.plugin(TS_CONFIG_PATHS).tap((options2) => {
104
- const references = projects.map((project) => import_path.default.join(project.dir, import_builder_shared.TS_CONFIG_FILE)).filter((filePath) => import_utils.fs.existsSync(filePath)).map((filePath) => import_path.default.relative(projectRootPath, filePath));
105
- return options2.map((option) => ({
106
- ...option,
107
- references
108
- }));
109
- });
110
- }
111
- });
112
- }
113
- }
114
- };
115
- }
116
- // Annotate the CommonJS export names for ESM import in node:
117
- 0 && (module.exports = {
118
- builderPluginSourceBuild,
119
- getSourceInclude,
120
- pluginName
121
- });
@@ -1,4 +0,0 @@
1
- import { type DefaultBuilderPlugin } from '@modern-js/builder-shared';
2
- /** Expect to match path just like "./node_modules/react-router/" */
3
- export declare const createDependenciesRegExp: (...dependencies: (string | RegExp)[]) => RegExp;
4
- export declare function builderPluginSplitChunks(): DefaultBuilderPlugin;