@modern-js/app-tools 2.64.0 → 2.64.2
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/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",
|