@modern-js/app-tools 2.55.0 → 2.56.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/builder/generator/{createBuilderOptions.js → getBuilderEnvironments.js} +38 -21
- package/dist/cjs/builder/generator/index.js +6 -5
- package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +7 -14
- package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +6 -6
- package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +4 -6
- package/dist/cjs/builder/shared/builderPlugins/adapterWorker.js +5 -3
- package/dist/cjs/commands/inspect.js +1 -2
- package/dist/cjs/config/default.js +0 -2
- package/dist/cjs/config/legacy/index.js +1 -0
- package/dist/cjs/plugins/analyze/getBundleEntry.js +2 -1
- package/dist/esm/builder/generator/{createBuilderOptions.js → getBuilderEnvironments.js} +34 -18
- package/dist/esm/builder/generator/index.js +9 -9
- package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +7 -14
- package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +7 -7
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +6 -8
- package/dist/esm/builder/shared/builderPlugins/adapterWorker.js +6 -4
- package/dist/esm/commands/inspect.js +1 -2
- package/dist/esm/config/default.js +0 -5
- package/dist/esm/config/legacy/index.js +1 -0
- package/dist/esm/plugins/analyze/getBundleEntry.js +2 -1
- package/dist/esm-node/builder/generator/getBuilderEnvironments.js +60 -0
- package/dist/esm-node/builder/generator/index.js +6 -5
- package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +7 -14
- package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +6 -6
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +5 -7
- package/dist/esm-node/builder/shared/builderPlugins/adapterWorker.js +5 -3
- package/dist/esm-node/commands/inspect.js +1 -2
- package/dist/esm-node/config/default.js +0 -2
- package/dist/esm-node/config/legacy/index.js +1 -0
- package/dist/esm-node/plugins/analyze/getBundleEntry.js +2 -1
- package/dist/types/builder/generator/getBuilderEnvironments.d.ts +5 -0
- package/dist/types/types/config/index.d.ts +2 -0
- package/dist/types/types/config/source.d.ts +6 -0
- package/package.json +22 -22
- package/dist/cjs/builder/generator/getBuilderTargets.js +0 -42
- package/dist/esm/builder/generator/getBuilderTargets.js +0 -18
- package/dist/esm-node/builder/generator/createBuilderOptions.js +0 -43
- package/dist/esm-node/builder/generator/getBuilderTargets.js +0 -18
- package/dist/types/builder/generator/createBuilderOptions.d.ts +0 -3
- package/dist/types/builder/generator/getBuilderTargets.d.ts +0 -3
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
16
16
|
return to;
|
17
17
|
};
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
var
|
20
|
-
__export(
|
21
|
-
|
19
|
+
var getBuilderEnvironments_exports = {};
|
20
|
+
__export(getBuilderEnvironments_exports, {
|
21
|
+
getBuilderEnvironments: () => getBuilderEnvironments
|
22
22
|
});
|
23
|
-
module.exports = __toCommonJS(
|
24
|
-
|
23
|
+
module.exports = __toCommonJS(getBuilderEnvironments_exports);
|
24
|
+
var import_utils = require("@modern-js/utils");
|
25
|
+
var import_uni_builder = require("@modern-js/uni-builder");
|
26
|
+
function getBuilderEnvironments(normalizedConfig, appContext) {
|
25
27
|
const entries = {};
|
26
28
|
const { entrypoints = [], checkedEntries } = appContext;
|
27
29
|
for (const { entryName, internalEntry, entry } of entrypoints) {
|
@@ -42,26 +44,41 @@ function createBuilderOptions(target, appContext) {
|
|
42
44
|
const v = entries[entry];
|
43
45
|
serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.server.jsx"));
|
44
46
|
}
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
47
|
+
const environments = {
|
48
|
+
web: {
|
49
|
+
output: {
|
50
|
+
target: "web"
|
51
|
+
},
|
52
|
+
source: {
|
53
|
+
entry: entries
|
52
54
|
}
|
53
|
-
if ([
|
54
|
-
"node",
|
55
|
-
"web-worker",
|
56
|
-
"service-worker"
|
57
|
-
].includes(target2)) {
|
58
|
-
return serverEntries;
|
59
|
-
}
|
60
|
-
return entries;
|
61
55
|
}
|
62
56
|
};
|
57
|
+
const useNodeTarget = (0, import_utils.isProd)() ? (0, import_utils.isUseSSRBundle)(normalizedConfig) : (0, import_utils.isSSR)(normalizedConfig);
|
58
|
+
if (useNodeTarget) {
|
59
|
+
environments.node = {
|
60
|
+
output: {
|
61
|
+
target: "node"
|
62
|
+
},
|
63
|
+
source: {
|
64
|
+
entry: serverEntries
|
65
|
+
}
|
66
|
+
};
|
67
|
+
}
|
68
|
+
const useWorkerTarget = (0, import_utils.isServiceWorker)(normalizedConfig);
|
69
|
+
if (useWorkerTarget) {
|
70
|
+
environments[import_uni_builder.SERVICE_WORKER_ENVIRONMENT_NAME] = {
|
71
|
+
output: {
|
72
|
+
target: "web-worker"
|
73
|
+
},
|
74
|
+
source: {
|
75
|
+
entry: serverEntries
|
76
|
+
}
|
77
|
+
};
|
78
|
+
}
|
79
|
+
return environments;
|
63
80
|
}
|
64
81
|
// Annotate the CommonJS export names for ESM import in node:
|
65
82
|
0 && (module.exports = {
|
66
|
-
|
83
|
+
getBuilderEnvironments
|
67
84
|
});
|
@@ -32,16 +32,17 @@ __export(generator_exports, {
|
|
32
32
|
});
|
33
33
|
module.exports = __toCommonJS(generator_exports);
|
34
34
|
var import_uni_builder = require("@modern-js/uni-builder");
|
35
|
+
var import_core = require("@rsbuild/core");
|
35
36
|
var import_createBuilderProviderConfig = require("./createBuilderProviderConfig");
|
36
|
-
var
|
37
|
-
var import_createBuilderOptions = require("./createBuilderOptions");
|
37
|
+
var import_getBuilderEnvironments = require("./getBuilderEnvironments");
|
38
38
|
async function generateBuilder(options, bundlerType) {
|
39
39
|
const { normalizedConfig, appContext } = options;
|
40
40
|
const builderConfig = (0, import_createBuilderProviderConfig.createBuilderProviderConfig)(normalizedConfig, appContext);
|
41
|
-
const
|
42
|
-
|
41
|
+
const environments = (0, import_getBuilderEnvironments.getBuilderEnvironments)(normalizedConfig, appContext);
|
42
|
+
builderConfig.environments = builderConfig.environments ? (0, import_core.mergeRsbuildConfig)(environments, builderConfig.environments) : environments;
|
43
43
|
const builder = await (0, import_uni_builder.createUniBuilder)({
|
44
|
-
|
44
|
+
cwd: appContext.appDirectory,
|
45
|
+
frameworkConfigPath: appContext.configFile || void 0,
|
45
46
|
bundlerType,
|
46
47
|
config: builderConfig
|
47
48
|
});
|
@@ -32,21 +32,14 @@ __export(adapterBasic_exports, {
|
|
32
32
|
});
|
33
33
|
module.exports = __toCommonJS(adapterBasic_exports);
|
34
34
|
var import_path = __toESM(require("path"));
|
35
|
+
var import_uni_builder = require("@modern-js/uni-builder");
|
35
36
|
const builderPluginAdapterBasic = () => ({
|
36
37
|
name: "builder-plugin-adapter-modern-basic",
|
37
38
|
setup(api) {
|
38
|
-
api.modifyBundlerChain((chain, { target, CHAIN_ID }) => {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
chain.name("service-worker");
|
43
|
-
} else if (target === "web-worker") {
|
44
|
-
chain.name("worker");
|
45
|
-
} else {
|
46
|
-
chain.name("client");
|
47
|
-
}
|
48
|
-
if (target === "node" || target === "service-worker") {
|
49
|
-
applyNodeCompat(target, chain);
|
39
|
+
api.modifyBundlerChain((chain, { target, CHAIN_ID, environment }) => {
|
40
|
+
const isServiceWorker = environment.name === import_uni_builder.SERVICE_WORKER_ENVIRONMENT_NAME;
|
41
|
+
if (target === "node" || isServiceWorker) {
|
42
|
+
applyNodeCompat(isServiceWorker, chain);
|
50
43
|
}
|
51
44
|
if (target === "web") {
|
52
45
|
const bareServerModuleReg = /\.(server|node)\.[tj]sx?$/;
|
@@ -57,7 +50,7 @@ const builderPluginAdapterBasic = () => ({
|
|
57
50
|
});
|
58
51
|
}
|
59
52
|
});
|
60
|
-
function applyNodeCompat(
|
53
|
+
function applyNodeCompat(isServiceWorker, chain) {
|
61
54
|
const nodeExts = [
|
62
55
|
".node.js",
|
63
56
|
".node.jsx",
|
@@ -77,7 +70,7 @@ function applyNodeCompat(target, chain) {
|
|
77
70
|
for (const ext of nodeExts) {
|
78
71
|
chain.resolve.extensions.prepend(ext);
|
79
72
|
}
|
80
|
-
if (
|
73
|
+
if (isServiceWorker) {
|
81
74
|
for (const ext of webWorkerExts) {
|
82
75
|
chain.resolve.extensions.prepend(ext);
|
83
76
|
}
|
@@ -29,15 +29,15 @@ const createVirtualModule = (content) => `data:text/javascript,${content}`;
|
|
29
29
|
const builderPluginAdapterHtml = (options) => ({
|
30
30
|
name: "builder-plugin-adapter-modern-html",
|
31
31
|
setup(api) {
|
32
|
-
api.modifyBundlerChain(async (chain, { CHAIN_ID, target, HtmlPlugin: HtmlBundlerPlugin }) => {
|
33
|
-
const builderConfig =
|
32
|
+
api.modifyBundlerChain(async (chain, { CHAIN_ID, target, HtmlPlugin: HtmlBundlerPlugin, environment }) => {
|
33
|
+
const builderConfig = environment.config;
|
34
34
|
if (!(0, import_uni_builder.isHtmlDisabled)(builderConfig, target)) {
|
35
35
|
applyBottomHtmlPlugin({
|
36
|
-
api,
|
37
36
|
options,
|
38
37
|
chain,
|
39
38
|
CHAIN_ID,
|
40
|
-
HtmlBundlerPlugin
|
39
|
+
HtmlBundlerPlugin,
|
40
|
+
htmlPaths: environment.htmlPaths
|
41
41
|
});
|
42
42
|
await injectAssetPrefix({
|
43
43
|
chain
|
@@ -55,9 +55,9 @@ async function injectAssetPrefix({ chain }) {
|
|
55
55
|
entries[entryName].prepend(createVirtualModule(code));
|
56
56
|
});
|
57
57
|
}
|
58
|
-
function applyBottomHtmlPlugin({
|
58
|
+
function applyBottomHtmlPlugin({ chain, options, CHAIN_ID, HtmlBundlerPlugin, htmlPaths }) {
|
59
59
|
const { normalizedConfig: modernConfig, appContext } = options;
|
60
|
-
for (const entryName of Object.keys(
|
60
|
+
for (const entryName of Object.keys(htmlPaths)) {
|
61
61
|
const { source: { mainEntryName } } = modernConfig;
|
62
62
|
const isMainEntry = entryName === (mainEntryName || import_utils.MAIN_ENTRY_NAME);
|
63
63
|
const baseTemplateParams = {
|
@@ -53,18 +53,16 @@ const builderPluginAdapterSSR = (options) => ({
|
|
53
53
|
}
|
54
54
|
});
|
55
55
|
});
|
56
|
-
api.modifyBundlerChain(async (chain, { target, isProd, HtmlPlugin: HtmlBundlerPlugin, isServer }) => {
|
57
|
-
const builderConfig =
|
56
|
+
api.modifyBundlerChain(async (chain, { target, isProd, HtmlPlugin: HtmlBundlerPlugin, isServer, environment }) => {
|
57
|
+
const builderConfig = environment.config;
|
58
58
|
const { normalizedConfig: normalizedConfig2 } = options;
|
59
59
|
applyRouterPlugin(chain, "route-plugin", options, HtmlBundlerPlugin);
|
60
60
|
if ((0, import_utils.isUseSSRBundle)(normalizedConfig2)) {
|
61
61
|
await applySSRLoaderEntry(chain, options, isServer);
|
62
62
|
applySSRDataLoader(chain, options);
|
63
63
|
}
|
64
|
-
|
65
|
-
|
66
|
-
"service-worker"
|
67
|
-
].includes(target)) {
|
64
|
+
const isServiceWorker = environment.name === import_uni_builder.SERVICE_WORKER_ENVIRONMENT_NAME;
|
65
|
+
if (target === "node" || isServiceWorker) {
|
68
66
|
applyFilterEntriesBySSRConfig({
|
69
67
|
isProd,
|
70
68
|
chain,
|
@@ -22,6 +22,7 @@ __export(adapterWorker_exports, {
|
|
22
22
|
});
|
23
23
|
module.exports = __toCommonJS(adapterWorker_exports);
|
24
24
|
var import_path = require("path");
|
25
|
+
var import_uni_builder = require("@modern-js/uni-builder");
|
25
26
|
const getDistPath = (outputConfig, type) => {
|
26
27
|
const { distPath } = outputConfig;
|
27
28
|
const ret = distPath[type];
|
@@ -33,10 +34,11 @@ const getDistPath = (outputConfig, type) => {
|
|
33
34
|
const builderPluginAdapterWorker = () => ({
|
34
35
|
name: "builder-plugin-adapter-worker",
|
35
36
|
setup(api) {
|
36
|
-
api.modifyBundlerChain(async (chain, {
|
37
|
-
const config =
|
37
|
+
api.modifyBundlerChain(async (chain, { environment }) => {
|
38
|
+
const { config, name } = environment;
|
39
|
+
const isServiceWorker = name === import_uni_builder.SERVICE_WORKER_ENVIRONMENT_NAME;
|
38
40
|
if (isServiceWorker) {
|
39
|
-
const workerPath = getDistPath(config.output, "
|
41
|
+
const workerPath = getDistPath(config.output, "root");
|
40
42
|
const filename = import_path.posix.join(workerPath, `[name].js`);
|
41
43
|
chain.output.filename(filename).chunkFilename(filename).libraryTarget("commonjs2");
|
42
44
|
}
|
@@ -21,7 +21,6 @@ __export(inspect_exports, {
|
|
21
21
|
inspect: () => inspect
|
22
22
|
});
|
23
23
|
module.exports = __toCommonJS(inspect_exports);
|
24
|
-
var import_path = require("path");
|
25
24
|
const inspect = async (api, options) => {
|
26
25
|
const appContext = api.useAppContext();
|
27
26
|
if (!appContext.builder) {
|
@@ -30,7 +29,7 @@ const inspect = async (api, options) => {
|
|
30
29
|
return appContext.builder.inspectConfig({
|
31
30
|
env: options.env,
|
32
31
|
verbose: options.verbose,
|
33
|
-
outputPath:
|
32
|
+
outputPath: options.output,
|
34
33
|
writeToDisk: true
|
35
34
|
});
|
36
35
|
};
|
@@ -39,8 +39,6 @@ function createDefaultConfig(appContext) {
|
|
39
39
|
server: "bundles",
|
40
40
|
worker: "worker"
|
41
41
|
},
|
42
|
-
// no need to emit assets for SSR bundles
|
43
|
-
emitAssets: ({ target }) => target !== "node",
|
44
42
|
cleanDistPath: true,
|
45
43
|
disableNodePolyfill: true,
|
46
44
|
enableInlineRouteManifests: true,
|
@@ -71,7 +71,8 @@ const getBundleEntry = async (hookRunners, appContext, config) => {
|
|
71
71
|
absoluteEntryDir: isDirectory((0, import_utils.ensureAbsolutePath)(appDirectory, entryName)) ? (0, import_utils.ensureAbsolutePath)(appDirectory, entryName) : import_path.default.dirname((0, import_utils.ensureAbsolutePath)(appDirectory, entryName)),
|
72
72
|
isAutoMount,
|
73
73
|
customBootstrap: typeof value === "string" ? false : value.customBootstrap && (0, import_utils.ensureAbsolutePath)(appDirectory, value.customBootstrap),
|
74
|
-
fileSystemRoutes: import_utils.fs.statSync((0, import_utils.ensureAbsolutePath)(appDirectory, entryName)).isDirectory() ? {} : void 0
|
74
|
+
fileSystemRoutes: import_utils.fs.statSync((0, import_utils.ensureAbsolutePath)(appDirectory, entryName)).isDirectory() ? {} : void 0,
|
75
|
+
isCustomSourceEntry: true
|
75
76
|
};
|
76
77
|
if (!ifAlreadyExists(defaults, entrypoint)) {
|
77
78
|
defaults.push(entrypoint);
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
import { isProd, isServiceWorker, isSSR, isUseSSRBundle } from "@modern-js/utils";
|
2
|
+
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
3
|
+
function getBuilderEnvironments(normalizedConfig, appContext) {
|
2
4
|
var entries = {};
|
3
5
|
var _appContext_entrypoints = appContext.entrypoints, entrypoints = _appContext_entrypoints === void 0 ? [] : _appContext_entrypoints, checkedEntries = appContext.checkedEntries;
|
4
6
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
@@ -38,26 +40,40 @@ function createBuilderOptions(target, appContext) {
|
|
38
40
|
return entry2.replace("index.jsx", "index.server.jsx");
|
39
41
|
});
|
40
42
|
}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
return entries;
|
43
|
+
var environments = {
|
44
|
+
web: {
|
45
|
+
output: {
|
46
|
+
target: "web"
|
47
|
+
},
|
48
|
+
source: {
|
49
|
+
entry: entries
|
49
50
|
}
|
50
|
-
if ([
|
51
|
-
"node",
|
52
|
-
"web-worker",
|
53
|
-
"service-worker"
|
54
|
-
].includes(_$target)) {
|
55
|
-
return serverEntries;
|
56
|
-
}
|
57
|
-
return entries;
|
58
51
|
}
|
59
52
|
};
|
53
|
+
var useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
54
|
+
if (useNodeTarget) {
|
55
|
+
environments.node = {
|
56
|
+
output: {
|
57
|
+
target: "node"
|
58
|
+
},
|
59
|
+
source: {
|
60
|
+
entry: serverEntries
|
61
|
+
}
|
62
|
+
};
|
63
|
+
}
|
64
|
+
var useWorkerTarget = isServiceWorker(normalizedConfig);
|
65
|
+
if (useWorkerTarget) {
|
66
|
+
environments[SERVICE_WORKER_ENVIRONMENT_NAME] = {
|
67
|
+
output: {
|
68
|
+
target: "web-worker"
|
69
|
+
},
|
70
|
+
source: {
|
71
|
+
entry: serverEntries
|
72
|
+
}
|
73
|
+
};
|
74
|
+
}
|
75
|
+
return environments;
|
60
76
|
}
|
61
77
|
export {
|
62
|
-
|
78
|
+
getBuilderEnvironments
|
63
79
|
};
|
@@ -1,30 +1,30 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
3
|
-
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
4
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
5
3
|
import { createUniBuilder } from "@modern-js/uni-builder";
|
4
|
+
import { mergeRsbuildConfig } from "@rsbuild/core";
|
6
5
|
import { createBuilderProviderConfig } from "./createBuilderProviderConfig";
|
7
|
-
import {
|
8
|
-
import { createBuilderOptions } from "./createBuilderOptions";
|
6
|
+
import { getBuilderEnvironments } from "./getBuilderEnvironments";
|
9
7
|
function generateBuilder(options, bundlerType) {
|
10
8
|
return _generateBuilder.apply(this, arguments);
|
11
9
|
}
|
12
10
|
function _generateBuilder() {
|
13
11
|
_generateBuilder = _async_to_generator(function(options, bundlerType) {
|
14
|
-
var normalizedConfig, appContext, builderConfig,
|
12
|
+
var normalizedConfig, appContext, builderConfig, environments, builder;
|
15
13
|
return _ts_generator(this, function(_state) {
|
16
14
|
switch (_state.label) {
|
17
15
|
case 0:
|
18
16
|
normalizedConfig = options.normalizedConfig, appContext = options.appContext;
|
19
17
|
builderConfig = createBuilderProviderConfig(normalizedConfig, appContext);
|
20
|
-
|
21
|
-
|
18
|
+
environments = getBuilderEnvironments(normalizedConfig, appContext);
|
19
|
+
builderConfig.environments = builderConfig.environments ? mergeRsbuildConfig(environments, builderConfig.environments) : environments;
|
22
20
|
return [
|
23
21
|
4,
|
24
|
-
createUniBuilder(
|
22
|
+
createUniBuilder({
|
23
|
+
cwd: appContext.appDirectory,
|
24
|
+
frameworkConfigPath: appContext.configFile || void 0,
|
25
25
|
bundlerType,
|
26
26
|
config: builderConfig
|
27
|
-
})
|
27
|
+
})
|
28
28
|
];
|
29
29
|
case 1:
|
30
30
|
builder = _state.sent();
|
@@ -1,21 +1,14 @@
|
|
1
1
|
import path from "path";
|
2
|
+
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
2
3
|
var builderPluginAdapterBasic = function() {
|
3
4
|
return {
|
4
5
|
name: "builder-plugin-adapter-modern-basic",
|
5
6
|
setup: function setup(api) {
|
6
7
|
api.modifyBundlerChain(function(chain, param) {
|
7
|
-
var target = param.target, CHAIN_ID = param.CHAIN_ID;
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
chain.name("service-worker");
|
12
|
-
} else if (target === "web-worker") {
|
13
|
-
chain.name("worker");
|
14
|
-
} else {
|
15
|
-
chain.name("client");
|
16
|
-
}
|
17
|
-
if (target === "node" || target === "service-worker") {
|
18
|
-
applyNodeCompat(target, chain);
|
8
|
+
var target = param.target, CHAIN_ID = param.CHAIN_ID, environment = param.environment;
|
9
|
+
var isServiceWorker = environment.name === SERVICE_WORKER_ENVIRONMENT_NAME;
|
10
|
+
if (target === "node" || isServiceWorker) {
|
11
|
+
applyNodeCompat(isServiceWorker, chain);
|
19
12
|
}
|
20
13
|
if (target === "web") {
|
21
14
|
var bareServerModuleReg = /\.(server|node)\.[tj]sx?$/;
|
@@ -27,7 +20,7 @@ var builderPluginAdapterBasic = function() {
|
|
27
20
|
}
|
28
21
|
};
|
29
22
|
};
|
30
|
-
function applyNodeCompat(
|
23
|
+
function applyNodeCompat(isServiceWorker, chain) {
|
31
24
|
var nodeExts = [
|
32
25
|
".node.js",
|
33
26
|
".node.jsx",
|
@@ -64,7 +57,7 @@ function applyNodeCompat(target, chain) {
|
|
64
57
|
}
|
65
58
|
}
|
66
59
|
}
|
67
|
-
if (
|
60
|
+
if (isServiceWorker) {
|
68
61
|
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
69
62
|
try {
|
70
63
|
for (var _iterator1 = webWorkerExts[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
@@ -15,23 +15,23 @@ var builderPluginAdapterHtml = function(options) {
|
|
15
15
|
setup: function setup(api) {
|
16
16
|
api.modifyBundlerChain(function() {
|
17
17
|
var _ref = _async_to_generator(function(chain, param) {
|
18
|
-
var CHAIN_ID, target, HtmlBundlerPlugin, builderConfig;
|
18
|
+
var CHAIN_ID, target, HtmlBundlerPlugin, environment, builderConfig;
|
19
19
|
return _ts_generator(this, function(_state) {
|
20
20
|
switch (_state.label) {
|
21
21
|
case 0:
|
22
|
-
CHAIN_ID = param.CHAIN_ID, target = param.target, HtmlBundlerPlugin = param.HtmlPlugin;
|
23
|
-
builderConfig =
|
22
|
+
CHAIN_ID = param.CHAIN_ID, target = param.target, HtmlBundlerPlugin = param.HtmlPlugin, environment = param.environment;
|
23
|
+
builderConfig = environment.config;
|
24
24
|
if (!!isHtmlDisabled(builderConfig, target))
|
25
25
|
return [
|
26
26
|
3,
|
27
27
|
2
|
28
28
|
];
|
29
29
|
applyBottomHtmlPlugin({
|
30
|
-
api,
|
31
30
|
options,
|
32
31
|
chain,
|
33
32
|
CHAIN_ID,
|
34
|
-
HtmlBundlerPlugin
|
33
|
+
HtmlBundlerPlugin,
|
34
|
+
htmlPaths: environment.htmlPaths
|
35
35
|
});
|
36
36
|
return [
|
37
37
|
4,
|
@@ -79,7 +79,7 @@ function _injectAssetPrefix() {
|
|
79
79
|
return _injectAssetPrefix.apply(this, arguments);
|
80
80
|
}
|
81
81
|
function applyBottomHtmlPlugin(param) {
|
82
|
-
var
|
82
|
+
var chain = param.chain, options = param.options, CHAIN_ID = param.CHAIN_ID, HtmlBundlerPlugin = param.HtmlBundlerPlugin, htmlPaths = param.htmlPaths;
|
83
83
|
var modernConfig = options.normalizedConfig, appContext = options.appContext;
|
84
84
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
85
85
|
try {
|
@@ -101,7 +101,7 @@ function applyBottomHtmlPlugin(param) {
|
|
101
101
|
];
|
102
102
|
});
|
103
103
|
};
|
104
|
-
for (var _iterator = Object.keys(
|
104
|
+
for (var _iterator = Object.keys(htmlPaths)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)
|
105
105
|
_loop();
|
106
106
|
} catch (err) {
|
107
107
|
_didIteratorError = true;
|
@@ -3,7 +3,7 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
3
|
import * as path from "path";
|
4
4
|
import { mergeRsbuildConfig } from "@rsbuild/core";
|
5
5
|
import { fs, isUseSSRBundle } from "@modern-js/utils";
|
6
|
-
import { isHtmlDisabled } from "@modern-js/uni-builder";
|
6
|
+
import { isHtmlDisabled, SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
7
7
|
import { HtmlAsyncChunkPlugin, RouterPlugin } from "../bundlerPlugins";
|
8
8
|
import { getServerCombinedModueFile } from "../../../plugins/analyze/utils";
|
9
9
|
var builderPluginAdapterSSR = function(options) {
|
@@ -25,12 +25,12 @@ var builderPluginAdapterSSR = function(options) {
|
|
25
25
|
});
|
26
26
|
api.modifyBundlerChain(function() {
|
27
27
|
var _ref = _async_to_generator(function(chain, param) {
|
28
|
-
var target, isProd, HtmlBundlerPlugin, isServer, builderConfig, normalizedConfig2;
|
28
|
+
var target, isProd, HtmlBundlerPlugin, isServer, environment, builderConfig, normalizedConfig2, isServiceWorker;
|
29
29
|
return _ts_generator(this, function(_state) {
|
30
30
|
switch (_state.label) {
|
31
31
|
case 0:
|
32
|
-
target = param.target, isProd = param.isProd, HtmlBundlerPlugin = param.HtmlPlugin, isServer = param.isServer;
|
33
|
-
builderConfig =
|
32
|
+
target = param.target, isProd = param.isProd, HtmlBundlerPlugin = param.HtmlPlugin, isServer = param.isServer, environment = param.environment;
|
33
|
+
builderConfig = environment.config;
|
34
34
|
normalizedConfig2 = options.normalizedConfig;
|
35
35
|
applyRouterPlugin(chain, "route-plugin", options, HtmlBundlerPlugin);
|
36
36
|
if (!isUseSSRBundle(normalizedConfig2))
|
@@ -47,10 +47,8 @@ var builderPluginAdapterSSR = function(options) {
|
|
47
47
|
applySSRDataLoader(chain, options);
|
48
48
|
_state.label = 2;
|
49
49
|
case 2:
|
50
|
-
|
51
|
-
|
52
|
-
"service-worker"
|
53
|
-
].includes(target)) {
|
50
|
+
isServiceWorker = environment.name === SERVICE_WORKER_ENVIRONMENT_NAME;
|
51
|
+
if (target === "node" || isServiceWorker) {
|
54
52
|
applyFilterEntriesBySSRConfig({
|
55
53
|
isProd,
|
56
54
|
chain,
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
3
3
|
import { posix } from "path";
|
4
|
+
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
4
5
|
var getDistPath = function(outputConfig, type) {
|
5
6
|
var distPath = outputConfig.distPath;
|
6
7
|
var ret = distPath[type];
|
@@ -15,12 +16,13 @@ var builderPluginAdapterWorker = function() {
|
|
15
16
|
setup: function setup(api) {
|
16
17
|
api.modifyBundlerChain(function() {
|
17
18
|
var _ref = _async_to_generator(function(chain, param) {
|
18
|
-
var
|
19
|
+
var environment, config, name, isServiceWorker, workerPath, filename;
|
19
20
|
return _ts_generator(this, function(_state) {
|
20
|
-
|
21
|
-
config =
|
21
|
+
environment = param.environment;
|
22
|
+
config = environment.config, name = environment.name;
|
23
|
+
isServiceWorker = name === SERVICE_WORKER_ENVIRONMENT_NAME;
|
22
24
|
if (isServiceWorker) {
|
23
|
-
workerPath = getDistPath(config.output, "
|
25
|
+
workerPath = getDistPath(config.output, "root");
|
24
26
|
filename = posix.join(workerPath, "[name].js");
|
25
27
|
chain.output.filename(filename).chunkFilename(filename).libraryTarget("commonjs2");
|
26
28
|
}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
3
|
-
import { join } from "path";
|
4
3
|
var inspect = function() {
|
5
4
|
var _ref = _async_to_generator(function(api, options) {
|
6
5
|
var appContext;
|
@@ -14,7 +13,7 @@ var inspect = function() {
|
|
14
13
|
appContext.builder.inspectConfig({
|
15
14
|
env: options.env,
|
16
15
|
verbose: options.verbose,
|
17
|
-
outputPath:
|
16
|
+
outputPath: options.output,
|
18
17
|
writeToDisk: true
|
19
18
|
})
|
20
19
|
];
|
@@ -16,11 +16,6 @@ function createDefaultConfig(appContext) {
|
|
16
16
|
server: "bundles",
|
17
17
|
worker: "worker"
|
18
18
|
},
|
19
|
-
// no need to emit assets for SSR bundles
|
20
|
-
emitAssets: function(param) {
|
21
|
-
var target = param.target;
|
22
|
-
return target !== "node";
|
23
|
-
},
|
24
19
|
cleanDistPath: true,
|
25
20
|
disableNodePolyfill: true,
|
26
21
|
enableInlineRouteManifests: true,
|
@@ -67,7 +67,8 @@ var getBundleEntry = function() {
|
|
67
67
|
absoluteEntryDir: isDirectory(ensureAbsolutePath(appDirectory, entryName)) ? ensureAbsolutePath(appDirectory, entryName) : path.dirname(ensureAbsolutePath(appDirectory, entryName)),
|
68
68
|
isAutoMount,
|
69
69
|
customBootstrap: typeof value === "string" ? false : value.customBootstrap && ensureAbsolutePath(appDirectory, value.customBootstrap),
|
70
|
-
fileSystemRoutes: fs.statSync(ensureAbsolutePath(appDirectory, entryName)).isDirectory() ? {} : void 0
|
70
|
+
fileSystemRoutes: fs.statSync(ensureAbsolutePath(appDirectory, entryName)).isDirectory() ? {} : void 0,
|
71
|
+
isCustomSourceEntry: true
|
71
72
|
};
|
72
73
|
if (!ifAlreadyExists(defaults, entrypoint)) {
|
73
74
|
defaults.push(entrypoint);
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { isProd, isServiceWorker, isSSR, isUseSSRBundle } from "@modern-js/utils";
|
2
|
+
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
3
|
+
function getBuilderEnvironments(normalizedConfig, appContext) {
|
4
|
+
const entries = {};
|
5
|
+
const { entrypoints = [], checkedEntries } = appContext;
|
6
|
+
for (const { entryName, internalEntry, entry } of entrypoints) {
|
7
|
+
if (checkedEntries && !checkedEntries.includes(entryName)) {
|
8
|
+
continue;
|
9
|
+
}
|
10
|
+
const finalEntry = internalEntry || entry;
|
11
|
+
if (entryName in entries) {
|
12
|
+
entries[entryName].push(finalEntry);
|
13
|
+
} else {
|
14
|
+
entries[entryName] = [
|
15
|
+
finalEntry
|
16
|
+
];
|
17
|
+
}
|
18
|
+
}
|
19
|
+
const serverEntries = {};
|
20
|
+
for (const entry in entries) {
|
21
|
+
const v = entries[entry];
|
22
|
+
serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.server.jsx"));
|
23
|
+
}
|
24
|
+
const environments = {
|
25
|
+
web: {
|
26
|
+
output: {
|
27
|
+
target: "web"
|
28
|
+
},
|
29
|
+
source: {
|
30
|
+
entry: entries
|
31
|
+
}
|
32
|
+
}
|
33
|
+
};
|
34
|
+
const useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
35
|
+
if (useNodeTarget) {
|
36
|
+
environments.node = {
|
37
|
+
output: {
|
38
|
+
target: "node"
|
39
|
+
},
|
40
|
+
source: {
|
41
|
+
entry: serverEntries
|
42
|
+
}
|
43
|
+
};
|
44
|
+
}
|
45
|
+
const useWorkerTarget = isServiceWorker(normalizedConfig);
|
46
|
+
if (useWorkerTarget) {
|
47
|
+
environments[SERVICE_WORKER_ENVIRONMENT_NAME] = {
|
48
|
+
output: {
|
49
|
+
target: "web-worker"
|
50
|
+
},
|
51
|
+
source: {
|
52
|
+
entry: serverEntries
|
53
|
+
}
|
54
|
+
};
|
55
|
+
}
|
56
|
+
return environments;
|
57
|
+
}
|
58
|
+
export {
|
59
|
+
getBuilderEnvironments
|
60
|
+
};
|
@@ -1,14 +1,15 @@
|
|
1
1
|
import { createUniBuilder } from "@modern-js/uni-builder";
|
2
|
+
import { mergeRsbuildConfig } from "@rsbuild/core";
|
2
3
|
import { createBuilderProviderConfig } from "./createBuilderProviderConfig";
|
3
|
-
import {
|
4
|
-
import { createBuilderOptions } from "./createBuilderOptions";
|
4
|
+
import { getBuilderEnvironments } from "./getBuilderEnvironments";
|
5
5
|
async function generateBuilder(options, bundlerType) {
|
6
6
|
const { normalizedConfig, appContext } = options;
|
7
7
|
const builderConfig = createBuilderProviderConfig(normalizedConfig, appContext);
|
8
|
-
const
|
9
|
-
|
8
|
+
const environments = getBuilderEnvironments(normalizedConfig, appContext);
|
9
|
+
builderConfig.environments = builderConfig.environments ? mergeRsbuildConfig(environments, builderConfig.environments) : environments;
|
10
10
|
const builder = await createUniBuilder({
|
11
|
-
|
11
|
+
cwd: appContext.appDirectory,
|
12
|
+
frameworkConfigPath: appContext.configFile || void 0,
|
12
13
|
bundlerType,
|
13
14
|
config: builderConfig
|
14
15
|
});
|
@@ -1,19 +1,12 @@
|
|
1
1
|
import path from "path";
|
2
|
+
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
2
3
|
const builderPluginAdapterBasic = () => ({
|
3
4
|
name: "builder-plugin-adapter-modern-basic",
|
4
5
|
setup(api) {
|
5
|
-
api.modifyBundlerChain((chain, { target, CHAIN_ID }) => {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
chain.name("service-worker");
|
10
|
-
} else if (target === "web-worker") {
|
11
|
-
chain.name("worker");
|
12
|
-
} else {
|
13
|
-
chain.name("client");
|
14
|
-
}
|
15
|
-
if (target === "node" || target === "service-worker") {
|
16
|
-
applyNodeCompat(target, chain);
|
6
|
+
api.modifyBundlerChain((chain, { target, CHAIN_ID, environment }) => {
|
7
|
+
const isServiceWorker = environment.name === SERVICE_WORKER_ENVIRONMENT_NAME;
|
8
|
+
if (target === "node" || isServiceWorker) {
|
9
|
+
applyNodeCompat(isServiceWorker, chain);
|
17
10
|
}
|
18
11
|
if (target === "web") {
|
19
12
|
const bareServerModuleReg = /\.(server|node)\.[tj]sx?$/;
|
@@ -24,7 +17,7 @@ const builderPluginAdapterBasic = () => ({
|
|
24
17
|
});
|
25
18
|
}
|
26
19
|
});
|
27
|
-
function applyNodeCompat(
|
20
|
+
function applyNodeCompat(isServiceWorker, chain) {
|
28
21
|
const nodeExts = [
|
29
22
|
".node.js",
|
30
23
|
".node.jsx",
|
@@ -44,7 +37,7 @@ function applyNodeCompat(target, chain) {
|
|
44
37
|
for (const ext of nodeExts) {
|
45
38
|
chain.resolve.extensions.prepend(ext);
|
46
39
|
}
|
47
|
-
if (
|
40
|
+
if (isServiceWorker) {
|
48
41
|
for (const ext of webWorkerExts) {
|
49
42
|
chain.resolve.extensions.prepend(ext);
|
50
43
|
}
|
@@ -6,15 +6,15 @@ const createVirtualModule = (content) => `data:text/javascript,${content}`;
|
|
6
6
|
const builderPluginAdapterHtml = (options) => ({
|
7
7
|
name: "builder-plugin-adapter-modern-html",
|
8
8
|
setup(api) {
|
9
|
-
api.modifyBundlerChain(async (chain, { CHAIN_ID, target, HtmlPlugin: HtmlBundlerPlugin }) => {
|
10
|
-
const builderConfig =
|
9
|
+
api.modifyBundlerChain(async (chain, { CHAIN_ID, target, HtmlPlugin: HtmlBundlerPlugin, environment }) => {
|
10
|
+
const builderConfig = environment.config;
|
11
11
|
if (!isHtmlDisabled(builderConfig, target)) {
|
12
12
|
applyBottomHtmlPlugin({
|
13
|
-
api,
|
14
13
|
options,
|
15
14
|
chain,
|
16
15
|
CHAIN_ID,
|
17
|
-
HtmlBundlerPlugin
|
16
|
+
HtmlBundlerPlugin,
|
17
|
+
htmlPaths: environment.htmlPaths
|
18
18
|
});
|
19
19
|
await injectAssetPrefix({
|
20
20
|
chain
|
@@ -32,9 +32,9 @@ async function injectAssetPrefix({ chain }) {
|
|
32
32
|
entries[entryName].prepend(createVirtualModule(code));
|
33
33
|
});
|
34
34
|
}
|
35
|
-
function applyBottomHtmlPlugin({
|
35
|
+
function applyBottomHtmlPlugin({ chain, options, CHAIN_ID, HtmlBundlerPlugin, htmlPaths }) {
|
36
36
|
const { normalizedConfig: modernConfig, appContext } = options;
|
37
|
-
for (const entryName of Object.keys(
|
37
|
+
for (const entryName of Object.keys(htmlPaths)) {
|
38
38
|
const { source: { mainEntryName } } = modernConfig;
|
39
39
|
const isMainEntry = entryName === (mainEntryName || MAIN_ENTRY_NAME);
|
40
40
|
const baseTemplateParams = {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as path from "path";
|
2
2
|
import { mergeRsbuildConfig } from "@rsbuild/core";
|
3
3
|
import { fs, isUseSSRBundle } from "@modern-js/utils";
|
4
|
-
import { isHtmlDisabled } from "@modern-js/uni-builder";
|
4
|
+
import { isHtmlDisabled, SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
5
5
|
import { HtmlAsyncChunkPlugin, RouterPlugin } from "../bundlerPlugins";
|
6
6
|
import { getServerCombinedModueFile } from "../../../plugins/analyze/utils";
|
7
7
|
const builderPluginAdapterSSR = (options) => ({
|
@@ -20,18 +20,16 @@ const builderPluginAdapterSSR = (options) => ({
|
|
20
20
|
}
|
21
21
|
});
|
22
22
|
});
|
23
|
-
api.modifyBundlerChain(async (chain, { target, isProd, HtmlPlugin: HtmlBundlerPlugin, isServer }) => {
|
24
|
-
const builderConfig =
|
23
|
+
api.modifyBundlerChain(async (chain, { target, isProd, HtmlPlugin: HtmlBundlerPlugin, isServer, environment }) => {
|
24
|
+
const builderConfig = environment.config;
|
25
25
|
const { normalizedConfig: normalizedConfig2 } = options;
|
26
26
|
applyRouterPlugin(chain, "route-plugin", options, HtmlBundlerPlugin);
|
27
27
|
if (isUseSSRBundle(normalizedConfig2)) {
|
28
28
|
await applySSRLoaderEntry(chain, options, isServer);
|
29
29
|
applySSRDataLoader(chain, options);
|
30
30
|
}
|
31
|
-
|
32
|
-
|
33
|
-
"service-worker"
|
34
|
-
].includes(target)) {
|
31
|
+
const isServiceWorker = environment.name === SERVICE_WORKER_ENVIRONMENT_NAME;
|
32
|
+
if (target === "node" || isServiceWorker) {
|
35
33
|
applyFilterEntriesBySSRConfig({
|
36
34
|
isProd,
|
37
35
|
chain,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { posix } from "path";
|
2
|
+
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
2
3
|
const getDistPath = (outputConfig, type) => {
|
3
4
|
const { distPath } = outputConfig;
|
4
5
|
const ret = distPath[type];
|
@@ -10,10 +11,11 @@ const getDistPath = (outputConfig, type) => {
|
|
10
11
|
const builderPluginAdapterWorker = () => ({
|
11
12
|
name: "builder-plugin-adapter-worker",
|
12
13
|
setup(api) {
|
13
|
-
api.modifyBundlerChain(async (chain, {
|
14
|
-
const config =
|
14
|
+
api.modifyBundlerChain(async (chain, { environment }) => {
|
15
|
+
const { config, name } = environment;
|
16
|
+
const isServiceWorker = name === SERVICE_WORKER_ENVIRONMENT_NAME;
|
15
17
|
if (isServiceWorker) {
|
16
|
-
const workerPath = getDistPath(config.output, "
|
18
|
+
const workerPath = getDistPath(config.output, "root");
|
17
19
|
const filename = posix.join(workerPath, `[name].js`);
|
18
20
|
chain.output.filename(filename).chunkFilename(filename).libraryTarget("commonjs2");
|
19
21
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { join } from "path";
|
2
1
|
const inspect = async (api, options) => {
|
3
2
|
const appContext = api.useAppContext();
|
4
3
|
if (!appContext.builder) {
|
@@ -7,7 +6,7 @@ const inspect = async (api, options) => {
|
|
7
6
|
return appContext.builder.inspectConfig({
|
8
7
|
env: options.env,
|
9
8
|
verbose: options.verbose,
|
10
|
-
outputPath:
|
9
|
+
outputPath: options.output,
|
11
10
|
writeToDisk: true
|
12
11
|
});
|
13
12
|
};
|
@@ -15,8 +15,6 @@ function createDefaultConfig(appContext) {
|
|
15
15
|
server: "bundles",
|
16
16
|
worker: "worker"
|
17
17
|
},
|
18
|
-
// no need to emit assets for SSR bundles
|
19
|
-
emitAssets: ({ target }) => target !== "node",
|
20
18
|
cleanDistPath: true,
|
21
19
|
disableNodePolyfill: true,
|
22
20
|
enableInlineRouteManifests: true,
|
@@ -38,7 +38,8 @@ const getBundleEntry = async (hookRunners, appContext, config) => {
|
|
38
38
|
absoluteEntryDir: isDirectory(ensureAbsolutePath(appDirectory, entryName)) ? ensureAbsolutePath(appDirectory, entryName) : path.dirname(ensureAbsolutePath(appDirectory, entryName)),
|
39
39
|
isAutoMount,
|
40
40
|
customBootstrap: typeof value === "string" ? false : value.customBootstrap && ensureAbsolutePath(appDirectory, value.customBootstrap),
|
41
|
-
fileSystemRoutes: fs.statSync(ensureAbsolutePath(appDirectory, entryName)).isDirectory() ? {} : void 0
|
41
|
+
fileSystemRoutes: fs.statSync(ensureAbsolutePath(appDirectory, entryName)).isDirectory() ? {} : void 0,
|
42
|
+
isCustomSourceEntry: true
|
42
43
|
};
|
43
44
|
if (!ifAlreadyExists(defaults, entrypoint)) {
|
44
45
|
defaults.push(entrypoint);
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { IAppContext } from '@modern-js/core';
|
2
|
+
import type { AppNormalizedConfig } from '../../types';
|
3
|
+
export declare function getBuilderEnvironments(normalizedConfig: AppNormalizedConfig<'shared'>, appContext: IAppContext): {
|
4
|
+
[name: string]: import("@rsbuild/core/dist-types/types").EnvironmentConfig;
|
5
|
+
};
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { ServerUserConfig, BffUserConfig } from '@modern-js/server-core';
|
2
2
|
import type { UniBuilderPlugin } from '@modern-js/uni-builder';
|
3
|
+
import type { RsbuildConfig } from '@rsbuild/core';
|
3
4
|
import type { Bundler } from '../utils';
|
4
5
|
import type { OutputUserConfig } from './output';
|
5
6
|
import type { SourceUserConfig } from './source';
|
@@ -40,6 +41,7 @@ export interface AppToolsUserConfig<B extends Bundler> {
|
|
40
41
|
builderPlugins?: UniBuilderPlugin[];
|
41
42
|
performance?: PerformanceUserConfig;
|
42
43
|
devtools?: any;
|
44
|
+
environments?: RsbuildConfig['environments'];
|
43
45
|
}
|
44
46
|
interface SharedNormalizedConfig<RawConfig> {
|
45
47
|
cliOptions?: Record<string, any>;
|
@@ -9,9 +9,15 @@ export type Entry = string | {
|
|
9
9
|
*/
|
10
10
|
disableMount?: boolean;
|
11
11
|
/**
|
12
|
+
* @deprecated
|
13
|
+
* Using customEntry instead.
|
12
14
|
* Specify the file path of custom bootstrap.
|
13
15
|
*/
|
14
16
|
customBootstrap?: string;
|
17
|
+
/**
|
18
|
+
* use src/{entryName}/entry.tsx to custom entry
|
19
|
+
*/
|
20
|
+
customEntry?: boolean;
|
15
21
|
};
|
16
22
|
export type Entries = Record<string, Entry>;
|
17
23
|
export interface SourceUserConfig extends NonNullable<UniBuilderConfig['source']> {
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.
|
18
|
+
"version": "2.56.0",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/index.d.ts",
|
21
21
|
"main": "./dist/cjs/index.js",
|
@@ -76,9 +76,9 @@
|
|
76
76
|
"dependencies": {
|
77
77
|
"@babel/parser": "^7.22.15",
|
78
78
|
"@babel/traverse": "^7.23.2",
|
79
|
-
"@babel/types": "^7.
|
80
|
-
"@rsbuild/plugin-node-polyfill": "0.
|
81
|
-
"@rsbuild/core": "0.
|
79
|
+
"@babel/types": "^7.24.7",
|
80
|
+
"@rsbuild/plugin-node-polyfill": "1.0.3",
|
81
|
+
"@rsbuild/core": "1.0.1-beta.3",
|
82
82
|
"@swc/helpers": "0.5.3",
|
83
83
|
"@vercel/nft": "^0.26.4",
|
84
84
|
"es-module-lexer": "^1.1.0",
|
@@ -87,23 +87,23 @@
|
|
87
87
|
"mlly": "^1.6.1",
|
88
88
|
"pkg-types": "^1.1.0",
|
89
89
|
"std-env": "^3.7.0",
|
90
|
-
"@modern-js/
|
91
|
-
"@modern-js/
|
92
|
-
"@modern-js/plugin": "2.
|
93
|
-
"@modern-js/plugin-data-loader": "2.
|
94
|
-
"@modern-js/plugin-i18n": "2.
|
95
|
-
"@modern-js/
|
96
|
-
"@modern-js/
|
97
|
-
"@modern-js/
|
98
|
-
"@modern-js/server": "2.
|
99
|
-
"@modern-js/server-
|
100
|
-
"@modern-js/
|
101
|
-
"@modern-js/
|
102
|
-
"@modern-js/
|
103
|
-
"@modern-js/
|
90
|
+
"@modern-js/core": "2.56.0",
|
91
|
+
"@modern-js/node-bundle-require": "2.56.0",
|
92
|
+
"@modern-js/plugin": "2.56.0",
|
93
|
+
"@modern-js/plugin-data-loader": "2.56.0",
|
94
|
+
"@modern-js/plugin-i18n": "2.56.0",
|
95
|
+
"@modern-js/prod-server": "2.56.0",
|
96
|
+
"@modern-js/plugin-lint": "2.56.0",
|
97
|
+
"@modern-js/rsbuild-plugin-esbuild": "2.56.0",
|
98
|
+
"@modern-js/server": "2.56.0",
|
99
|
+
"@modern-js/server-core": "2.56.0",
|
100
|
+
"@modern-js/server-utils": "2.56.0",
|
101
|
+
"@modern-js/uni-builder": "2.56.0",
|
102
|
+
"@modern-js/types": "2.56.0",
|
103
|
+
"@modern-js/utils": "2.56.0"
|
104
104
|
},
|
105
105
|
"devDependencies": {
|
106
|
-
"@rsbuild/plugin-swc": "0.
|
106
|
+
"@rsbuild/plugin-swc": "1.0.1-beta.3",
|
107
107
|
"@types/babel__traverse": "7.18.5",
|
108
108
|
"@types/jest": "^29",
|
109
109
|
"@types/node": "^14",
|
@@ -111,9 +111,9 @@
|
|
111
111
|
"ts-node": "^10.9.1",
|
112
112
|
"tsconfig-paths": "^4.2.0",
|
113
113
|
"typescript": "^5",
|
114
|
-
"webpack": "^5.
|
115
|
-
"@scripts/build": "2.
|
116
|
-
"@scripts/jest-config": "2.
|
114
|
+
"webpack": "^5.93.0",
|
115
|
+
"@scripts/build": "2.56.0",
|
116
|
+
"@scripts/jest-config": "2.56.0"
|
117
117
|
},
|
118
118
|
"sideEffects": false,
|
119
119
|
"publishConfig": {
|
@@ -1,42 +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 getBuilderTargets_exports = {};
|
20
|
-
__export(getBuilderTargets_exports, {
|
21
|
-
getBuilderTargets: () => getBuilderTargets
|
22
|
-
});
|
23
|
-
module.exports = __toCommonJS(getBuilderTargets_exports);
|
24
|
-
var import_utils = require("@modern-js/utils");
|
25
|
-
function getBuilderTargets(normalizedConfig) {
|
26
|
-
const targets = [
|
27
|
-
"web"
|
28
|
-
];
|
29
|
-
const useNodeTarget = (0, import_utils.isProd)() ? (0, import_utils.isUseSSRBundle)(normalizedConfig) : (0, import_utils.isSSR)(normalizedConfig);
|
30
|
-
if (useNodeTarget) {
|
31
|
-
targets.push("node");
|
32
|
-
}
|
33
|
-
const useWorkerTarget = (0, import_utils.isServiceWorker)(normalizedConfig);
|
34
|
-
if (useWorkerTarget) {
|
35
|
-
targets.push("service-worker");
|
36
|
-
}
|
37
|
-
return targets;
|
38
|
-
}
|
39
|
-
// Annotate the CommonJS export names for ESM import in node:
|
40
|
-
0 && (module.exports = {
|
41
|
-
getBuilderTargets
|
42
|
-
});
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { isProd, isServiceWorker, isSSR, isUseSSRBundle } from "@modern-js/utils";
|
2
|
-
function getBuilderTargets(normalizedConfig) {
|
3
|
-
var targets = [
|
4
|
-
"web"
|
5
|
-
];
|
6
|
-
var useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
7
|
-
if (useNodeTarget) {
|
8
|
-
targets.push("node");
|
9
|
-
}
|
10
|
-
var useWorkerTarget = isServiceWorker(normalizedConfig);
|
11
|
-
if (useWorkerTarget) {
|
12
|
-
targets.push("service-worker");
|
13
|
-
}
|
14
|
-
return targets;
|
15
|
-
}
|
16
|
-
export {
|
17
|
-
getBuilderTargets
|
18
|
-
};
|
@@ -1,43 +0,0 @@
|
|
1
|
-
function createBuilderOptions(target, appContext) {
|
2
|
-
const entries = {};
|
3
|
-
const { entrypoints = [], checkedEntries } = appContext;
|
4
|
-
for (const { entryName, internalEntry, entry } of entrypoints) {
|
5
|
-
if (checkedEntries && !checkedEntries.includes(entryName)) {
|
6
|
-
continue;
|
7
|
-
}
|
8
|
-
const finalEntry = internalEntry || entry;
|
9
|
-
if (entryName in entries) {
|
10
|
-
entries[entryName].push(finalEntry);
|
11
|
-
} else {
|
12
|
-
entries[entryName] = [
|
13
|
-
finalEntry
|
14
|
-
];
|
15
|
-
}
|
16
|
-
}
|
17
|
-
const serverEntries = {};
|
18
|
-
for (const entry in entries) {
|
19
|
-
const v = entries[entry];
|
20
|
-
serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.server.jsx"));
|
21
|
-
}
|
22
|
-
return {
|
23
|
-
cwd: appContext.appDirectory,
|
24
|
-
target,
|
25
|
-
frameworkConfigPath: appContext.configFile || void 0,
|
26
|
-
entry({ target: target2 }) {
|
27
|
-
if (target2 === "web") {
|
28
|
-
return entries;
|
29
|
-
}
|
30
|
-
if ([
|
31
|
-
"node",
|
32
|
-
"web-worker",
|
33
|
-
"service-worker"
|
34
|
-
].includes(target2)) {
|
35
|
-
return serverEntries;
|
36
|
-
}
|
37
|
-
return entries;
|
38
|
-
}
|
39
|
-
};
|
40
|
-
}
|
41
|
-
export {
|
42
|
-
createBuilderOptions
|
43
|
-
};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { isProd, isServiceWorker, isSSR, isUseSSRBundle } from "@modern-js/utils";
|
2
|
-
function getBuilderTargets(normalizedConfig) {
|
3
|
-
const targets = [
|
4
|
-
"web"
|
5
|
-
];
|
6
|
-
const useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
7
|
-
if (useNodeTarget) {
|
8
|
-
targets.push("node");
|
9
|
-
}
|
10
|
-
const useWorkerTarget = isServiceWorker(normalizedConfig);
|
11
|
-
if (useWorkerTarget) {
|
12
|
-
targets.push("service-worker");
|
13
|
-
}
|
14
|
-
return targets;
|
15
|
-
}
|
16
|
-
export {
|
17
|
-
getBuilderTargets
|
18
|
-
};
|
@@ -1,3 +0,0 @@
|
|
1
|
-
import type { RsbuildTarget, CreateUniBuilderOptions } from '@modern-js/uni-builder';
|
2
|
-
import type { IAppContext } from '@modern-js/core';
|
3
|
-
export declare function createBuilderOptions(target: RsbuildTarget | RsbuildTarget[], appContext: IAppContext): Omit<CreateUniBuilderOptions, 'bundlerType' | 'config'>;
|