@modern-js/app-tools 2.64.0 → 2.64.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/builder/generator/createBuilderProviderConfig.js +1 -0
- package/dist/cjs/builder/generator/getBuilderEnvironments.js +1 -1
- package/dist/cjs/builder/generator/index.js +2 -0
- package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +1 -1
- package/dist/cjs/commands/dev.js +12 -3
- package/dist/cjs/commands/index.js +2 -2
- package/dist/cjs/commands/serve.js +4 -4
- package/dist/cjs/esm/register-esm.mjs +0 -6
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/plugins/analyze/getFileSystemEntry.js +2 -2
- package/dist/cjs/plugins/analyze/getServerRoutes.js +5 -3
- package/dist/cjs/run/index.js +3 -3
- package/dist/cjs/utils/generateWatchFiles.js +2 -2
- package/dist/cjs/utils/isAutoLoadPlugins.js +2 -1
- package/dist/esm/builder/generator/createBuilderProviderConfig.js +1 -0
- package/dist/esm/builder/generator/getBuilderEnvironments.js +2 -2
- package/dist/esm/builder/generator/index.js +2 -0
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +1 -1
- package/dist/esm/commands/dev.js +11 -5
- package/dist/esm/commands/index.js +3 -3
- package/dist/esm/commands/serve.js +5 -5
- package/dist/esm/esm/register-esm.mjs +0 -6
- package/dist/esm/index.js +3 -4
- package/dist/esm/plugins/analyze/getFileSystemEntry.js +2 -2
- package/dist/esm/plugins/analyze/getServerRoutes.js +5 -3
- package/dist/esm/run/index.js +4 -4
- package/dist/esm/utils/generateWatchFiles.js +1 -1
- package/dist/esm/utils/isAutoLoadPlugins.js +5 -6
- package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +1 -0
- package/dist/esm-node/builder/generator/getBuilderEnvironments.js +2 -2
- package/dist/esm-node/builder/generator/index.js +2 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +1 -1
- package/dist/esm-node/commands/dev.js +12 -3
- package/dist/esm-node/commands/index.js +2 -2
- package/dist/esm-node/commands/serve.js +3 -3
- package/dist/esm-node/esm/register-esm.mjs +0 -6
- package/dist/esm-node/index.js +3 -4
- package/dist/esm-node/plugins/analyze/getFileSystemEntry.js +2 -2
- package/dist/esm-node/plugins/analyze/getServerRoutes.js +5 -3
- package/dist/esm-node/run/index.js +3 -3
- package/dist/esm-node/utils/generateWatchFiles.js +1 -1
- package/dist/esm-node/utils/isAutoLoadPlugins.js +3 -2
- package/dist/types/commands/dev.d.ts +2 -1
- package/dist/types/commands/serve.d.ts +6 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types/hooks.d.ts +4 -8
- package/dist/types/types/index.d.ts +2 -2
- package/dist/types/types/new.d.ts +1 -18
- package/dist/types/utils/isAutoLoadPlugins.d.ts +1 -1
- package/package.json +20 -21
@@ -59,7 +59,7 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
|
|
59
59
|
environments.web.output.copy = tempBuilderConfig.output.copy;
|
60
60
|
delete tempBuilderConfig.output.copy;
|
61
61
|
}
|
62
|
-
const useNodeTarget = (0, import_utils.isProd)() ? (0, import_utils.isUseSSRBundle)(normalizedConfig) : (0, import_utils.isSSR)(normalizedConfig);
|
62
|
+
const useNodeTarget = (0, import_utils.isUseRsc)(normalizedConfig) || ((0, import_utils.isProd)() ? (0, import_utils.isUseSSRBundle)(normalizedConfig) : (0, import_utils.isSSR)(normalizedConfig));
|
63
63
|
if (useNodeTarget) {
|
64
64
|
environments.node = {
|
65
65
|
output: {
|
@@ -43,6 +43,8 @@ async function generateBuilder(options, bundlerType) {
|
|
43
43
|
builderConfig.environments = builderConfig.environments ? (0, import_core.mergeRsbuildConfig)(environments, builderConfig.environments) : environments;
|
44
44
|
const builder = await (0, import_uni_builder.createUniBuilder)({
|
45
45
|
cwd: appContext.appDirectory,
|
46
|
+
rscClientRuntimePath: `@${appContext.metaName}/runtime/rsc/client`,
|
47
|
+
rscServerRuntimePath: `@${appContext.metaName}/runtime/rsc/server`,
|
46
48
|
frameworkConfigPath: appContext.configFile || void 0,
|
47
49
|
bundlerType,
|
48
50
|
config: builderConfig
|
@@ -150,7 +150,7 @@ function applyFilterEntriesBySSRConfig({ isProd, chain, appNormalizedConfig }) {
|
|
150
150
|
}
|
151
151
|
const { ssr, ssrByEntries } = serverConfig || {};
|
152
152
|
entryNames.forEach((name) => {
|
153
|
-
if (!ssgEntries.includes(name) && !name.includes("server-loaders") && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
|
153
|
+
if (!(serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.rsc) && !ssgEntries.includes(name) && !name.includes("server-loaders") && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
|
154
154
|
chain.entryPoints.delete(name);
|
155
155
|
}
|
156
156
|
});
|
package/dist/cjs/commands/dev.js
CHANGED
@@ -80,13 +80,22 @@ const dev = async (api, options, devServerOptions) => {
|
|
80
80
|
}
|
81
81
|
await (0, import_routes.generateRoutes)(appContext);
|
82
82
|
const pluginInstances = await (0, import_loadPlugins.loadServerPlugins)(api, appDirectory, metaName);
|
83
|
+
const toolsDevServerConfig = (_normalizedConfig_tools = normalizedConfig.tools) === null || _normalizedConfig_tools === void 0 ? void 0 : _normalizedConfig_tools.devServer;
|
84
|
+
var _normalizedConfig_dev_host, _normalizedConfig_dev_https, _normalizedConfig_dev_hmr, _normalizedConfig_dev_setupMiddlewares;
|
83
85
|
const serverOptions = {
|
84
86
|
metaName,
|
85
87
|
dev: {
|
88
|
+
// [`normalizedConfig.tools.devServer`](https://modernjs.dev/en/configure/app/tools/dev-server.html) already deprecated, we should using `normalizedConfig.dev` instead firstly.
|
89
|
+
// Oterwise, the `normalizedConfig.dev` can't be apply correctly.
|
90
|
+
...toolsDevServerConfig,
|
91
|
+
devMiddleware: {
|
92
|
+
writeToDisk: normalizedConfig.dev.writeToDisk
|
93
|
+
},
|
86
94
|
port,
|
87
|
-
|
88
|
-
|
89
|
-
|
95
|
+
host: (_normalizedConfig_dev_host = normalizedConfig.dev.host) !== null && _normalizedConfig_dev_host !== void 0 ? _normalizedConfig_dev_host : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.host,
|
96
|
+
https: (_normalizedConfig_dev_https = normalizedConfig.dev.https) !== null && _normalizedConfig_dev_https !== void 0 ? _normalizedConfig_dev_https : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.https,
|
97
|
+
hot: (_normalizedConfig_dev_hmr = normalizedConfig.dev.hmr) !== null && _normalizedConfig_dev_hmr !== void 0 ? _normalizedConfig_dev_hmr : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.hot,
|
98
|
+
setupMiddlewares: (_normalizedConfig_dev_setupMiddlewares = normalizedConfig.dev.setupMiddlewares) !== null && _normalizedConfig_dev_setupMiddlewares !== void 0 ? _normalizedConfig_dev_setupMiddlewares : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.setupMiddlewares
|
90
99
|
},
|
91
100
|
appContext: {
|
92
101
|
appDirectory,
|
@@ -84,8 +84,8 @@ const buildCommand = async (program, api) => {
|
|
84
84
|
};
|
85
85
|
const serverCommand = (program, api) => {
|
86
86
|
program.command("serve").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.serve.describe)).option("--api-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.apiOnly)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).action(async () => {
|
87
|
-
const {
|
88
|
-
await
|
87
|
+
const { serve } = await import("./serve.js");
|
88
|
+
await serve(api);
|
89
89
|
});
|
90
90
|
};
|
91
91
|
const deployCommand = (program, api) => {
|
@@ -28,7 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
29
29
|
var serve_exports = {};
|
30
30
|
__export(serve_exports, {
|
31
|
-
|
31
|
+
serve: () => serve
|
32
32
|
});
|
33
33
|
module.exports = __toCommonJS(serve_exports);
|
34
34
|
var import_path = __toESM(require("path"));
|
@@ -36,7 +36,7 @@ var import_prod_server = require("@modern-js/prod-server");
|
|
36
36
|
var import_utils = require("@modern-js/utils");
|
37
37
|
var import_loadPlugins = require("../utils/loadPlugins");
|
38
38
|
var import_printInstructions = require("../utils/printInstructions");
|
39
|
-
const
|
39
|
+
const serve = async (api, serverOptions) => {
|
40
40
|
var _userConfig_source, _userConfig_output_distPath;
|
41
41
|
const appContext = api.getAppContext();
|
42
42
|
const userConfig = api.getNormalizedConfig();
|
@@ -52,7 +52,7 @@ const start = async (api) => {
|
|
52
52
|
const meta = (0, import_utils.getMeta)(metaName);
|
53
53
|
const serverConfigPath = import_path.default.resolve(distDirectory, import_utils.SERVER_DIR, `${meta}.server`);
|
54
54
|
const pluginInstances = await (0, import_loadPlugins.loadServerPlugins)(api, appDirectory, metaName);
|
55
|
-
const app = await (0
|
55
|
+
const app = await ((serverOptions === null || serverOptions === void 0 ? void 0 : serverOptions.launcher) || import_prod_server.createProdServer)({
|
56
56
|
metaName,
|
57
57
|
pwd: distDirectory,
|
58
58
|
config: {
|
@@ -83,5 +83,5 @@ const start = async (api) => {
|
|
83
83
|
};
|
84
84
|
// Annotate the CommonJS export names for ESM import in node:
|
85
85
|
0 && (module.exports = {
|
86
|
-
|
86
|
+
serve
|
87
87
|
});
|
@@ -48,12 +48,6 @@ export const registerEsm = async ({ appDir, distDir, alias }) => {
|
|
48
48
|
if (hasTsconfig) {
|
49
49
|
tsConfig = readTsConfigByFile(tsconfigPath);
|
50
50
|
}
|
51
|
-
const esbuildRegister = await import('esbuild-register/dist/node');
|
52
|
-
esbuildRegister.register({
|
53
|
-
tsconfigRaw: hasTsconfig ? tsConfig : undefined,
|
54
|
-
hookIgnoreNodeModules: true,
|
55
|
-
hookMatcher: fileName => !fileName.startsWith(distDir),
|
56
|
-
});
|
57
51
|
register('./esbuild-loader.mjs', import.meta.url, {
|
58
52
|
data: {
|
59
53
|
appDir,
|
package/dist/cjs/index.js
CHANGED
@@ -36,7 +36,8 @@ __export(src_exports, {
|
|
36
36
|
dev: () => import_dev.dev,
|
37
37
|
generateWatchFiles: () => import_generateWatchFiles2.generateWatchFiles,
|
38
38
|
initAppContext: () => import_initAppContext.initAppContext,
|
39
|
-
mergeConfig: () => import_core.mergeConfig
|
39
|
+
mergeConfig: () => import_core.mergeConfig,
|
40
|
+
serve: () => import_serve.serve
|
40
41
|
});
|
41
42
|
module.exports = __toCommonJS(src_exports);
|
42
43
|
var import_path = __toESM(require("path"));
|
@@ -59,6 +60,7 @@ __reExport(src_exports, require("./defineConfig"), module.exports);
|
|
59
60
|
var import_defineConfig = require("./defineConfig");
|
60
61
|
var import_core = require("@modern-js/core");
|
61
62
|
var import_dev = require("./commands/dev");
|
63
|
+
var import_serve = require("./commands/serve");
|
62
64
|
var import_generateWatchFiles2 = require("./utils/generateWatchFiles");
|
63
65
|
__reExport(src_exports, require("./types"), module.exports);
|
64
66
|
const appTools = (options = {
|
@@ -96,12 +98,9 @@ const appTools = (options = {
|
|
96
98
|
registryHooks: {
|
97
99
|
onAfterPrepare: (0, import_plugin_v2.createAsyncHook)(),
|
98
100
|
deploy: (0, import_plugin_v2.createAsyncHook)(),
|
99
|
-
_internalRuntimePlugins: (0, import_plugin_v2.createAsyncHook)(),
|
100
|
-
_internalServerPlugins: (0, import_plugin_v2.createAsyncHook)(),
|
101
101
|
checkEntryPoint: (0, import_plugin_v2.createAsyncHook)(),
|
102
102
|
modifyEntrypoints: (0, import_plugin_v2.createAsyncHook)(),
|
103
103
|
modifyFileSystemRoutes: (0, import_plugin_v2.createAsyncHook)(),
|
104
|
-
modifyServerRoutes: (0, import_plugin_v2.createAsyncHook)(),
|
105
104
|
generateEntryCode: (0, import_plugin_v2.createAsyncHook)(),
|
106
105
|
onBeforeGenerateRoutes: (0, import_plugin_v2.createAsyncHook)(),
|
107
106
|
onBeforePrintInstructions: (0, import_plugin_v2.createAsyncHook)(),
|
@@ -197,6 +196,7 @@ var src_default = appTools;
|
|
197
196
|
generateWatchFiles,
|
198
197
|
initAppContext,
|
199
198
|
mergeConfig,
|
199
|
+
serve,
|
200
200
|
...require("./defineConfig"),
|
201
201
|
...require("./types")
|
202
202
|
});
|
@@ -79,7 +79,7 @@ const scanDir = async (hooks, dirs, enableCustomEntry) => {
|
|
79
79
|
entryName,
|
80
80
|
isMainEntry: false,
|
81
81
|
entry: enableCustomEntry ? customEntryFile || entryFile : entryFile,
|
82
|
-
customServerEntry,
|
82
|
+
customServerEntry: enableCustomEntry ? customServerEntry : false,
|
83
83
|
absoluteEntryDir: import_path.default.resolve(dir),
|
84
84
|
isAutoMount: true,
|
85
85
|
customBootstrap,
|
@@ -91,7 +91,7 @@ const scanDir = async (hooks, dirs, enableCustomEntry) => {
|
|
91
91
|
entryName,
|
92
92
|
isMainEntry: false,
|
93
93
|
entry: customEntryFile,
|
94
|
-
customServerEntry,
|
94
|
+
customServerEntry: enableCustomEntry ? customServerEntry : false,
|
95
95
|
absoluteEntryDir: import_path.default.resolve(dir),
|
96
96
|
isAutoMount: false,
|
97
97
|
customEntry: Boolean(customEntryFile)
|
@@ -103,7 +103,7 @@ const applyRouteOptions = (original, routeOptions) => {
|
|
103
103
|
};
|
104
104
|
const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
105
105
|
var _deploy_worker;
|
106
|
-
const { source: { mainEntryName }, html: { disableHtmlFolder }, output: { distPath: { html: htmlPath } = {} }, server: { baseUrl, routes, ssr, ssrByEntries }, deploy } = config;
|
106
|
+
const { source: { mainEntryName }, html: { disableHtmlFolder }, output: { distPath: { html: htmlPath } = {} }, server: { baseUrl, routes, ssr, ssrByEntries, rsc }, deploy } = config;
|
107
107
|
const { packageName } = appContext;
|
108
108
|
const workerSSR = deploy === null || deploy === void 0 ? void 0 : (_deploy_worker = deploy.worker) === null || _deploy_worker === void 0 ? void 0 : _deploy_worker.ssr;
|
109
109
|
let htmlRoutes = entrypoints.reduce((previous, { entryName }) => {
|
@@ -113,16 +113,18 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
113
113
|
const isWorker = Boolean(workerSSR);
|
114
114
|
const isStream = typeof entryOptions === "object" && entryOptions.mode === "stream";
|
115
115
|
const { resHeaders } = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {};
|
116
|
+
const isRSC = !!rsc;
|
116
117
|
let route = {
|
117
118
|
urlPath: `/${isMain ? "" : entryName}`,
|
118
119
|
entryName,
|
119
120
|
entryPath: (0, import_utils.removeLeadingSlash)(import_path.default.posix.normalize(`${htmlPath}/${entryName}${disableHtmlFolder ? ".html" : "/index.html"}`)),
|
120
121
|
isSPA: true,
|
121
|
-
isStream,
|
122
|
+
isStream: isStream || isRSC,
|
122
123
|
isSSR,
|
124
|
+
isRSC,
|
123
125
|
responseHeaders: resHeaders,
|
124
126
|
worker: isWorker ? `${import_utils.SERVER_WORKER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0,
|
125
|
-
bundle: isSSR ? `${import_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
|
127
|
+
bundle: isSSR || isRSC ? `${import_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
|
126
128
|
};
|
127
129
|
if (routes === null || routes === void 0 ? void 0 : routes.hasOwnProperty(entryName)) {
|
128
130
|
const routeOptions = (0, import_utils.isPlainObject)(routes[entryName]) ? routes[entryName] : {
|
package/dist/cjs/run/index.js
CHANGED
@@ -29,7 +29,7 @@ var import_constants = require("../constants");
|
|
29
29
|
var import_getConfigFile = require("../utils/getConfigFile");
|
30
30
|
var import_isAutoLoadPlugins = require("../utils/isAutoLoadPlugins");
|
31
31
|
var import_loadPlugins = require("../utils/loadPlugins");
|
32
|
-
async function run({ cwd, initialLog, metaName, version, internalPlugins, packageJsonConfig, configFile }) {
|
32
|
+
async function run({ cwd, initialLog, metaName = "MODERN", version, internalPlugins, packageJsonConfig = import_constants.PACKAGE_JSON_CONFIG_NAME, configFile }) {
|
33
33
|
const command = process.argv[2];
|
34
34
|
const cliParams = (0, import_utils.minimist)(process.argv.slice(2));
|
35
35
|
const SUPPORT_CONFIG_PARAM_COMMANDS = [
|
@@ -64,14 +64,14 @@ async function run({ cwd, initialLog, metaName, version, internalPlugins, packag
|
|
64
64
|
}
|
65
65
|
const appDirectory = await (0, import_cli.initAppDir)(cwd);
|
66
66
|
const finalConfigFile = customConfigFile || (0, import_getConfigFile.getConfigFile)(configFile);
|
67
|
-
const autoLoadPlugins = await (0, import_isAutoLoadPlugins.isAutoLoadPlugins)(appDirectory, finalConfigFile);
|
67
|
+
const autoLoadPlugins = await (0, import_isAutoLoadPlugins.isAutoLoadPlugins)(appDirectory, finalConfigFile, packageJsonConfig, metaName);
|
68
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);
|
69
69
|
await (0, import_run.run)({
|
70
70
|
cwd,
|
71
71
|
initialLog: initialLog || `Modern.js Framework v${version}`,
|
72
72
|
configFile: finalConfigFile,
|
73
73
|
metaName,
|
74
|
-
packageJsonConfig
|
74
|
+
packageJsonConfig,
|
75
75
|
internalPlugins: plugins,
|
76
76
|
handleSetupResult: import_hooks.handleSetupResult
|
77
77
|
});
|
@@ -34,10 +34,10 @@ __export(generateWatchFiles_exports, {
|
|
34
34
|
module.exports = __toCommonJS(generateWatchFiles_exports);
|
35
35
|
var import_path = __toESM(require("path"));
|
36
36
|
var import_utils = require("@modern-js/utils");
|
37
|
+
var import_constants = require("../constants");
|
37
38
|
const getPackageConfig = (appDirectory, packageJsonConfig) => {
|
38
|
-
const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
39
39
|
const json = JSON.parse(import_utils.fs.readFileSync(import_path.default.resolve(appDirectory, "./package.json"), "utf8"));
|
40
|
-
return json[packageJsonConfig !== null && packageJsonConfig !== void 0 ? packageJsonConfig : PACKAGE_JSON_CONFIG_NAME];
|
40
|
+
return json[packageJsonConfig !== null && packageJsonConfig !== void 0 ? packageJsonConfig : import_constants.PACKAGE_JSON_CONFIG_NAME];
|
41
41
|
};
|
42
42
|
const addServerConfigToDeps = async (dependencies, appDirectory, serverConfigFile) => {
|
43
43
|
const serverConfig = await (0, import_utils.getServerConfig)(appDirectory, serverConfigFile);
|
@@ -22,8 +22,9 @@ __export(isAutoLoadPlugins_exports, {
|
|
22
22
|
});
|
23
23
|
module.exports = __toCommonJS(isAutoLoadPlugins_exports);
|
24
24
|
var import_cli = require("@modern-js/plugin-v2/cli");
|
25
|
-
async function isAutoLoadPlugins(appDirectory, configFile
|
25
|
+
async function isAutoLoadPlugins(appDirectory, configFile, packageJsonConfig, metaName) {
|
26
26
|
var _loaded_config;
|
27
|
+
(0, import_cli.loadEnv)(appDirectory, process.env[`${metaName.toUpperCase()}_ENV`]);
|
27
28
|
const loaded = await (0, import_cli.createLoadedConfig)(appDirectory, configFile, packageJsonConfig);
|
28
29
|
const autoLoadPlugins = (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.autoLoadPlugins;
|
29
30
|
return autoLoadPlugins || false;
|
@@ -23,6 +23,7 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
|
|
23
23
|
dev: _object_spread_props(_object_spread({}, resolveConfig.dev), {
|
24
24
|
port: appContext.port
|
25
25
|
}),
|
26
|
+
server: resolveConfig.server,
|
26
27
|
html: htmlConfig,
|
27
28
|
output: _object_spread_props(_object_spread({}, resolveConfig.output), {
|
28
29
|
// We need to do this in the app-tools prepare hook because some files will be generated into the dist directory in the analyze process
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
2
|
-
import { isProd, isSSR, isServiceWorker, isUseSSRBundle } from "@modern-js/utils";
|
2
|
+
import { isProd, isSSR, isServiceWorker, isUseRsc, isUseSSRBundle } from "@modern-js/utils";
|
3
3
|
function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig) {
|
4
4
|
var _tempBuilderConfig_output;
|
5
5
|
var entries = {};
|
@@ -57,7 +57,7 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
|
|
57
57
|
environments.web.output.copy = tempBuilderConfig.output.copy;
|
58
58
|
delete tempBuilderConfig.output.copy;
|
59
59
|
}
|
60
|
-
var useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
60
|
+
var useNodeTarget = isUseRsc(normalizedConfig) || (isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig));
|
61
61
|
if (useNodeTarget) {
|
62
62
|
environments.node = {
|
63
63
|
output: {
|
@@ -22,6 +22,8 @@ function _generateBuilder() {
|
|
22
22
|
4,
|
23
23
|
createUniBuilder({
|
24
24
|
cwd: appContext.appDirectory,
|
25
|
+
rscClientRuntimePath: "@".concat(appContext.metaName, "/runtime/rsc/client"),
|
26
|
+
rscServerRuntimePath: "@".concat(appContext.metaName, "/runtime/rsc/server"),
|
25
27
|
frameworkConfigPath: appContext.configFile || void 0,
|
26
28
|
bundlerType,
|
27
29
|
config: builderConfig
|
@@ -170,7 +170,7 @@ function applyFilterEntriesBySSRConfig(param) {
|
|
170
170
|
}
|
171
171
|
var _ref = serverConfig || {}, ssr = _ref.ssr, ssrByEntries = _ref.ssrByEntries;
|
172
172
|
entryNames.forEach(function(name) {
|
173
|
-
if (!ssgEntries.includes(name) && !name.includes("server-loaders") && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
|
173
|
+
if (!(serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.rsc) && !ssgEntries.includes(name) && !name.includes("server-loaders") && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
|
174
174
|
chain.entryPoints.delete(name);
|
175
175
|
}
|
176
176
|
});
|
package/dist/esm/commands/dev.js
CHANGED
@@ -14,7 +14,7 @@ import { registerCompiler } from "../utils/register";
|
|
14
14
|
import { generateRoutes } from "../utils/routes";
|
15
15
|
var dev = function() {
|
16
16
|
var _ref = _async_to_generator(function(api, options, devServerOptions) {
|
17
|
-
var _normalizedConfig_source, _normalizedConfig_tools, _normalizedConfig_dev, normalizedConfig, appContext, hooks, _normalizedConfig_source1, registerEsm, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, meta, serverConfigPath, pluginInstances, serverOptions, host, server, _ref2, server1, afterListen;
|
17
|
+
var _normalizedConfig_source, _normalizedConfig_tools, _normalizedConfig_dev, normalizedConfig, appContext, hooks, _normalizedConfig_source1, registerEsm, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, meta, serverConfigPath, pluginInstances, toolsDevServerConfig, _normalizedConfig_dev_host, _normalizedConfig_dev_https, _normalizedConfig_dev_hmr, _normalizedConfig_dev_setupMiddlewares, serverOptions, host, server, _ref2, server1, afterListen;
|
18
18
|
return _ts_generator(this, function(_state) {
|
19
19
|
switch (_state.label) {
|
20
20
|
case 0:
|
@@ -93,13 +93,19 @@ var dev = function() {
|
|
93
93
|
];
|
94
94
|
case 8:
|
95
95
|
pluginInstances = _state.sent();
|
96
|
+
toolsDevServerConfig = (_normalizedConfig_tools = normalizedConfig.tools) === null || _normalizedConfig_tools === void 0 ? void 0 : _normalizedConfig_tools.devServer;
|
96
97
|
serverOptions = _object_spread({
|
97
98
|
metaName,
|
98
|
-
dev: _object_spread({
|
99
|
+
dev: _object_spread_props(_object_spread({}, toolsDevServerConfig), {
|
100
|
+
devMiddleware: {
|
101
|
+
writeToDisk: normalizedConfig.dev.writeToDisk
|
102
|
+
},
|
99
103
|
port,
|
100
|
-
|
101
|
-
|
102
|
-
|
104
|
+
host: (_normalizedConfig_dev_host = normalizedConfig.dev.host) !== null && _normalizedConfig_dev_host !== void 0 ? _normalizedConfig_dev_host : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.host,
|
105
|
+
https: (_normalizedConfig_dev_https = normalizedConfig.dev.https) !== null && _normalizedConfig_dev_https !== void 0 ? _normalizedConfig_dev_https : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.https,
|
106
|
+
hot: (_normalizedConfig_dev_hmr = normalizedConfig.dev.hmr) !== null && _normalizedConfig_dev_hmr !== void 0 ? _normalizedConfig_dev_hmr : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.hot,
|
107
|
+
setupMiddlewares: (_normalizedConfig_dev_setupMiddlewares = normalizedConfig.dev.setupMiddlewares) !== null && _normalizedConfig_dev_setupMiddlewares !== void 0 ? _normalizedConfig_dev_setupMiddlewares : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.setupMiddlewares
|
108
|
+
}),
|
103
109
|
appContext: {
|
104
110
|
appDirectory,
|
105
111
|
internalDirectory: appContext.internalDirectory,
|
@@ -249,7 +249,7 @@ var buildCommand = function() {
|
|
249
249
|
}();
|
250
250
|
var serverCommand = function(program, api) {
|
251
251
|
program.command("serve").usage("[options]").description(i18n.t(localeKeys.command.serve.describe)).option("--api-only", i18n.t(localeKeys.command.dev.apiOnly)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).action(/* @__PURE__ */ _async_to_generator(function() {
|
252
|
-
var
|
252
|
+
var serve;
|
253
253
|
return _ts_generator(this, function(_state) {
|
254
254
|
switch (_state.label) {
|
255
255
|
case 0:
|
@@ -258,10 +258,10 @@ var serverCommand = function(program, api) {
|
|
258
258
|
import("./serve.js")
|
259
259
|
];
|
260
260
|
case 1:
|
261
|
-
|
261
|
+
serve = _state.sent().serve;
|
262
262
|
return [
|
263
263
|
4,
|
264
|
-
|
264
|
+
serve(api)
|
265
265
|
];
|
266
266
|
case 2:
|
267
267
|
_state.sent();
|
@@ -7,8 +7,8 @@ import { createProdServer } from "@modern-js/prod-server";
|
|
7
7
|
import { SERVER_DIR, getMeta, getTargetDir, isApiOnly, logger } from "@modern-js/utils";
|
8
8
|
import { loadServerPlugins } from "../utils/loadPlugins";
|
9
9
|
import { printInstructions } from "../utils/printInstructions";
|
10
|
-
var
|
11
|
-
var _ref = _async_to_generator(function(api) {
|
10
|
+
var serve = function() {
|
11
|
+
var _ref = _async_to_generator(function(api, serverOptions) {
|
12
12
|
var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hooks, distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile, isCrossProjectServer, apiOnly, runMode, meta, serverConfigPath, pluginInstances, app;
|
13
13
|
return _ts_generator(this, function(_state) {
|
14
14
|
switch (_state.label) {
|
@@ -38,7 +38,7 @@ var start = function() {
|
|
38
38
|
pluginInstances = _state.sent();
|
39
39
|
return [
|
40
40
|
4,
|
41
|
-
createProdServer({
|
41
|
+
((serverOptions === null || serverOptions === void 0 ? void 0 : serverOptions.launcher) || createProdServer)({
|
42
42
|
metaName,
|
43
43
|
pwd: distDirectory,
|
44
44
|
config: _object_spread_props(_object_spread({}, userConfig), {
|
@@ -86,10 +86,10 @@ var start = function() {
|
|
86
86
|
}
|
87
87
|
});
|
88
88
|
});
|
89
|
-
return function
|
89
|
+
return function serve2(api, serverOptions) {
|
90
90
|
return _ref.apply(this, arguments);
|
91
91
|
};
|
92
92
|
}();
|
93
93
|
export {
|
94
|
-
|
94
|
+
serve
|
95
95
|
};
|
@@ -48,12 +48,6 @@ export const registerEsm = async ({ appDir, distDir, alias }) => {
|
|
48
48
|
if (hasTsconfig) {
|
49
49
|
tsConfig = readTsConfigByFile(tsconfigPath);
|
50
50
|
}
|
51
|
-
const esbuildRegister = await import('esbuild-register/dist/node');
|
52
|
-
esbuildRegister.register({
|
53
|
-
tsconfigRaw: hasTsconfig ? tsConfig : undefined,
|
54
|
-
hookIgnoreNodeModules: true,
|
55
|
-
hookMatcher: fileName => !fileName.startsWith(distDir),
|
56
|
-
});
|
57
51
|
register('./esbuild-loader.mjs', import.meta.url, {
|
58
52
|
data: {
|
59
53
|
appDir,
|
package/dist/esm/index.js
CHANGED
@@ -55,12 +55,9 @@ var appTools = function() {
|
|
55
55
|
registryHooks: {
|
56
56
|
onAfterPrepare: createAsyncHook(),
|
57
57
|
deploy: createAsyncHook(),
|
58
|
-
_internalRuntimePlugins: createAsyncHook(),
|
59
|
-
_internalServerPlugins: createAsyncHook(),
|
60
58
|
checkEntryPoint: createAsyncHook(),
|
61
59
|
modifyEntrypoints: createAsyncHook(),
|
62
60
|
modifyFileSystemRoutes: createAsyncHook(),
|
63
|
-
modifyServerRoutes: createAsyncHook(),
|
64
61
|
generateEntryCode: createAsyncHook(),
|
65
62
|
onBeforeGenerateRoutes: createAsyncHook(),
|
66
63
|
onBeforePrintInstructions: createAsyncHook(),
|
@@ -249,6 +246,7 @@ var appTools = function() {
|
|
249
246
|
import { defineConfig, defineLegacyConfig } from "./defineConfig";
|
250
247
|
import { mergeConfig } from "@modern-js/core";
|
251
248
|
import { dev } from "./commands/dev";
|
249
|
+
import { serve } from "./commands/serve";
|
252
250
|
import { generateWatchFiles as generateWatchFiles2 } from "./utils/generateWatchFiles";
|
253
251
|
export * from "./types";
|
254
252
|
var src_default = appTools;
|
@@ -260,5 +258,6 @@ export {
|
|
260
258
|
dev,
|
261
259
|
generateWatchFiles2 as generateWatchFiles,
|
262
260
|
initAppContext,
|
263
|
-
mergeConfig
|
261
|
+
mergeConfig,
|
262
|
+
serve
|
264
263
|
};
|
@@ -107,7 +107,7 @@ var scanDir = function() {
|
|
107
107
|
entryName,
|
108
108
|
isMainEntry: false,
|
109
109
|
entry: enableCustomEntry ? customEntryFile || entryFile : entryFile,
|
110
|
-
customServerEntry,
|
110
|
+
customServerEntry: enableCustomEntry ? customServerEntry : false,
|
111
111
|
absoluteEntryDir: path.resolve(dir),
|
112
112
|
isAutoMount: true,
|
113
113
|
customBootstrap,
|
@@ -122,7 +122,7 @@ var scanDir = function() {
|
|
122
122
|
entryName,
|
123
123
|
isMainEntry: false,
|
124
124
|
entry: customEntryFile,
|
125
|
-
customServerEntry,
|
125
|
+
customServerEntry: enableCustomEntry ? customServerEntry : false,
|
126
126
|
absoluteEntryDir: path.resolve(dir),
|
127
127
|
isAutoMount: false,
|
128
128
|
customEntry: Boolean(customEntryFile)
|
@@ -70,7 +70,7 @@ var applyRouteOptions = function(original, routeOptions) {
|
|
70
70
|
};
|
71
71
|
var collectHtmlRoutes = function(entrypoints, appContext, config) {
|
72
72
|
var _deploy_worker;
|
73
|
-
var mainEntryName = config.source.mainEntryName, disableHtmlFolder = config.html.disableHtmlFolder, _config_output = config.output, tmp = _config_output.distPath, _ref = tmp === void 0 ? {} : tmp, htmlPath = _ref.html, _config_server = config.server, baseUrl = _config_server.baseUrl, routes = _config_server.routes, ssr = _config_server.ssr, ssrByEntries = _config_server.ssrByEntries, deploy = config.deploy;
|
73
|
+
var mainEntryName = config.source.mainEntryName, disableHtmlFolder = config.html.disableHtmlFolder, _config_output = config.output, tmp = _config_output.distPath, _ref = tmp === void 0 ? {} : tmp, htmlPath = _ref.html, _config_server = config.server, baseUrl = _config_server.baseUrl, routes = _config_server.routes, ssr = _config_server.ssr, ssrByEntries = _config_server.ssrByEntries, rsc = _config_server.rsc, deploy = config.deploy;
|
74
74
|
var packageName = appContext.packageName;
|
75
75
|
var workerSSR = deploy === null || deploy === void 0 ? void 0 : (_deploy_worker = deploy.worker) === null || _deploy_worker === void 0 ? void 0 : _deploy_worker.ssr;
|
76
76
|
var htmlRoutes = entrypoints.reduce(function(previous, param) {
|
@@ -81,16 +81,18 @@ var collectHtmlRoutes = function(entrypoints, appContext, config) {
|
|
81
81
|
var isWorker = Boolean(workerSSR);
|
82
82
|
var isStream = (typeof entryOptions === "undefined" ? "undefined" : _type_of(entryOptions)) === "object" && entryOptions.mode === "stream";
|
83
83
|
var resHeaders = ((routes === null || routes === void 0 ? void 0 : routes[entryName]) || {}).resHeaders;
|
84
|
+
var isRSC = !!rsc;
|
84
85
|
var route = {
|
85
86
|
urlPath: "/".concat(isMain ? "" : entryName),
|
86
87
|
entryName,
|
87
88
|
entryPath: removeLeadingSlash(path.posix.normalize("".concat(htmlPath, "/").concat(entryName).concat(disableHtmlFolder ? ".html" : "/index.html"))),
|
88
89
|
isSPA: true,
|
89
|
-
isStream,
|
90
|
+
isStream: isStream || isRSC,
|
90
91
|
isSSR,
|
92
|
+
isRSC,
|
91
93
|
responseHeaders: resHeaders,
|
92
94
|
worker: isWorker ? "".concat(SERVER_WORKER_BUNDLE_DIRECTORY, "/").concat(entryName, ".js") : void 0,
|
93
|
-
bundle: isSSR ? "".concat(SERVER_BUNDLE_DIRECTORY, "/").concat(entryName, ".js") : void 0
|
95
|
+
bundle: isSSR || isRSC ? "".concat(SERVER_BUNDLE_DIRECTORY, "/").concat(entryName, ".js") : void 0
|
94
96
|
};
|
95
97
|
if (routes === null || routes === void 0 ? void 0 : routes.hasOwnProperty(entryName)) {
|
96
98
|
var routeOptions = isPlainObject(routes[entryName]) ? routes[entryName] : {
|
package/dist/esm/run/index.js
CHANGED
@@ -13,11 +13,11 @@ function run(_) {
|
|
13
13
|
}
|
14
14
|
function _run() {
|
15
15
|
_run = _async_to_generator(function(param) {
|
16
|
-
var cwd, initialLog, metaName, version, internalPlugins, packageJsonConfig, configFile, command, cliParams, SUPPORT_CONFIG_PARAM_COMMANDS, customConfigFile, appDirectory, finalConfigFile, autoLoadPlugins, plugins;
|
16
|
+
var cwd, initialLog, _param_metaName, metaName, version, internalPlugins, _param_packageJsonConfig, packageJsonConfig, configFile, command, cliParams, SUPPORT_CONFIG_PARAM_COMMANDS, customConfigFile, appDirectory, finalConfigFile, autoLoadPlugins, plugins;
|
17
17
|
return _ts_generator(this, function(_state) {
|
18
18
|
switch (_state.label) {
|
19
19
|
case 0:
|
20
|
-
cwd = param.cwd, initialLog = param.initialLog,
|
20
|
+
cwd = param.cwd, initialLog = param.initialLog, _param_metaName = param.metaName, metaName = _param_metaName === void 0 ? "MODERN" : _param_metaName, version = param.version, internalPlugins = param.internalPlugins, _param_packageJsonConfig = param.packageJsonConfig, packageJsonConfig = _param_packageJsonConfig === void 0 ? PACKAGE_JSON_CONFIG_NAME : _param_packageJsonConfig, configFile = param.configFile;
|
21
21
|
command = process.argv[2];
|
22
22
|
cliParams = minimist(process.argv.slice(2));
|
23
23
|
SUPPORT_CONFIG_PARAM_COMMANDS = [
|
@@ -58,7 +58,7 @@ function _run() {
|
|
58
58
|
finalConfigFile = customConfigFile || getConfigFile(configFile);
|
59
59
|
return [
|
60
60
|
4,
|
61
|
-
isAutoLoadPlugins(appDirectory, finalConfigFile)
|
61
|
+
isAutoLoadPlugins(appDirectory, finalConfigFile, packageJsonConfig, metaName)
|
62
62
|
];
|
63
63
|
case 2:
|
64
64
|
autoLoadPlugins = _state.sent();
|
@@ -75,7 +75,7 @@ function _run() {
|
|
75
75
|
initialLog: initialLog || "Modern.js Framework v".concat(version),
|
76
76
|
configFile: finalConfigFile,
|
77
77
|
metaName,
|
78
|
-
packageJsonConfig
|
78
|
+
packageJsonConfig,
|
79
79
|
internalPlugins: plugins,
|
80
80
|
handleSetupResult
|
81
81
|
})
|
@@ -3,8 +3,8 @@ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
3
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
4
4
|
import path from "path";
|
5
5
|
import { fs, getServerConfig } from "@modern-js/utils";
|
6
|
+
import { PACKAGE_JSON_CONFIG_NAME } from "../constants";
|
6
7
|
var getPackageConfig = function(appDirectory, packageJsonConfig) {
|
7
|
-
var PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
8
8
|
var json = JSON.parse(fs.readFileSync(path.resolve(appDirectory, "./package.json"), "utf8"));
|
9
9
|
return json[packageJsonConfig !== null && packageJsonConfig !== void 0 ? packageJsonConfig : PACKAGE_JSON_CONFIG_NAME];
|
10
10
|
};
|
@@ -1,17 +1,16 @@
|
|
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 { createLoadedConfig } from "@modern-js/plugin-v2/cli";
|
4
|
-
function isAutoLoadPlugins(appDirectory) {
|
3
|
+
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
4
|
+
function isAutoLoadPlugins(appDirectory, configFile, packageJsonConfig, metaName) {
|
5
5
|
return _isAutoLoadPlugins.apply(this, arguments);
|
6
6
|
}
|
7
7
|
function _isAutoLoadPlugins() {
|
8
|
-
_isAutoLoadPlugins = _async_to_generator(function(appDirectory) {
|
9
|
-
var
|
10
|
-
var _arguments = arguments;
|
8
|
+
_isAutoLoadPlugins = _async_to_generator(function(appDirectory, configFile, packageJsonConfig, metaName) {
|
9
|
+
var _loaded_config, loaded, autoLoadPlugins;
|
11
10
|
return _ts_generator(this, function(_state) {
|
12
11
|
switch (_state.label) {
|
13
12
|
case 0:
|
14
|
-
|
13
|
+
loadEnv(appDirectory, process.env["".concat(metaName.toUpperCase(), "_ENV")]);
|
15
14
|
return [
|
16
15
|
4,
|
17
16
|
createLoadedConfig(appDirectory, configFile, packageJsonConfig)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { SERVICE_WORKER_ENVIRONMENT_NAME } from "@modern-js/uni-builder";
|
2
|
-
import { isProd, isSSR, isServiceWorker, isUseSSRBundle } from "@modern-js/utils";
|
2
|
+
import { isProd, isSSR, isServiceWorker, isUseRsc, isUseSSRBundle } from "@modern-js/utils";
|
3
3
|
function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig) {
|
4
4
|
var _tempBuilderConfig_output;
|
5
5
|
const entries = {};
|
@@ -36,7 +36,7 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
|
|
36
36
|
environments.web.output.copy = tempBuilderConfig.output.copy;
|
37
37
|
delete tempBuilderConfig.output.copy;
|
38
38
|
}
|
39
|
-
const useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
39
|
+
const useNodeTarget = isUseRsc(normalizedConfig) || (isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig));
|
40
40
|
if (useNodeTarget) {
|
41
41
|
environments.node = {
|
42
42
|
output: {
|
@@ -10,6 +10,8 @@ async function generateBuilder(options, bundlerType) {
|
|
10
10
|
builderConfig.environments = builderConfig.environments ? mergeRsbuildConfig(environments, builderConfig.environments) : environments;
|
11
11
|
const builder = await createUniBuilder({
|
12
12
|
cwd: appContext.appDirectory,
|
13
|
+
rscClientRuntimePath: `@${appContext.metaName}/runtime/rsc/client`,
|
14
|
+
rscServerRuntimePath: `@${appContext.metaName}/runtime/rsc/server`,
|
13
15
|
frameworkConfigPath: appContext.configFile || void 0,
|
14
16
|
bundlerType,
|
15
17
|
config: builderConfig
|
@@ -117,7 +117,7 @@ function applyFilterEntriesBySSRConfig({ isProd, chain, appNormalizedConfig }) {
|
|
117
117
|
}
|
118
118
|
const { ssr, ssrByEntries } = serverConfig || {};
|
119
119
|
entryNames.forEach((name) => {
|
120
|
-
if (!ssgEntries.includes(name) && !name.includes("server-loaders") && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
|
120
|
+
if (!(serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.rsc) && !ssgEntries.includes(name) && !name.includes("server-loaders") && (ssr && (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]) === false || !ssr && !(ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[name]))) {
|
121
121
|
chain.entryPoints.delete(name);
|
122
122
|
}
|
123
123
|
});
|
@@ -47,13 +47,22 @@ const dev = async (api, options, devServerOptions) => {
|
|
47
47
|
}
|
48
48
|
await generateRoutes(appContext);
|
49
49
|
const pluginInstances = await loadServerPlugins(api, appDirectory, metaName);
|
50
|
+
const toolsDevServerConfig = (_normalizedConfig_tools = normalizedConfig.tools) === null || _normalizedConfig_tools === void 0 ? void 0 : _normalizedConfig_tools.devServer;
|
51
|
+
var _normalizedConfig_dev_host, _normalizedConfig_dev_https, _normalizedConfig_dev_hmr, _normalizedConfig_dev_setupMiddlewares;
|
50
52
|
const serverOptions = {
|
51
53
|
metaName,
|
52
54
|
dev: {
|
55
|
+
// [`normalizedConfig.tools.devServer`](https://modernjs.dev/en/configure/app/tools/dev-server.html) already deprecated, we should using `normalizedConfig.dev` instead firstly.
|
56
|
+
// Oterwise, the `normalizedConfig.dev` can't be apply correctly.
|
57
|
+
...toolsDevServerConfig,
|
58
|
+
devMiddleware: {
|
59
|
+
writeToDisk: normalizedConfig.dev.writeToDisk
|
60
|
+
},
|
53
61
|
port,
|
54
|
-
|
55
|
-
|
56
|
-
|
62
|
+
host: (_normalizedConfig_dev_host = normalizedConfig.dev.host) !== null && _normalizedConfig_dev_host !== void 0 ? _normalizedConfig_dev_host : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.host,
|
63
|
+
https: (_normalizedConfig_dev_https = normalizedConfig.dev.https) !== null && _normalizedConfig_dev_https !== void 0 ? _normalizedConfig_dev_https : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.https,
|
64
|
+
hot: (_normalizedConfig_dev_hmr = normalizedConfig.dev.hmr) !== null && _normalizedConfig_dev_hmr !== void 0 ? _normalizedConfig_dev_hmr : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.hot,
|
65
|
+
setupMiddlewares: (_normalizedConfig_dev_setupMiddlewares = normalizedConfig.dev.setupMiddlewares) !== null && _normalizedConfig_dev_setupMiddlewares !== void 0 ? _normalizedConfig_dev_setupMiddlewares : toolsDevServerConfig === null || toolsDevServerConfig === void 0 ? void 0 : toolsDevServerConfig.setupMiddlewares
|
57
66
|
},
|
58
67
|
appContext: {
|
59
68
|
appDirectory,
|
@@ -45,8 +45,8 @@ const buildCommand = async (program, api) => {
|
|
45
45
|
};
|
46
46
|
const serverCommand = (program, api) => {
|
47
47
|
program.command("serve").usage("[options]").description(i18n.t(localeKeys.command.serve.describe)).option("--api-only", i18n.t(localeKeys.command.dev.apiOnly)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).action(async () => {
|
48
|
-
const {
|
49
|
-
await
|
48
|
+
const { serve } = await import("./serve.js");
|
49
|
+
await serve(api);
|
50
50
|
});
|
51
51
|
};
|
52
52
|
const deployCommand = (program, api) => {
|
@@ -3,7 +3,7 @@ import { createProdServer } from "@modern-js/prod-server";
|
|
3
3
|
import { SERVER_DIR, getMeta, getTargetDir, isApiOnly, logger } from "@modern-js/utils";
|
4
4
|
import { loadServerPlugins } from "../utils/loadPlugins";
|
5
5
|
import { printInstructions } from "../utils/printInstructions";
|
6
|
-
const
|
6
|
+
const serve = async (api, serverOptions) => {
|
7
7
|
var _userConfig_source, _userConfig_output_distPath;
|
8
8
|
const appContext = api.getAppContext();
|
9
9
|
const userConfig = api.getNormalizedConfig();
|
@@ -19,7 +19,7 @@ const start = async (api) => {
|
|
19
19
|
const meta = getMeta(metaName);
|
20
20
|
const serverConfigPath = path.resolve(distDirectory, SERVER_DIR, `${meta}.server`);
|
21
21
|
const pluginInstances = await loadServerPlugins(api, appDirectory, metaName);
|
22
|
-
const app = await createProdServer({
|
22
|
+
const app = await ((serverOptions === null || serverOptions === void 0 ? void 0 : serverOptions.launcher) || createProdServer)({
|
23
23
|
metaName,
|
24
24
|
pwd: distDirectory,
|
25
25
|
config: {
|
@@ -49,5 +49,5 @@ const start = async (api) => {
|
|
49
49
|
});
|
50
50
|
};
|
51
51
|
export {
|
52
|
-
|
52
|
+
serve
|
53
53
|
};
|
@@ -48,12 +48,6 @@ export const registerEsm = async ({ appDir, distDir, alias }) => {
|
|
48
48
|
if (hasTsconfig) {
|
49
49
|
tsConfig = readTsConfigByFile(tsconfigPath);
|
50
50
|
}
|
51
|
-
const esbuildRegister = await import('esbuild-register/dist/node');
|
52
|
-
esbuildRegister.register({
|
53
|
-
tsconfigRaw: hasTsconfig ? tsConfig : undefined,
|
54
|
-
hookIgnoreNodeModules: true,
|
55
|
-
hookMatcher: fileName => !fileName.startsWith(distDir),
|
56
|
-
});
|
57
51
|
register('./esbuild-loader.mjs', import.meta.url, {
|
58
52
|
data: {
|
59
53
|
appDir,
|
package/dist/esm-node/index.js
CHANGED
@@ -50,12 +50,9 @@ const appTools = (options = {
|
|
50
50
|
registryHooks: {
|
51
51
|
onAfterPrepare: createAsyncHook(),
|
52
52
|
deploy: createAsyncHook(),
|
53
|
-
_internalRuntimePlugins: createAsyncHook(),
|
54
|
-
_internalServerPlugins: createAsyncHook(),
|
55
53
|
checkEntryPoint: createAsyncHook(),
|
56
54
|
modifyEntrypoints: createAsyncHook(),
|
57
55
|
modifyFileSystemRoutes: createAsyncHook(),
|
58
|
-
modifyServerRoutes: createAsyncHook(),
|
59
56
|
generateEntryCode: createAsyncHook(),
|
60
57
|
onBeforeGenerateRoutes: createAsyncHook(),
|
61
58
|
onBeforePrintInstructions: createAsyncHook(),
|
@@ -144,6 +141,7 @@ const appTools = (options = {
|
|
144
141
|
import { defineConfig, defineLegacyConfig } from "./defineConfig";
|
145
142
|
import { mergeConfig } from "@modern-js/core";
|
146
143
|
import { dev } from "./commands/dev";
|
144
|
+
import { serve } from "./commands/serve";
|
147
145
|
import { generateWatchFiles as generateWatchFiles2 } from "./utils/generateWatchFiles";
|
148
146
|
export * from "./types";
|
149
147
|
var src_default = appTools;
|
@@ -155,5 +153,6 @@ export {
|
|
155
153
|
dev,
|
156
154
|
generateWatchFiles2 as generateWatchFiles,
|
157
155
|
initAppContext,
|
158
|
-
mergeConfig
|
156
|
+
mergeConfig,
|
157
|
+
serve
|
159
158
|
};
|
@@ -46,7 +46,7 @@ const scanDir = async (hooks, dirs, enableCustomEntry) => {
|
|
46
46
|
entryName,
|
47
47
|
isMainEntry: false,
|
48
48
|
entry: enableCustomEntry ? customEntryFile || entryFile : entryFile,
|
49
|
-
customServerEntry,
|
49
|
+
customServerEntry: enableCustomEntry ? customServerEntry : false,
|
50
50
|
absoluteEntryDir: path.resolve(dir),
|
51
51
|
isAutoMount: true,
|
52
52
|
customBootstrap,
|
@@ -58,7 +58,7 @@ const scanDir = async (hooks, dirs, enableCustomEntry) => {
|
|
58
58
|
entryName,
|
59
59
|
isMainEntry: false,
|
60
60
|
entry: customEntryFile,
|
61
|
-
customServerEntry,
|
61
|
+
customServerEntry: enableCustomEntry ? customServerEntry : false,
|
62
62
|
absoluteEntryDir: path.resolve(dir),
|
63
63
|
isAutoMount: false,
|
64
64
|
customEntry: Boolean(customEntryFile)
|
@@ -69,7 +69,7 @@ const applyRouteOptions = (original, routeOptions) => {
|
|
69
69
|
};
|
70
70
|
const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
71
71
|
var _deploy_worker;
|
72
|
-
const { source: { mainEntryName }, html: { disableHtmlFolder }, output: { distPath: { html: htmlPath } = {} }, server: { baseUrl, routes, ssr, ssrByEntries }, deploy } = config;
|
72
|
+
const { source: { mainEntryName }, html: { disableHtmlFolder }, output: { distPath: { html: htmlPath } = {} }, server: { baseUrl, routes, ssr, ssrByEntries, rsc }, deploy } = config;
|
73
73
|
const { packageName } = appContext;
|
74
74
|
const workerSSR = deploy === null || deploy === void 0 ? void 0 : (_deploy_worker = deploy.worker) === null || _deploy_worker === void 0 ? void 0 : _deploy_worker.ssr;
|
75
75
|
let htmlRoutes = entrypoints.reduce((previous, { entryName }) => {
|
@@ -79,16 +79,18 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
79
79
|
const isWorker = Boolean(workerSSR);
|
80
80
|
const isStream = typeof entryOptions === "object" && entryOptions.mode === "stream";
|
81
81
|
const { resHeaders } = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {};
|
82
|
+
const isRSC = !!rsc;
|
82
83
|
let route = {
|
83
84
|
urlPath: `/${isMain ? "" : entryName}`,
|
84
85
|
entryName,
|
85
86
|
entryPath: removeLeadingSlash(path.posix.normalize(`${htmlPath}/${entryName}${disableHtmlFolder ? ".html" : "/index.html"}`)),
|
86
87
|
isSPA: true,
|
87
|
-
isStream,
|
88
|
+
isStream: isStream || isRSC,
|
88
89
|
isSSR,
|
90
|
+
isRSC,
|
89
91
|
responseHeaders: resHeaders,
|
90
92
|
worker: isWorker ? `${SERVER_WORKER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0,
|
91
|
-
bundle: isSSR ? `${SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
|
93
|
+
bundle: isSSR || isRSC ? `${SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
|
92
94
|
};
|
93
95
|
if (routes === null || routes === void 0 ? void 0 : routes.hasOwnProperty(entryName)) {
|
94
96
|
const routeOptions = isPlainObject(routes[entryName]) ? routes[entryName] : {
|
@@ -6,7 +6,7 @@ import { PACKAGE_JSON_CONFIG_NAME } from "../constants";
|
|
6
6
|
import { getConfigFile } from "../utils/getConfigFile";
|
7
7
|
import { isAutoLoadPlugins } from "../utils/isAutoLoadPlugins";
|
8
8
|
import { loadInternalPlugins } from "../utils/loadPlugins";
|
9
|
-
async function run({ cwd, initialLog, metaName, version, internalPlugins, packageJsonConfig, configFile }) {
|
9
|
+
async function run({ cwd, initialLog, metaName = "MODERN", version, internalPlugins, packageJsonConfig = PACKAGE_JSON_CONFIG_NAME, configFile }) {
|
10
10
|
const command = process.argv[2];
|
11
11
|
const cliParams = minimist(process.argv.slice(2));
|
12
12
|
const SUPPORT_CONFIG_PARAM_COMMANDS = [
|
@@ -41,14 +41,14 @@ async function run({ cwd, initialLog, metaName, version, internalPlugins, packag
|
|
41
41
|
}
|
42
42
|
const appDirectory = await initAppDir(cwd);
|
43
43
|
const finalConfigFile = customConfigFile || getConfigFile(configFile);
|
44
|
-
const autoLoadPlugins = await isAutoLoadPlugins(appDirectory, finalConfigFile);
|
44
|
+
const autoLoadPlugins = await isAutoLoadPlugins(appDirectory, finalConfigFile, packageJsonConfig, metaName);
|
45
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
46
|
await CLIPluginRun({
|
47
47
|
cwd,
|
48
48
|
initialLog: initialLog || `Modern.js Framework v${version}`,
|
49
49
|
configFile: finalConfigFile,
|
50
50
|
metaName,
|
51
|
-
packageJsonConfig
|
51
|
+
packageJsonConfig,
|
52
52
|
internalPlugins: plugins,
|
53
53
|
handleSetupResult
|
54
54
|
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import { fs, getServerConfig } from "@modern-js/utils";
|
3
|
+
import { PACKAGE_JSON_CONFIG_NAME } from "../constants";
|
3
4
|
const getPackageConfig = (appDirectory, packageJsonConfig) => {
|
4
|
-
const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
|
5
5
|
const json = JSON.parse(fs.readFileSync(path.resolve(appDirectory, "./package.json"), "utf8"));
|
6
6
|
return json[packageJsonConfig !== null && packageJsonConfig !== void 0 ? packageJsonConfig : PACKAGE_JSON_CONFIG_NAME];
|
7
7
|
};
|
@@ -1,6 +1,7 @@
|
|
1
|
-
import { createLoadedConfig } from "@modern-js/plugin-v2/cli";
|
2
|
-
async function isAutoLoadPlugins(appDirectory, configFile
|
1
|
+
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
2
|
+
async function isAutoLoadPlugins(appDirectory, configFile, packageJsonConfig, metaName) {
|
3
3
|
var _loaded_config;
|
4
|
+
loadEnv(appDirectory, process.env[`${metaName.toUpperCase()}_ENV`]);
|
4
5
|
const loaded = await createLoadedConfig(appDirectory, configFile, packageJsonConfig);
|
5
6
|
const autoLoadPlugins = (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.autoLoadPlugins;
|
6
7
|
return autoLoadPlugins || false;
|
@@ -2,7 +2,8 @@ import type { CLIPluginAPI } from '@modern-js/plugin-v2';
|
|
2
2
|
import { type ApplyPlugins } from '@modern-js/server';
|
3
3
|
import type { AppTools } from '../types';
|
4
4
|
import type { DevOptions } from '../utils/types';
|
5
|
-
|
5
|
+
interface ExtraServerOptions {
|
6
6
|
applyPlugins?: ApplyPlugins;
|
7
7
|
}
|
8
8
|
export declare const dev: (api: CLIPluginAPI<AppTools<'shared'>>, options: DevOptions, devServerOptions?: ExtraServerOptions) => Promise<void>;
|
9
|
+
export {};
|
@@ -1,3 +1,8 @@
|
|
1
1
|
import type { CLIPluginAPI } from '@modern-js/plugin-v2';
|
2
|
+
import { createProdServer } from '@modern-js/prod-server';
|
2
3
|
import type { AppTools } from '../types';
|
3
|
-
|
4
|
+
type ExtraServerOptions = {
|
5
|
+
launcher?: typeof createProdServer;
|
6
|
+
};
|
7
|
+
export declare const serve: (api: CLIPluginAPI<AppTools<'shared'>>, serverOptions?: ExtraServerOptions) => Promise<void>;
|
8
|
+
export {};
|
package/dist/types/index.d.ts
CHANGED
@@ -6,6 +6,7 @@ export { defineConfig, defineLegacyConfig } from './defineConfig';
|
|
6
6
|
export { mergeConfig } from '@modern-js/core';
|
7
7
|
export type { RuntimeUserConfig } from './types/config';
|
8
8
|
export { dev } from './commands/dev';
|
9
|
+
export { serve } from './commands/serve';
|
9
10
|
export type { DevOptions } from './utils/types';
|
10
11
|
export { generateWatchFiles } from './utils/generateWatchFiles';
|
11
12
|
export * from './types';
|
@@ -1,21 +1,17 @@
|
|
1
1
|
import type { DevToolData, RegisterBuildPlatformResult } from '@modern-js/core';
|
2
2
|
import type { AsyncWaterfall, AsyncWorkflow, ParallelWorkflow } from '@modern-js/plugin';
|
3
|
-
import type {
|
3
|
+
import type { RuntimePluginConfig, ServerPluginConfig } from '@modern-js/plugin-v2';
|
4
|
+
import type { Entrypoint, HtmlPartials, NestedRouteForCli, PageRoute, RouteLegacy, ServerRoute } from '@modern-js/types';
|
4
5
|
import type { MultiStats, Rspack, Stats, webpack } from '@modern-js/uni-builder';
|
5
6
|
import type { Bundler } from './utils';
|
6
7
|
export interface ImportSpecifier {
|
7
8
|
local?: string;
|
8
9
|
imported?: string;
|
9
10
|
}
|
10
|
-
export interface RuntimePlugin {
|
11
|
-
name: string;
|
12
|
-
path: string;
|
13
|
-
config: Record<string, any>;
|
14
|
-
}
|
15
11
|
export type AppToolsHooks<B extends Bundler = 'webpack'> = {
|
16
12
|
_internalRuntimePlugins: AsyncWaterfall<{
|
17
13
|
entrypoint: Entrypoint;
|
18
|
-
plugins:
|
14
|
+
plugins: RuntimePluginConfig[];
|
19
15
|
}>;
|
20
16
|
modifyFileSystemRoutes: AsyncWaterfall<{
|
21
17
|
entrypoint: Entrypoint;
|
@@ -43,7 +39,7 @@ export type AppToolsHooks<B extends Bundler = 'webpack'> = {
|
|
43
39
|
code: string;
|
44
40
|
}>;
|
45
41
|
_internalServerPlugins: AsyncWaterfall<{
|
46
|
-
plugins:
|
42
|
+
plugins: ServerPluginConfig[];
|
47
43
|
}>;
|
48
44
|
beforeDev: AsyncWorkflow<void, unknown>;
|
49
45
|
afterDev: AsyncWorkflow<{
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import type { NormalizedConfig, UserConfig } from '@modern-js/core';
|
2
|
-
import type { CLIPlugin, CLIPluginExtends } from '@modern-js/plugin-v2';
|
2
|
+
import type { CLIPlugin, CLIPluginExtends, RuntimePluginConfig, ServerPluginConfig } from '@modern-js/plugin-v2';
|
3
3
|
import type { AppToolsNormalizedConfig, AppToolsUserConfig } from './config';
|
4
4
|
import type { AppToolsHooks } from './hooks';
|
5
5
|
import type { AppToolsLegacyNormalizedConfig, AppToolsLegacyUserConfig } from './legacyConfig';
|
6
6
|
import type { AppToolsExtendAPI, AppToolsExtendContext, AppToolsExtendHooks } from './new';
|
7
7
|
import type { Bundler } from './utils';
|
8
|
-
export type { CLIPluginExtends };
|
8
|
+
export type { CLIPluginExtends, RuntimePluginConfig, ServerPluginConfig };
|
9
9
|
export * from './hooks';
|
10
10
|
export * from './config';
|
11
11
|
export * from './legacyConfig';
|
@@ -5,16 +5,8 @@ import type { Entrypoint, HtmlPartials, HtmlTemplates, NestedRouteForCli, PageRo
|
|
5
5
|
import type { AppTools } from '.';
|
6
6
|
import type { getHookRunners } from '../compat/hooks';
|
7
7
|
import type { AppToolsNormalizedConfig, AppToolsUserConfig } from './config';
|
8
|
-
import type { RuntimePlugin } from './hooks';
|
9
8
|
import type { Bundler } from './utils';
|
10
9
|
export type AfterPrepareFn = () => Promise<void> | void;
|
11
|
-
export type InternalRuntimePluginsFn = TransformFunction<{
|
12
|
-
entrypoint: Entrypoint;
|
13
|
-
plugins: RuntimePlugin[];
|
14
|
-
}>;
|
15
|
-
export type InternalServerPluginsFn = TransformFunction<{
|
16
|
-
plugins: ServerPlugin[];
|
17
|
-
}>;
|
18
10
|
export type CheckEntryPointFn = TransformFunction<{
|
19
11
|
path: string;
|
20
12
|
entry: false | string;
|
@@ -26,9 +18,6 @@ export type ModifyFileSystemRoutesFn = TransformFunction<{
|
|
26
18
|
entrypoint: Entrypoint;
|
27
19
|
routes: RouteLegacy[] | (NestedRouteForCli | PageRoute)[];
|
28
20
|
}>;
|
29
|
-
export type ModifyServerRoutesFn = TransformFunction<{
|
30
|
-
routes: ServerRoute[];
|
31
|
-
}>;
|
32
21
|
export type DeplpoyFn = () => Promise<void> | void;
|
33
22
|
export type GenerateEntryCodeFn = (params: {
|
34
23
|
entrypoints: Entrypoint[];
|
@@ -46,12 +35,9 @@ export type AddRuntimeExportsFn = () => Promise<void> | void;
|
|
46
35
|
export interface AppToolsExtendAPI<B extends Bundler = 'webpack'> {
|
47
36
|
onAfterPrepare: PluginHookTap<AfterPrepareFn>;
|
48
37
|
deploy: PluginHookTap<DeplpoyFn>;
|
49
|
-
_internalRuntimePlugins: PluginHookTap<InternalRuntimePluginsFn>;
|
50
|
-
_internalServerPlugins: PluginHookTap<InternalServerPluginsFn>;
|
51
38
|
checkEntryPoint: PluginHookTap<CheckEntryPointFn>;
|
52
39
|
modifyEntrypoints: PluginHookTap<ModifyEntrypointsFn>;
|
53
40
|
modifyFileSystemRoutes: PluginHookTap<ModifyFileSystemRoutesFn>;
|
54
|
-
modifyServerRoutes: PluginHookTap<ModifyServerRoutesFn>;
|
55
41
|
generateEntryCode: PluginHookTap<GenerateEntryCodeFn>;
|
56
42
|
onBeforeGenerateRoutes: PluginHookTap<BeforeGenerateRoutesFn>;
|
57
43
|
/**
|
@@ -90,12 +76,9 @@ export interface AppToolsExtendAPI<B extends Bundler = 'webpack'> {
|
|
90
76
|
export interface AppToolsExtendHooks extends Record<string, PluginHook<(...args: any[]) => any>> {
|
91
77
|
onAfterPrepare: AsyncHook<AfterPrepareFn>;
|
92
78
|
deploy: AsyncHook<DeplpoyFn>;
|
93
|
-
_internalRuntimePlugins: AsyncHook<InternalRuntimePluginsFn>;
|
94
|
-
_internalServerPlugins: AsyncHook<InternalServerPluginsFn>;
|
95
79
|
checkEntryPoint: AsyncHook<CheckEntryPointFn>;
|
96
80
|
modifyEntrypoints: AsyncHook<ModifyEntrypointsFn>;
|
97
81
|
modifyFileSystemRoutes: AsyncHook<ModifyFileSystemRoutesFn>;
|
98
|
-
modifyServerRoutes: AsyncHook<ModifyServerRoutesFn>;
|
99
82
|
generateEntryCode: AsyncHook<GenerateEntryCodeFn>;
|
100
83
|
onBeforeGenerateRoutes: AsyncHook<BeforeGenerateRoutesFn>;
|
101
84
|
/**
|
@@ -152,4 +135,4 @@ export interface AppToolsExtendContext<B extends Bundler = 'webpack'> {
|
|
152
135
|
toolsType?: string;
|
153
136
|
}
|
154
137
|
export type AppToolsContext<B extends Bundler = 'webpack'> = AppContext<AppTools<B>> & AppToolsExtendContext<B>;
|
155
|
-
export type AppToolsHooks<B extends Bundler = 'webpack'> = Hooks<AppToolsUserConfig<B>, AppToolsNormalizedConfig, {}> & AppToolsExtendHooks;
|
138
|
+
export type AppToolsHooks<B extends Bundler = 'webpack'> = Hooks<AppToolsUserConfig<B>, AppToolsNormalizedConfig, {}, {}> & AppToolsExtendHooks;
|
@@ -1 +1 @@
|
|
1
|
-
export declare function isAutoLoadPlugins(appDirectory: string, configFile
|
1
|
+
export declare function isAutoLoadPlugins(appDirectory: string, configFile: string, packageJsonConfig: string, metaName: string): Promise<boolean>;
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.64.
|
18
|
+
"version": "2.64.2",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/index.d.ts",
|
21
21
|
"main": "./dist/cjs/index.js",
|
@@ -80,32 +80,31 @@
|
|
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.
|
84
|
-
"@rsbuild/plugin-node-polyfill": "1.
|
83
|
+
"@rsbuild/core": "1.2.7",
|
84
|
+
"@rsbuild/plugin-node-polyfill": "1.3.0",
|
85
85
|
"@swc/helpers": "0.5.13",
|
86
|
-
"@vercel/nft": "^0.26.4",
|
87
86
|
"es-module-lexer": "^1.1.0",
|
88
87
|
"esbuild": "0.17.19",
|
89
88
|
"esbuild-register": "^3.5.0",
|
90
89
|
"flatted": "^3.2.9",
|
91
90
|
"mlly": "^1.6.1",
|
92
|
-
"pkg-types": "^1.1.0",
|
93
91
|
"ndepe": "0.1.5",
|
92
|
+
"pkg-types": "^1.1.0",
|
94
93
|
"std-env": "^3.7.0",
|
95
|
-
"@modern-js/core": "2.64.
|
96
|
-
"@modern-js/node-bundle-require": "2.64.
|
97
|
-
"@modern-js/plugin-data-loader": "2.64.
|
98
|
-
"@modern-js/plugin": "2.64.
|
99
|
-
"@modern-js/plugin-i18n": "2.64.
|
100
|
-
"@modern-js/plugin-v2": "2.64.
|
101
|
-
"@modern-js/
|
102
|
-
"@modern-js/
|
103
|
-
"@modern-js/server": "2.64.
|
104
|
-
"@modern-js/server-core": "2.64.
|
105
|
-
"@modern-js/server-utils": "2.64.
|
106
|
-
"@modern-js/types": "2.64.
|
107
|
-
"@modern-js/uni-builder": "2.64.
|
108
|
-
"@modern-js/utils": "2.64.
|
94
|
+
"@modern-js/core": "2.64.2",
|
95
|
+
"@modern-js/node-bundle-require": "2.64.2",
|
96
|
+
"@modern-js/plugin-data-loader": "2.64.2",
|
97
|
+
"@modern-js/plugin": "2.64.2",
|
98
|
+
"@modern-js/plugin-i18n": "2.64.2",
|
99
|
+
"@modern-js/plugin-v2": "2.64.2",
|
100
|
+
"@modern-js/rsbuild-plugin-esbuild": "2.64.2",
|
101
|
+
"@modern-js/prod-server": "2.64.2",
|
102
|
+
"@modern-js/server": "2.64.2",
|
103
|
+
"@modern-js/server-core": "2.64.2",
|
104
|
+
"@modern-js/server-utils": "2.64.2",
|
105
|
+
"@modern-js/types": "2.64.2",
|
106
|
+
"@modern-js/uni-builder": "2.64.2",
|
107
|
+
"@modern-js/utils": "2.64.2"
|
109
108
|
},
|
110
109
|
"devDependencies": {
|
111
110
|
"@rsbuild/plugin-webpack-swc": "1.0.9",
|
@@ -117,8 +116,8 @@
|
|
117
116
|
"tsconfig-paths": "^4.2.0",
|
118
117
|
"typescript": "^5",
|
119
118
|
"webpack": "^5.97.1",
|
120
|
-
"@scripts/
|
121
|
-
"@scripts/
|
119
|
+
"@scripts/build": "2.64.2",
|
120
|
+
"@scripts/jest-config": "2.64.2"
|
122
121
|
},
|
123
122
|
"peerDependencies": {
|
124
123
|
"ts-node": "^10.7.0",
|