@modern-js/app-tools 2.66.0 → 2.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/builder/generator/index.js +1 -1
- package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +8 -1
- package/dist/cjs/constants.js +5 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/run/index.js +31 -4
- package/dist/cjs/utils/{isAutoLoadPlugins.js → getUserConfig.js} +9 -10
- package/dist/cjs/utils/initAppContext.js +2 -3
- package/dist/esm/builder/generator/index.js +1 -1
- package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +8 -1
- package/dist/esm/constants.js +3 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/run/index.js +17 -8
- package/dist/esm/utils/getUserConfig.js +32 -0
- package/dist/esm/utils/initAppContext.js +2 -3
- package/dist/esm-node/builder/generator/index.js +1 -1
- package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +8 -1
- package/dist/esm-node/constants.js +3 -1
- package/dist/esm-node/index.js +1 -1
- package/dist/esm-node/run/index.js +23 -6
- package/dist/esm-node/utils/getUserConfig.js +10 -0
- package/dist/esm-node/utils/initAppContext.js +2 -3
- package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +3 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/run/index.d.ts +2 -1
- package/dist/types/utils/getUserConfig.d.ts +6 -0
- package/dist/types/utils/initAppContext.d.ts +2 -3
- package/package.json +17 -17
- package/dist/esm/utils/isAutoLoadPlugins.js +0 -32
- package/dist/esm-node/utils/isAutoLoadPlugins.js +0 -11
- package/dist/types/utils/isAutoLoadPlugins.d.ts +0 -1
@@ -55,7 +55,7 @@ async function generateBuilder(options, bundlerType) {
|
|
55
55
|
async function applyBuilderPlugins(builder, options) {
|
56
56
|
const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterHooks } = await import("../shared/builderPlugins/index.js");
|
57
57
|
builder.addPlugins([
|
58
|
-
builderPluginAdapterBasic(),
|
58
|
+
builderPluginAdapterBasic(options),
|
59
59
|
builderPluginAdapterSSR(options),
|
60
60
|
builderPluginAdapterHtml(options),
|
61
61
|
builderPluginAdapterHooks(options)
|
@@ -33,7 +33,7 @@ __export(adapterBasic_exports, {
|
|
33
33
|
module.exports = __toCommonJS(adapterBasic_exports);
|
34
34
|
var import_path = __toESM(require("path"));
|
35
35
|
var import_uni_builder = require("@modern-js/uni-builder");
|
36
|
-
const builderPluginAdapterBasic = () => ({
|
36
|
+
const builderPluginAdapterBasic = (options) => ({
|
37
37
|
name: "builder-plugin-adapter-modern-basic",
|
38
38
|
setup(api) {
|
39
39
|
api.modifyBundlerChain((chain, { target, CHAIN_ID, environment }) => {
|
@@ -46,7 +46,14 @@ const builderPluginAdapterBasic = () => ({
|
|
46
46
|
chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(bareServerModuleReg);
|
47
47
|
chain.module.rule("bare-server-module").test(bareServerModuleReg).use("server-module-loader").loader(require.resolve("../loaders/serverModuleLoader"));
|
48
48
|
}
|
49
|
+
const { appContext } = options;
|
50
|
+
const { metaName } = appContext;
|
49
51
|
chain.resolve.modules.add("node_modules").add(import_path.default.join(api.context.rootPath, "node_modules"));
|
52
|
+
chain.watchOptions({
|
53
|
+
ignored: [
|
54
|
+
`[\\\\/](?:node_modules(?![\\\\/]\\.${metaName})|.git)[\\\\/]`
|
55
|
+
]
|
56
|
+
});
|
50
57
|
});
|
51
58
|
}
|
52
59
|
});
|
package/dist/cjs/constants.js
CHANGED
@@ -21,10 +21,12 @@ __export(constants_exports, {
|
|
21
21
|
DEFAULT_CONFIG_FILE: () => DEFAULT_CONFIG_FILE,
|
22
22
|
DEFAULT_RUNTIME_CONFIG_FILE: () => DEFAULT_RUNTIME_CONFIG_FILE,
|
23
23
|
DEFAULT_SERVER_CONFIG_FILE: () => DEFAULT_SERVER_CONFIG_FILE,
|
24
|
-
PACKAGE_JSON_CONFIG_NAME: () => PACKAGE_JSON_CONFIG_NAME
|
24
|
+
PACKAGE_JSON_CONFIG_NAME: () => PACKAGE_JSON_CONFIG_NAME,
|
25
|
+
STATE_PLUGIN_NAME: () => STATE_PLUGIN_NAME
|
25
26
|
});
|
26
27
|
module.exports = __toCommonJS(constants_exports);
|
27
28
|
const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
29
|
+
const STATE_PLUGIN_NAME = "@modern-js/plugin-state";
|
28
30
|
const DEFAULT_CONFIG_FILE = "modern.config";
|
29
31
|
const DEFAULT_SERVER_CONFIG_FILE = "modern.server-runtime.config";
|
30
32
|
const DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
|
@@ -33,5 +35,6 @@ const DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
|
|
33
35
|
DEFAULT_CONFIG_FILE,
|
34
36
|
DEFAULT_RUNTIME_CONFIG_FILE,
|
35
37
|
DEFAULT_SERVER_CONFIG_FILE,
|
36
|
-
PACKAGE_JSON_CONFIG_NAME
|
38
|
+
PACKAGE_JSON_CONFIG_NAME,
|
39
|
+
STATE_PLUGIN_NAME
|
37
40
|
});
|
package/dist/cjs/index.js
CHANGED
@@ -117,8 +117,8 @@ const appTools = (options = {
|
|
117
117
|
locale
|
118
118
|
});
|
119
119
|
api.updateAppContext((0, import_initAppContext.initAppContext)({
|
120
|
+
metaName: context.metaName,
|
120
121
|
appDirectory: context.appDirectory,
|
121
|
-
options: {},
|
122
122
|
serverConfigFile: import_constants.DEFAULT_SERVER_CONFIG_FILE,
|
123
123
|
runtimeConfigFile: import_constants.DEFAULT_RUNTIME_CONFIG_FILE,
|
124
124
|
tempDir: (_userConfig_output = userConfig.output) === null || _userConfig_output === void 0 ? void 0 : _userConfig_output.tempDir
|
package/dist/cjs/run/index.js
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __create = Object.create;
|
2
3
|
var __defProp = Object.defineProperty;
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
8
|
var __export = (target, all) => {
|
7
9
|
for (var name in all)
|
@@ -15,21 +17,31 @@ var __copyProps = (to, from, except, desc) => {
|
|
15
17
|
}
|
16
18
|
return to;
|
17
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
|
+
));
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
29
|
var run_exports = {};
|
20
30
|
__export(run_exports, {
|
21
31
|
run: () => run
|
22
32
|
});
|
23
33
|
module.exports = __toCommonJS(run_exports);
|
34
|
+
var import_path = __toESM(require("path"));
|
24
35
|
var import_cli = require("@modern-js/plugin-v2/cli");
|
25
36
|
var import_run = require("@modern-js/plugin-v2/run");
|
26
37
|
var import_utils = require("@modern-js/utils");
|
27
38
|
var import_hooks = require("../compat/hooks");
|
28
39
|
var import_constants = require("../constants");
|
29
40
|
var import_getConfigFile = require("../utils/getConfigFile");
|
30
|
-
var
|
41
|
+
var import_getUserConfig = require("../utils/getUserConfig");
|
31
42
|
var import_loadPlugins = require("../utils/loadPlugins");
|
32
|
-
async function run({ cwd, initialLog, metaName = "
|
43
|
+
async function run({ cwd, initialLog, metaName = "modern-js", version, internalPlugins, packageJsonConfig = import_constants.PACKAGE_JSON_CONFIG_NAME, statePluginName = import_constants.STATE_PLUGIN_NAME, configFile }) {
|
44
|
+
var _userConfig_runtime, _userConfig_runtime1;
|
33
45
|
const command = process.argv[2];
|
34
46
|
const cliParams = (0, import_utils.minimist)(process.argv.slice(2));
|
35
47
|
const SUPPORT_CONFIG_PARAM_COMMANDS = [
|
@@ -64,8 +76,23 @@ async function run({ cwd, initialLog, metaName = "MODERN", version, internalPlug
|
|
64
76
|
}
|
65
77
|
const appDirectory = await (0, import_cli.initAppDir)(cwd);
|
66
78
|
const finalConfigFile = customConfigFile || (0, import_getConfigFile.getConfigFile)(configFile);
|
67
|
-
const
|
68
|
-
const plugins = await (0, import_loadPlugins.loadInternalPlugins)(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, autoLoadPlugins);
|
79
|
+
const userConfig = await (0, import_getUserConfig.getUserConfig)(appDirectory, finalConfigFile, packageJsonConfig, metaName);
|
80
|
+
const plugins = await (0, import_loadPlugins.loadInternalPlugins)(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, userConfig.autoLoadPlugins);
|
81
|
+
if (!userConfig.autoLoadPlugins && userConfig.runtime && typeof userConfig.runtime !== "boolean" && (((_userConfig_runtime = userConfig.runtime) === null || _userConfig_runtime === void 0 ? void 0 : _userConfig_runtime.state) === true || typeof ((_userConfig_runtime1 = userConfig.runtime) === null || _userConfig_runtime1 === void 0 ? void 0 : _userConfig_runtime1.state) === "object")) {
|
82
|
+
if (!userConfig.plugins.find((plugin) => plugin.name === statePluginName)) {
|
83
|
+
console.warn(`${import_utils.chalk.red("\n[Warning]")} We will no longer support built-in \`runtime.state\`. If you want to use Reduck, you must run ${import_utils.chalk.yellow.bold(`\`pnpm add ${statePluginName}@${version}\``)} to install the state plugin dependency and manually register the plugin. After install state plugin, please add the following code to ${import_utils.chalk.yellow.bold(`\`${import_path.default.basename(finalConfigFile)}\``)}:
|
84
|
+
|
85
|
+
${import_utils.chalk.yellow.bold(`import { statePlugin } from '${statePluginName}';
|
86
|
+
|
87
|
+
export default defineConfig({
|
88
|
+
plugins: [
|
89
|
+
...,
|
90
|
+
statePlugin(),
|
91
|
+
],
|
92
|
+
});
|
93
|
+
`)}`);
|
94
|
+
}
|
95
|
+
}
|
69
96
|
await (0, import_run.run)({
|
70
97
|
cwd,
|
71
98
|
initialLog: initialLog || `Modern.js Framework v${version}`,
|
@@ -16,20 +16,19 @@ 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 getUserConfig_exports = {};
|
20
|
+
__export(getUserConfig_exports, {
|
21
|
+
getUserConfig: () => getUserConfig
|
22
22
|
});
|
23
|
-
module.exports = __toCommonJS(
|
23
|
+
module.exports = __toCommonJS(getUserConfig_exports);
|
24
24
|
var import_cli = require("@modern-js/plugin-v2/cli");
|
25
|
-
async function
|
26
|
-
|
27
|
-
(0, import_cli.loadEnv)(appDirectory, process.env[`${
|
25
|
+
async function getUserConfig(appDirectory, configFile, packageJsonConfig, metaName) {
|
26
|
+
const envName = metaName === "modern-js" ? "MODERN" : metaName;
|
27
|
+
(0, import_cli.loadEnv)(appDirectory, process.env[`${envName.toUpperCase()}_ENV`]);
|
28
28
|
const loaded = await (0, import_cli.createLoadedConfig)(appDirectory, configFile, packageJsonConfig);
|
29
|
-
|
30
|
-
return autoLoadPlugins || false;
|
29
|
+
return loaded.config || {};
|
31
30
|
}
|
32
31
|
// Annotate the CommonJS export names for ESM import in node:
|
33
32
|
0 && (module.exports = {
|
34
|
-
|
33
|
+
getUserConfig
|
35
34
|
});
|
@@ -33,11 +33,10 @@ __export(initAppContext_exports, {
|
|
33
33
|
module.exports = __toCommonJS(initAppContext_exports);
|
34
34
|
var import_path = __toESM(require("path"));
|
35
35
|
var import_utils = require("@modern-js/utils");
|
36
|
-
const initAppContext = ({ appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir }) => {
|
37
|
-
const {
|
36
|
+
const initAppContext = ({ metaName, appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir }) => {
|
37
|
+
const { apiDir = "api", sharedDir = "shared" } = options || {};
|
38
38
|
const pkgPath = import_path.default.resolve(appDirectory, "./package.json");
|
39
39
|
return {
|
40
|
-
metaName,
|
41
40
|
runtimeConfigFile,
|
42
41
|
serverConfigFile,
|
43
42
|
ip: import_utils.address.ip(),
|
@@ -62,7 +62,7 @@ function _applyBuilderPlugins() {
|
|
62
62
|
case 1:
|
63
63
|
_ref = _state.sent(), builderPluginAdapterBasic = _ref.builderPluginAdapterBasic, builderPluginAdapterHtml = _ref.builderPluginAdapterHtml, builderPluginAdapterSSR = _ref.builderPluginAdapterSSR, builderPluginAdapterHooks = _ref.builderPluginAdapterHooks;
|
64
64
|
builder.addPlugins([
|
65
|
-
builderPluginAdapterBasic(),
|
65
|
+
builderPluginAdapterBasic(options),
|
66
66
|
builderPluginAdapterSSR(options),
|
67
67
|
builderPluginAdapterHtml(options),
|
68
68
|
builderPluginAdapterHooks(options)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
3
|
-
var builderPluginAdapterBasic = function() {
|
3
|
+
var builderPluginAdapterBasic = function(options) {
|
4
4
|
return {
|
5
5
|
name: "builder-plugin-adapter-modern-basic",
|
6
6
|
setup: function setup(api) {
|
@@ -15,7 +15,14 @@ var builderPluginAdapterBasic = function() {
|
|
15
15
|
chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(bareServerModuleReg);
|
16
16
|
chain.module.rule("bare-server-module").test(bareServerModuleReg).use("server-module-loader").loader(require.resolve("../loaders/serverModuleLoader"));
|
17
17
|
}
|
18
|
+
var appContext = options.appContext;
|
19
|
+
var metaName = appContext.metaName;
|
18
20
|
chain.resolve.modules.add("node_modules").add(path.join(api.context.rootPath, "node_modules"));
|
21
|
+
chain.watchOptions({
|
22
|
+
ignored: [
|
23
|
+
"[\\\\/](?:node_modules(?![\\\\/]\\.".concat(metaName, ")|.git)[\\\\/]")
|
24
|
+
]
|
25
|
+
});
|
19
26
|
});
|
20
27
|
}
|
21
28
|
};
|
package/dist/esm/constants.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
var PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
2
|
+
var STATE_PLUGIN_NAME = "@modern-js/plugin-state";
|
2
3
|
var DEFAULT_CONFIG_FILE = "modern.config";
|
3
4
|
var DEFAULT_SERVER_CONFIG_FILE = "modern.server-runtime.config";
|
4
5
|
var DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
|
@@ -6,5 +7,6 @@ export {
|
|
6
7
|
DEFAULT_CONFIG_FILE,
|
7
8
|
DEFAULT_RUNTIME_CONFIG_FILE,
|
8
9
|
DEFAULT_SERVER_CONFIG_FILE,
|
9
|
-
PACKAGE_JSON_CONFIG_NAME
|
10
|
+
PACKAGE_JSON_CONFIG_NAME,
|
11
|
+
STATE_PLUGIN_NAME
|
10
12
|
};
|
package/dist/esm/index.js
CHANGED
@@ -74,8 +74,8 @@ var appTools = function() {
|
|
74
74
|
locale
|
75
75
|
});
|
76
76
|
api.updateAppContext(initAppContext({
|
77
|
+
metaName: context.metaName,
|
77
78
|
appDirectory: context.appDirectory,
|
78
|
-
options: {},
|
79
79
|
serverConfigFile: DEFAULT_SERVER_CONFIG_FILE,
|
80
80
|
runtimeConfigFile: DEFAULT_RUNTIME_CONFIG_FILE,
|
81
81
|
tempDir: (_userConfig_output = userConfig.output) === null || _userConfig_output === void 0 ? void 0 : _userConfig_output.tempDir
|
package/dist/esm/run/index.js
CHANGED
@@ -1,23 +1,25 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
+
import { _ as _type_of } from "@swc/helpers/_/_type_of";
|
2
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
4
|
+
import path from "path";
|
3
5
|
import { initAppDir } from "@modern-js/plugin-v2/cli";
|
4
6
|
import { run as CLIPluginRun } from "@modern-js/plugin-v2/run";
|
5
|
-
import { minimist } from "@modern-js/utils";
|
7
|
+
import { chalk, minimist } from "@modern-js/utils";
|
6
8
|
import { handleSetupResult } from "../compat/hooks";
|
7
|
-
import { PACKAGE_JSON_CONFIG_NAME } from "../constants";
|
9
|
+
import { PACKAGE_JSON_CONFIG_NAME, STATE_PLUGIN_NAME } from "../constants";
|
8
10
|
import { getConfigFile } from "../utils/getConfigFile";
|
9
|
-
import {
|
11
|
+
import { getUserConfig } from "../utils/getUserConfig";
|
10
12
|
import { loadInternalPlugins } from "../utils/loadPlugins";
|
11
13
|
function run(_) {
|
12
14
|
return _run.apply(this, arguments);
|
13
15
|
}
|
14
16
|
function _run() {
|
15
17
|
_run = _async_to_generator(function(param) {
|
16
|
-
var cwd, initialLog, _param_metaName, metaName, version, internalPlugins, _param_packageJsonConfig, packageJsonConfig, configFile, command, cliParams, SUPPORT_CONFIG_PARAM_COMMANDS, customConfigFile, appDirectory, finalConfigFile,
|
18
|
+
var cwd, initialLog, _param_metaName, metaName, version, internalPlugins, _param_packageJsonConfig, packageJsonConfig, _param_statePluginName, statePluginName, configFile, _userConfig_runtime, _userConfig_runtime1, command, cliParams, SUPPORT_CONFIG_PARAM_COMMANDS, customConfigFile, appDirectory, finalConfigFile, userConfig, plugins;
|
17
19
|
return _ts_generator(this, function(_state) {
|
18
20
|
switch (_state.label) {
|
19
21
|
case 0:
|
20
|
-
cwd = param.cwd, initialLog = param.initialLog, _param_metaName = param.metaName, metaName = _param_metaName === void 0 ? "
|
22
|
+
cwd = param.cwd, initialLog = param.initialLog, _param_metaName = param.metaName, metaName = _param_metaName === void 0 ? "modern-js" : _param_metaName, version = param.version, internalPlugins = param.internalPlugins, _param_packageJsonConfig = param.packageJsonConfig, packageJsonConfig = _param_packageJsonConfig === void 0 ? PACKAGE_JSON_CONFIG_NAME : _param_packageJsonConfig, _param_statePluginName = param.statePluginName, statePluginName = _param_statePluginName === void 0 ? STATE_PLUGIN_NAME : _param_statePluginName, configFile = param.configFile;
|
21
23
|
command = process.argv[2];
|
22
24
|
cliParams = minimist(process.argv.slice(2));
|
23
25
|
SUPPORT_CONFIG_PARAM_COMMANDS = [
|
@@ -58,16 +60,23 @@ function _run() {
|
|
58
60
|
finalConfigFile = customConfigFile || getConfigFile(configFile);
|
59
61
|
return [
|
60
62
|
4,
|
61
|
-
|
63
|
+
getUserConfig(appDirectory, finalConfigFile, packageJsonConfig, metaName)
|
62
64
|
];
|
63
65
|
case 2:
|
64
|
-
|
66
|
+
userConfig = _state.sent();
|
65
67
|
return [
|
66
68
|
4,
|
67
|
-
loadInternalPlugins(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, autoLoadPlugins)
|
69
|
+
loadInternalPlugins(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, userConfig.autoLoadPlugins)
|
68
70
|
];
|
69
71
|
case 3:
|
70
72
|
plugins = _state.sent();
|
73
|
+
if (!userConfig.autoLoadPlugins && userConfig.runtime && typeof userConfig.runtime !== "boolean" && (((_userConfig_runtime = userConfig.runtime) === null || _userConfig_runtime === void 0 ? void 0 : _userConfig_runtime.state) === true || _type_of((_userConfig_runtime1 = userConfig.runtime) === null || _userConfig_runtime1 === void 0 ? void 0 : _userConfig_runtime1.state) === "object")) {
|
74
|
+
if (!userConfig.plugins.find(function(plugin) {
|
75
|
+
return plugin.name === statePluginName;
|
76
|
+
})) {
|
77
|
+
console.warn("".concat(chalk.red("\n[Warning]"), " We will no longer support built-in `runtime.state`. If you want to use Reduck, you must run ").concat(chalk.yellow.bold("`pnpm add ".concat(statePluginName, "@").concat(version, "`")), " to install the state plugin dependency and manually register the plugin. After install state plugin, please add the following code to ").concat(chalk.yellow.bold("`".concat(path.basename(finalConfigFile), "`")), ":\n\n").concat(chalk.yellow.bold("import { statePlugin } from '".concat(statePluginName, "';\n\nexport default defineConfig({\n plugins: [\n ...,\n statePlugin(),\n ],\n});\n "))));
|
78
|
+
}
|
79
|
+
}
|
71
80
|
return [
|
72
81
|
4,
|
73
82
|
CLIPluginRun({
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
3
|
+
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
4
|
+
function getUserConfig(appDirectory, configFile, packageJsonConfig, metaName) {
|
5
|
+
return _getUserConfig.apply(this, arguments);
|
6
|
+
}
|
7
|
+
function _getUserConfig() {
|
8
|
+
_getUserConfig = _async_to_generator(function(appDirectory, configFile, packageJsonConfig, metaName) {
|
9
|
+
var envName, loaded;
|
10
|
+
return _ts_generator(this, function(_state) {
|
11
|
+
switch (_state.label) {
|
12
|
+
case 0:
|
13
|
+
envName = metaName === "modern-js" ? "MODERN" : metaName;
|
14
|
+
loadEnv(appDirectory, process.env["".concat(envName.toUpperCase(), "_ENV")]);
|
15
|
+
return [
|
16
|
+
4,
|
17
|
+
createLoadedConfig(appDirectory, configFile, packageJsonConfig)
|
18
|
+
];
|
19
|
+
case 1:
|
20
|
+
loaded = _state.sent();
|
21
|
+
return [
|
22
|
+
2,
|
23
|
+
loaded.config || {}
|
24
|
+
];
|
25
|
+
}
|
26
|
+
});
|
27
|
+
});
|
28
|
+
return _getUserConfig.apply(this, arguments);
|
29
|
+
}
|
30
|
+
export {
|
31
|
+
getUserConfig
|
32
|
+
};
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import { fs, address } from "@modern-js/utils";
|
3
3
|
var initAppContext = function(param) {
|
4
|
-
var appDirectory = param.appDirectory, runtimeConfigFile = param.runtimeConfigFile, options = param.options, serverConfigFile = param.serverConfigFile, tempDir = param.tempDir;
|
5
|
-
var _ref = options || {},
|
4
|
+
var metaName = param.metaName, appDirectory = param.appDirectory, runtimeConfigFile = param.runtimeConfigFile, options = param.options, serverConfigFile = param.serverConfigFile, tempDir = param.tempDir;
|
5
|
+
var _ref = options || {}, _ref_apiDir = _ref.apiDir, apiDir = _ref_apiDir === void 0 ? "api" : _ref_apiDir, _ref_sharedDir = _ref.sharedDir, sharedDir = _ref_sharedDir === void 0 ? "shared" : _ref_sharedDir;
|
6
6
|
var pkgPath = path.resolve(appDirectory, "./package.json");
|
7
7
|
return {
|
8
|
-
metaName,
|
9
8
|
runtimeConfigFile,
|
10
9
|
serverConfigFile,
|
11
10
|
ip: address.ip(),
|
@@ -22,7 +22,7 @@ async function generateBuilder(options, bundlerType) {
|
|
22
22
|
async function applyBuilderPlugins(builder, options) {
|
23
23
|
const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterHooks } = await import("../shared/builderPlugins/index.js");
|
24
24
|
builder.addPlugins([
|
25
|
-
builderPluginAdapterBasic(),
|
25
|
+
builderPluginAdapterBasic(options),
|
26
26
|
builderPluginAdapterSSR(options),
|
27
27
|
builderPluginAdapterHtml(options),
|
28
28
|
builderPluginAdapterHooks(options)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
3
|
-
const builderPluginAdapterBasic = () => ({
|
3
|
+
const builderPluginAdapterBasic = (options) => ({
|
4
4
|
name: "builder-plugin-adapter-modern-basic",
|
5
5
|
setup(api) {
|
6
6
|
api.modifyBundlerChain((chain, { target, CHAIN_ID, environment }) => {
|
@@ -13,7 +13,14 @@ const builderPluginAdapterBasic = () => ({
|
|
13
13
|
chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(bareServerModuleReg);
|
14
14
|
chain.module.rule("bare-server-module").test(bareServerModuleReg).use("server-module-loader").loader(require.resolve("../loaders/serverModuleLoader"));
|
15
15
|
}
|
16
|
+
const { appContext } = options;
|
17
|
+
const { metaName } = appContext;
|
16
18
|
chain.resolve.modules.add("node_modules").add(path.join(api.context.rootPath, "node_modules"));
|
19
|
+
chain.watchOptions({
|
20
|
+
ignored: [
|
21
|
+
`[\\\\/](?:node_modules(?![\\\\/]\\.${metaName})|.git)[\\\\/]`
|
22
|
+
]
|
23
|
+
});
|
17
24
|
});
|
18
25
|
}
|
19
26
|
});
|
@@ -1,4 +1,5 @@
|
|
1
1
|
const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
2
|
+
const STATE_PLUGIN_NAME = "@modern-js/plugin-state";
|
2
3
|
const DEFAULT_CONFIG_FILE = "modern.config";
|
3
4
|
const DEFAULT_SERVER_CONFIG_FILE = "modern.server-runtime.config";
|
4
5
|
const DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
|
@@ -6,5 +7,6 @@ export {
|
|
6
7
|
DEFAULT_CONFIG_FILE,
|
7
8
|
DEFAULT_RUNTIME_CONFIG_FILE,
|
8
9
|
DEFAULT_SERVER_CONFIG_FILE,
|
9
|
-
PACKAGE_JSON_CONFIG_NAME
|
10
|
+
PACKAGE_JSON_CONFIG_NAME,
|
11
|
+
STATE_PLUGIN_NAME
|
10
12
|
};
|
package/dist/esm-node/index.js
CHANGED
@@ -69,8 +69,8 @@ const appTools = (options = {
|
|
69
69
|
locale
|
70
70
|
});
|
71
71
|
api.updateAppContext(initAppContext({
|
72
|
+
metaName: context.metaName,
|
72
73
|
appDirectory: context.appDirectory,
|
73
|
-
options: {},
|
74
74
|
serverConfigFile: DEFAULT_SERVER_CONFIG_FILE,
|
75
75
|
runtimeConfigFile: DEFAULT_RUNTIME_CONFIG_FILE,
|
76
76
|
tempDir: (_userConfig_output = userConfig.output) === null || _userConfig_output === void 0 ? void 0 : _userConfig_output.tempDir
|
@@ -1,12 +1,14 @@
|
|
1
|
+
import path from "path";
|
1
2
|
import { initAppDir } from "@modern-js/plugin-v2/cli";
|
2
3
|
import { run as CLIPluginRun } from "@modern-js/plugin-v2/run";
|
3
|
-
import { minimist } from "@modern-js/utils";
|
4
|
+
import { chalk, minimist } from "@modern-js/utils";
|
4
5
|
import { handleSetupResult } from "../compat/hooks";
|
5
|
-
import { PACKAGE_JSON_CONFIG_NAME } from "../constants";
|
6
|
+
import { PACKAGE_JSON_CONFIG_NAME, STATE_PLUGIN_NAME } from "../constants";
|
6
7
|
import { getConfigFile } from "../utils/getConfigFile";
|
7
|
-
import {
|
8
|
+
import { getUserConfig } from "../utils/getUserConfig";
|
8
9
|
import { loadInternalPlugins } from "../utils/loadPlugins";
|
9
|
-
async function run({ cwd, initialLog, metaName = "
|
10
|
+
async function run({ cwd, initialLog, metaName = "modern-js", version, internalPlugins, packageJsonConfig = PACKAGE_JSON_CONFIG_NAME, statePluginName = STATE_PLUGIN_NAME, configFile }) {
|
11
|
+
var _userConfig_runtime, _userConfig_runtime1;
|
10
12
|
const command = process.argv[2];
|
11
13
|
const cliParams = minimist(process.argv.slice(2));
|
12
14
|
const SUPPORT_CONFIG_PARAM_COMMANDS = [
|
@@ -41,8 +43,23 @@ async function run({ cwd, initialLog, metaName = "MODERN", version, internalPlug
|
|
41
43
|
}
|
42
44
|
const appDirectory = await initAppDir(cwd);
|
43
45
|
const finalConfigFile = customConfigFile || getConfigFile(configFile);
|
44
|
-
const
|
45
|
-
const plugins = await loadInternalPlugins(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, autoLoadPlugins);
|
46
|
+
const userConfig = await getUserConfig(appDirectory, finalConfigFile, packageJsonConfig, metaName);
|
47
|
+
const plugins = await loadInternalPlugins(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, userConfig.autoLoadPlugins);
|
48
|
+
if (!userConfig.autoLoadPlugins && userConfig.runtime && typeof userConfig.runtime !== "boolean" && (((_userConfig_runtime = userConfig.runtime) === null || _userConfig_runtime === void 0 ? void 0 : _userConfig_runtime.state) === true || typeof ((_userConfig_runtime1 = userConfig.runtime) === null || _userConfig_runtime1 === void 0 ? void 0 : _userConfig_runtime1.state) === "object")) {
|
49
|
+
if (!userConfig.plugins.find((plugin) => plugin.name === statePluginName)) {
|
50
|
+
console.warn(`${chalk.red("\n[Warning]")} We will no longer support built-in \`runtime.state\`. If you want to use Reduck, you must run ${chalk.yellow.bold(`\`pnpm add ${statePluginName}@${version}\``)} to install the state plugin dependency and manually register the plugin. After install state plugin, please add the following code to ${chalk.yellow.bold(`\`${path.basename(finalConfigFile)}\``)}:
|
51
|
+
|
52
|
+
${chalk.yellow.bold(`import { statePlugin } from '${statePluginName}';
|
53
|
+
|
54
|
+
export default defineConfig({
|
55
|
+
plugins: [
|
56
|
+
...,
|
57
|
+
statePlugin(),
|
58
|
+
],
|
59
|
+
});
|
60
|
+
`)}`);
|
61
|
+
}
|
62
|
+
}
|
46
63
|
await CLIPluginRun({
|
47
64
|
cwd,
|
48
65
|
initialLog: initialLog || `Modern.js Framework v${version}`,
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
2
|
+
async function getUserConfig(appDirectory, configFile, packageJsonConfig, metaName) {
|
3
|
+
const envName = metaName === "modern-js" ? "MODERN" : metaName;
|
4
|
+
loadEnv(appDirectory, process.env[`${envName.toUpperCase()}_ENV`]);
|
5
|
+
const loaded = await createLoadedConfig(appDirectory, configFile, packageJsonConfig);
|
6
|
+
return loaded.config || {};
|
7
|
+
}
|
8
|
+
export {
|
9
|
+
getUserConfig
|
10
|
+
};
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import { fs, address } from "@modern-js/utils";
|
3
|
-
const initAppContext = ({ appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir }) => {
|
4
|
-
const {
|
3
|
+
const initAppContext = ({ metaName, appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir }) => {
|
4
|
+
const { apiDir = "api", sharedDir = "shared" } = options || {};
|
5
5
|
const pkgPath = path.resolve(appDirectory, "./package.json");
|
6
6
|
return {
|
7
|
-
metaName,
|
8
7
|
runtimeConfigFile,
|
9
8
|
serverConfigFile,
|
10
9
|
ip: address.ip(),
|
@@ -1,2 +1,4 @@
|
|
1
1
|
import type { RsbuildPlugin } from '@rsbuild/core';
|
2
|
-
|
2
|
+
import type { Bundler } from '../../../types';
|
3
|
+
import type { BuilderOptions } from '../types';
|
4
|
+
export declare const builderPluginAdapterBasic: <B extends Bundler>(options: BuilderOptions<B>) => RsbuildPlugin;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export declare const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
2
|
+
export declare const STATE_PLUGIN_NAME = "@modern-js/plugin-state";
|
2
3
|
export declare const DEFAULT_CONFIG_FILE = "modern.config";
|
3
4
|
export declare const DEFAULT_SERVER_CONFIG_FILE = "modern.server-runtime.config";
|
4
5
|
export declare const DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
|
@@ -4,6 +4,7 @@ export interface RunOptions {
|
|
4
4
|
configFile?: string;
|
5
5
|
metaName?: string;
|
6
6
|
packageJsonConfig?: string;
|
7
|
+
statePluginName?: string;
|
7
8
|
internalPlugins?: {
|
8
9
|
cli?: InternalPlugins;
|
9
10
|
autoLoad?: InternalPlugins;
|
@@ -11,4 +12,4 @@ export interface RunOptions {
|
|
11
12
|
initialLog?: string;
|
12
13
|
version: string;
|
13
14
|
}
|
14
|
-
export declare function run({ cwd, initialLog, metaName, version, internalPlugins, packageJsonConfig, configFile, }: RunOptions): Promise<void>;
|
15
|
+
export declare function run({ cwd, initialLog, metaName, version, internalPlugins, packageJsonConfig, statePluginName, configFile, }: RunOptions): Promise<void>;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import type { AppTools, CliPlugin, CliPluginFuture } from '../types';
|
2
|
+
export declare function getUserConfig(appDirectory: string, configFile: string, packageJsonConfig: string, metaName: string): Promise<{
|
3
|
+
autoLoadPlugins: boolean;
|
4
|
+
runtime: boolean | Record<string, any>;
|
5
|
+
plugins: (CliPlugin<AppTools<"shared">> | CliPluginFuture<AppTools<"shared">>)[];
|
6
|
+
}>;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
export declare const initAppContext: ({ appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir, }: {
|
1
|
+
export declare const initAppContext: ({ metaName, appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir, }: {
|
2
|
+
metaName: string;
|
2
3
|
appDirectory: string;
|
3
4
|
runtimeConfigFile: string;
|
4
5
|
options?: {
|
5
|
-
metaName?: string;
|
6
6
|
srcDir?: string;
|
7
7
|
apiDir?: string;
|
8
8
|
distDir?: string;
|
@@ -11,7 +11,6 @@ export declare const initAppContext: ({ appDirectory, runtimeConfigFile, options
|
|
11
11
|
serverConfigFile: string;
|
12
12
|
tempDir?: string;
|
13
13
|
}) => {
|
14
|
-
metaName: string;
|
15
14
|
runtimeConfigFile: string;
|
16
15
|
serverConfigFile: string;
|
17
16
|
ip: any;
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.
|
18
|
+
"version": "2.67.0",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/index.d.ts",
|
21
21
|
"main": "./dist/cjs/index.js",
|
@@ -80,7 +80,7 @@
|
|
80
80
|
"@babel/parser": "^7.22.15",
|
81
81
|
"@babel/traverse": "^7.23.2",
|
82
82
|
"@babel/types": "^7.26.0",
|
83
|
-
"@rsbuild/core": "1.2
|
83
|
+
"@rsbuild/core": "1.3.2",
|
84
84
|
"@rsbuild/plugin-node-polyfill": "1.3.0",
|
85
85
|
"@swc/helpers": "0.5.13",
|
86
86
|
"es-module-lexer": "^1.1.0",
|
@@ -91,23 +91,23 @@
|
|
91
91
|
"ndepe": "0.1.8",
|
92
92
|
"pkg-types": "^1.1.0",
|
93
93
|
"std-env": "^3.7.0",
|
94
|
-
"@modern-js/core": "2.
|
95
|
-
"@modern-js/node-bundle-require": "2.
|
96
|
-
"@modern-js/plugin": "2.
|
97
|
-
"@modern-js/plugin-
|
98
|
-
"@modern-js/plugin-
|
99
|
-
"@modern-js/plugin-
|
100
|
-
"@modern-js/rsbuild-plugin-esbuild": "2.
|
101
|
-
"@modern-js/prod-server": "2.
|
102
|
-
"@modern-js/server": "2.
|
103
|
-
"@modern-js/server-core": "2.
|
104
|
-
"@modern-js/server-utils": "2.
|
105
|
-
"@modern-js/types": "2.
|
106
|
-
"@modern-js/uni-builder": "2.
|
107
|
-
"@modern-js/utils": "2.
|
94
|
+
"@modern-js/core": "2.67.0",
|
95
|
+
"@modern-js/node-bundle-require": "2.67.0",
|
96
|
+
"@modern-js/plugin": "2.67.0",
|
97
|
+
"@modern-js/plugin-i18n": "2.67.0",
|
98
|
+
"@modern-js/plugin-v2": "2.67.0",
|
99
|
+
"@modern-js/plugin-data-loader": "2.67.0",
|
100
|
+
"@modern-js/rsbuild-plugin-esbuild": "2.67.0",
|
101
|
+
"@modern-js/prod-server": "2.67.0",
|
102
|
+
"@modern-js/server": "2.67.0",
|
103
|
+
"@modern-js/server-core": "2.67.0",
|
104
|
+
"@modern-js/server-utils": "2.67.0",
|
105
|
+
"@modern-js/types": "2.67.0",
|
106
|
+
"@modern-js/uni-builder": "2.67.0",
|
107
|
+
"@modern-js/utils": "2.67.0"
|
108
108
|
},
|
109
109
|
"devDependencies": {
|
110
|
-
"@rsbuild/plugin-webpack-swc": "1.0
|
110
|
+
"@rsbuild/plugin-webpack-swc": "1.1.0",
|
111
111
|
"@types/babel__traverse": "7.20.6",
|
112
112
|
"@types/jest": "^29",
|
113
113
|
"@types/node": "^16",
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
3
|
-
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
4
|
-
function isAutoLoadPlugins(appDirectory, configFile, packageJsonConfig, metaName) {
|
5
|
-
return _isAutoLoadPlugins.apply(this, arguments);
|
6
|
-
}
|
7
|
-
function _isAutoLoadPlugins() {
|
8
|
-
_isAutoLoadPlugins = _async_to_generator(function(appDirectory, configFile, packageJsonConfig, metaName) {
|
9
|
-
var _loaded_config, loaded, autoLoadPlugins;
|
10
|
-
return _ts_generator(this, function(_state) {
|
11
|
-
switch (_state.label) {
|
12
|
-
case 0:
|
13
|
-
loadEnv(appDirectory, process.env["".concat(metaName.toUpperCase(), "_ENV")]);
|
14
|
-
return [
|
15
|
-
4,
|
16
|
-
createLoadedConfig(appDirectory, configFile, packageJsonConfig)
|
17
|
-
];
|
18
|
-
case 1:
|
19
|
-
loaded = _state.sent();
|
20
|
-
autoLoadPlugins = (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.autoLoadPlugins;
|
21
|
-
return [
|
22
|
-
2,
|
23
|
-
autoLoadPlugins || false
|
24
|
-
];
|
25
|
-
}
|
26
|
-
});
|
27
|
-
});
|
28
|
-
return _isAutoLoadPlugins.apply(this, arguments);
|
29
|
-
}
|
30
|
-
export {
|
31
|
-
isAutoLoadPlugins
|
32
|
-
};
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
2
|
-
async function isAutoLoadPlugins(appDirectory, configFile, packageJsonConfig, metaName) {
|
3
|
-
var _loaded_config;
|
4
|
-
loadEnv(appDirectory, process.env[`${metaName.toUpperCase()}_ENV`]);
|
5
|
-
const loaded = await createLoadedConfig(appDirectory, configFile, packageJsonConfig);
|
6
|
-
const autoLoadPlugins = (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.autoLoadPlugins;
|
7
|
-
return autoLoadPlugins || false;
|
8
|
-
}
|
9
|
-
export {
|
10
|
-
isAutoLoadPlugins
|
11
|
-
};
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare function isAutoLoadPlugins(appDirectory: string, configFile: string, packageJsonConfig: string, metaName: string): Promise<boolean>;
|