@bleedingdev/modern-js-app-tools 3.9.0-ultramodern.8 → 3.9.3-ultramodern.1
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/bin/modern-bundle-docs.js +2 -2
- package/bin/modern.js +2 -2
- package/dist/cjs/builder/generator/adapterCopy.js +26 -0
- package/dist/cjs/builder/generator/createCopyPattern.js +2 -1
- package/dist/cjs/builder/index.js +4 -0
- package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +2 -1
- package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +11 -6
- package/dist/cjs/builder/shared/lazyCompilation.js +26 -0
- package/dist/cjs/commands/build.js +1 -2
- package/dist/cjs/commands/deploy.js +1 -3
- package/dist/cjs/commands/index.js +10 -2
- package/dist/cjs/compat/hooks.js +1 -1
- package/dist/cjs/esm/ts-paths-loader.js +5 -4
- package/dist/cjs/esm/ts-paths-loader.mjs +5 -4
- package/dist/cjs/index.js +89 -110
- package/dist/cjs/plugins/analyze/getFileSystemEntry.js +1 -1
- package/dist/cjs/plugins/analyze/getServerRoutes.js +1 -1
- package/dist/cjs/plugins/analyze/index.js +2 -2
- package/dist/cjs/plugins/analyze/utils.js +6 -6
- package/dist/cjs/plugins/deploy/index.js +7 -28
- package/dist/cjs/plugins/deploy/platforms/netlify.js +2 -1
- package/dist/cjs/plugins/deploy/platforms/node.js +12 -3
- package/dist/cjs/plugins/deploy/platforms/templates/node-entry.cjs +3 -2
- package/dist/cjs/plugins/deploy/platforms/templates/node-entry.mjs +3 -2
- package/dist/cjs/plugins/deploy/platforms/vercel.js +2 -1
- package/dist/cjs/plugins/deploy/utils/index.js +15 -12
- package/dist/cjs/plugins/initialize/index.js +6 -5
- package/dist/cjs/plugins/serverBuild.js +0 -2
- package/dist/cjs/run/index.js +5 -5
- package/dist/cjs/{plugins/serverRuntime.js → server-plugin.js} +13 -16
- package/dist/cjs/types/config/base.js +62 -0
- package/dist/cjs/types/plugin-base.js +18 -0
- package/dist/cjs/types/plugin.js +46 -2
- package/dist/cjs/utils/initAppContext.js +1 -1
- package/dist/cjs/utils/loadPlugins.js +13 -7
- package/dist/cjs/utils/register.js +1 -1
- package/dist/esm/builder/generator/adapterCopy.mjs +23 -1
- package/dist/esm/builder/generator/createCopyPattern.mjs +2 -1
- package/dist/esm/builder/index.mjs +1 -0
- package/dist/esm/builder/shared/builderPlugins/adapterHtml.mjs +2 -1
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.mjs +9 -7
- package/dist/esm/builder/shared/lazyCompilation.mjs +14 -1
- package/dist/esm/commands/build.mjs +1 -2
- package/dist/esm/commands/deploy.mjs +1 -3
- package/dist/esm/commands/index.mjs +10 -2
- package/dist/esm/compat/hooks.mjs +1 -1
- package/dist/esm/esm/ts-paths-loader.mjs +5 -4
- package/dist/esm/index.mjs +13 -20
- package/dist/esm/plugins/analyze/getFileSystemEntry.mjs +1 -1
- package/dist/esm/plugins/analyze/getServerRoutes.mjs +1 -1
- package/dist/esm/plugins/analyze/index.mjs +2 -2
- package/dist/esm/plugins/analyze/utils.mjs +7 -7
- package/dist/esm/plugins/deploy/index.mjs +5 -21
- package/dist/esm/plugins/deploy/platforms/netlify.mjs +2 -1
- package/dist/esm/plugins/deploy/platforms/node.mjs +12 -3
- package/dist/esm/plugins/deploy/platforms/templates/node-entry.cjs +3 -2
- package/dist/esm/plugins/deploy/platforms/templates/node-entry.mjs +3 -2
- package/dist/esm/plugins/deploy/platforms/vercel.mjs +2 -1
- package/dist/esm/plugins/deploy/utils/index.mjs +17 -14
- package/dist/esm/plugins/initialize/index.mjs +6 -5
- package/dist/esm/plugins/serverBuild.mjs +0 -2
- package/dist/esm/run/index.mjs +5 -5
- package/dist/esm/server-plugin.mjs +1 -0
- package/dist/esm/types/config/base.mjs +1 -0
- package/dist/esm/types/plugin-base.mjs +0 -0
- package/dist/esm/types/plugin.mjs +1 -0
- package/dist/esm/utils/initAppContext.mjs +2 -2
- package/dist/esm/utils/loadPlugins.mjs +4 -8
- package/dist/esm/utils/register.mjs +1 -1
- package/dist/esm-node/builder/generator/adapterCopy.mjs +23 -1
- package/dist/esm-node/builder/generator/createCopyPattern.mjs +2 -1
- package/dist/esm-node/builder/index.mjs +1 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.mjs +2 -1
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.mjs +9 -7
- package/dist/esm-node/builder/shared/lazyCompilation.mjs +14 -1
- package/dist/esm-node/commands/build.mjs +1 -2
- package/dist/esm-node/commands/deploy.mjs +1 -3
- package/dist/esm-node/commands/index.mjs +10 -2
- package/dist/esm-node/compat/hooks.mjs +1 -1
- package/dist/esm-node/esm/ts-paths-loader.mjs +5 -4
- package/dist/esm-node/index.mjs +14 -22
- package/dist/esm-node/plugins/analyze/getFileSystemEntry.mjs +1 -1
- package/dist/esm-node/plugins/analyze/getServerRoutes.mjs +1 -1
- package/dist/esm-node/plugins/analyze/index.mjs +2 -2
- package/dist/esm-node/plugins/analyze/utils.mjs +7 -7
- package/dist/esm-node/plugins/deploy/index.mjs +5 -21
- package/dist/esm-node/plugins/deploy/platforms/netlify.mjs +2 -1
- package/dist/esm-node/plugins/deploy/platforms/node.mjs +12 -3
- package/dist/esm-node/plugins/deploy/platforms/templates/node-entry.cjs +3 -2
- package/dist/esm-node/plugins/deploy/platforms/templates/node-entry.mjs +3 -2
- package/dist/esm-node/plugins/deploy/platforms/vercel.mjs +2 -1
- package/dist/esm-node/plugins/deploy/utils/index.mjs +17 -15
- package/dist/esm-node/plugins/initialize/index.mjs +6 -5
- package/dist/esm-node/plugins/serverBuild.mjs +0 -2
- package/dist/esm-node/run/index.mjs +5 -5
- package/dist/esm-node/server-plugin.mjs +2 -0
- package/dist/esm-node/types/config/base.mjs +2 -0
- package/dist/esm-node/types/plugin-base.mjs +1 -0
- package/dist/esm-node/types/plugin.mjs +1 -0
- package/dist/esm-node/utils/initAppContext.mjs +2 -2
- package/dist/esm-node/utils/loadPlugins.mjs +4 -8
- package/dist/esm-node/utils/register.mjs +1 -1
- package/dist/types/builder/generator/adapterCopy.d.ts +13 -1
- package/dist/types/builder/index.d.ts +1 -0
- package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +4 -2
- package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +2 -1
- package/dist/types/builder/shared/builderPlugins/builderHooks.d.ts +10 -2
- package/dist/types/builder/shared/lazyCompilation.d.ts +15 -0
- package/dist/types/compat/hooks.d.ts +3 -2
- package/dist/types/index.d.ts +3 -4
- package/dist/types/plugins/analyze/getBundleEntry.d.ts +5 -4
- package/dist/types/plugins/analyze/getFileSystemEntry.d.ts +5 -4
- package/dist/types/plugins/analyze/utils.d.ts +2 -2
- package/dist/types/plugins/deploy/index.d.ts +1 -4
- package/dist/types/plugins/deploy/utils/generator.d.ts +1 -1
- package/dist/types/plugins/deploy/utils/index.d.ts +1 -1
- package/dist/types/run/index.d.ts +1 -1
- package/dist/types/server-plugin.d.ts +10 -0
- package/dist/types/types/config/base.d.ts +58 -0
- package/dist/types/types/config/deploy.d.ts +2 -50
- package/dist/types/types/config/dev.d.ts +1 -1
- package/dist/types/types/config/index.d.ts +18 -42
- package/dist/types/types/config/output.d.ts +2 -2
- package/dist/types/types/config/testing.d.ts +1 -1
- package/dist/types/types/config/tools.d.ts +1 -1
- package/dist/types/types/plugin-base.d.ts +188 -0
- package/dist/types/types/plugin.d.ts +9 -183
- package/dist/types/utils/initAppContext.d.ts +2 -2
- package/docs/apis/app/commands.md +1 -0
- package/docs/configure/app/bff/effect.md +5 -12
- package/docs/configure/app/output/disable-svgr.md +4 -0
- package/docs/configure/app/output/svg-default-export.md +4 -0
- package/docs/configure/app/source/react-compiler.md +2 -0
- package/docs/configure/app/tools/less.md +94 -19
- package/docs/configure/app/tools/sass.md +87 -18
- package/docs/configure/app/tools/svgr.md +91 -0
- package/docs/configure/app/tools/ts-checker.md +7 -21
- package/docs/guides/basic-features/render/ssr-cache.md +14 -1
- package/docs/guides/basic-features/static-assets/svg-assets.md +29 -17
- package/docs/guides/basic-features/testing/rstest.md +0 -2
- package/docs/guides/get-started/quick-start.md +1 -1
- package/docs/guides/get-started/ultramodern.md +45 -14
- package/docs/llms.txt +4 -3
- package/docs/plugin/introduction.md +10 -10
- package/docs/plugin/server-plugins/api.md +1 -0
- package/package.json +67 -30
- package/dist/esm/plugins/serverRuntime.mjs +0 -15
- package/dist/esm-node/plugins/serverRuntime.mjs +0 -16
- package/dist/types/plugins/serverRuntime.d.ts +0 -3
|
@@ -43,9 +43,9 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
43
43
|
readTemplate: ()=>readTemplate,
|
|
44
44
|
resolveESMDependency: ()=>resolveESMDependency
|
|
45
45
|
});
|
|
46
|
-
const external_node_module_namespaceObject = require("node:module");
|
|
47
46
|
const external_node_url_namespaceObject = require("node:url");
|
|
48
47
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
48
|
+
const external_import_meta_resolve_namespaceObject = require("import-meta-resolve");
|
|
49
49
|
const external_path_namespaceObject = require("path");
|
|
50
50
|
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
51
51
|
const normalizePath = (filePath)=>filePath.replace(/\\/g, '/');
|
|
@@ -72,18 +72,21 @@ const getProjectUsage = (appDirectory, distDirectory, metaName)=>{
|
|
|
72
72
|
};
|
|
73
73
|
const getTemplatePath = (file)=>external_path_default().join(__dirname, '../platforms/templates', file);
|
|
74
74
|
const readTemplate = async (file)=>(await utils_namespaceObject.fs.readFile(getTemplatePath(file))).toString();
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
75
|
+
const DEPLOY_CONDITIONS = [
|
|
76
|
+
'node',
|
|
77
|
+
'import',
|
|
78
|
+
'module',
|
|
79
|
+
'default'
|
|
80
|
+
];
|
|
81
|
+
const resolveESMDependency = async (entry, fromDirectory)=>{
|
|
82
|
+
const base = fromDirectory ? (0, external_node_url_namespaceObject.pathToFileURL)(external_path_default().join(fromDirectory, 'package.json')) : (0, external_node_url_namespaceObject.pathToFileURL)(`${__dirname}/`);
|
|
82
83
|
try {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
return normalizePath((0, external_node_url_namespaceObject.fileURLToPath)((0, external_import_meta_resolve_namespaceObject.moduleResolve)(entry, base, new Set(DEPLOY_CONDITIONS), false)));
|
|
85
|
+
} catch (cause) {
|
|
86
|
+
throw new Error(`Cannot resolve "${entry}" with conditions [${DEPLOY_CONDITIONS.join(', ')}] from ${base.href}: ${cause.message}`, {
|
|
87
|
+
cause
|
|
88
|
+
});
|
|
89
|
+
}
|
|
87
90
|
};
|
|
88
91
|
exports.getProjectUsage = __webpack_exports__.getProjectUsage;
|
|
89
92
|
exports.getTemplatePath = __webpack_exports__.getTemplatePath;
|
|
@@ -31,6 +31,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
31
31
|
default: ()=>initialize
|
|
32
32
|
});
|
|
33
33
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
34
|
+
const lazyCompilation_js_namespaceObject = require("../../builder/shared/lazyCompilation.js");
|
|
34
35
|
const index_js_namespaceObject = require("../../config/index.js");
|
|
35
36
|
const initialize = ()=>({
|
|
36
37
|
name: '@modern-js/plugin-initialize',
|
|
@@ -49,7 +50,8 @@ const initialize = ()=>({
|
|
|
49
50
|
...defaultConfig.dev,
|
|
50
51
|
lazyCompilation: {
|
|
51
52
|
imports: true,
|
|
52
|
-
entries: false
|
|
53
|
+
entries: false,
|
|
54
|
+
test: (0, lazyCompilation_js_namespaceObject.buildDefaultLazyCompilationTest)(appContext.appDirectory, appContext.internalDirectory)
|
|
53
55
|
}
|
|
54
56
|
};
|
|
55
57
|
return defaultConfig;
|
|
@@ -57,7 +59,7 @@ const initialize = ()=>({
|
|
|
57
59
|
api.modifyResolvedConfig(async (resolved)=>{
|
|
58
60
|
let appContext = api.getAppContext();
|
|
59
61
|
const userConfig = api.getConfig();
|
|
60
|
-
const port = await getServerPort(resolved
|
|
62
|
+
const port = await getServerPort(resolved);
|
|
61
63
|
appContext = {
|
|
62
64
|
...appContext,
|
|
63
65
|
port,
|
|
@@ -92,10 +94,9 @@ function stabilizeConfig(resolve, config, keys) {
|
|
|
92
94
|
resolve[key] = config[key] || {};
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
|
-
async function getServerPort(config
|
|
97
|
+
async function getServerPort(config) {
|
|
96
98
|
const prodPort = Number(process.env.PORT) || config.server.port || 8080;
|
|
97
|
-
|
|
98
|
-
if ((0, utils_namespaceObject.isDev)() && ((0, utils_namespaceObject.isDevCommand)() || isProgrammaticDev)) return (0, utils_namespaceObject.getPort)(Number(process.env.PORT) || prodPort);
|
|
99
|
+
if ((0, utils_namespaceObject.isDev)() && (0, utils_namespaceObject.isDevCommand)()) return (0, utils_namespaceObject.getPort)(Number(process.env.PORT) || prodPort);
|
|
99
100
|
return prodPort;
|
|
100
101
|
}
|
|
101
102
|
exports["default"] = __webpack_exports__["default"];
|
|
@@ -72,10 +72,8 @@ const serverBuild = ()=>({
|
|
|
72
72
|
sourceDirs.push(serverDir);
|
|
73
73
|
if (external_fs_default().existsSync(sharedDir)) sourceDirs.push(sharedDir);
|
|
74
74
|
}
|
|
75
|
-
const { server } = modernConfig;
|
|
76
75
|
const { alias } = modernConfig.source;
|
|
77
76
|
if (sourceDirs.length > 0) await (0, server_utils_namespaceObject.compile)(appDirectory, {
|
|
78
|
-
server,
|
|
79
77
|
alias
|
|
80
78
|
}, {
|
|
81
79
|
sourceDirs,
|
package/dist/cjs/run/index.js
CHANGED
|
@@ -40,21 +40,21 @@ const loadPlugins_js_namespaceObject = require("../utils/loadPlugins.js");
|
|
|
40
40
|
async function createRunOptions({ cwd, initialLog, metaName = 'modern-js', version, internalPlugins, configFile }) {
|
|
41
41
|
const nodeVersion = process.versions.node;
|
|
42
42
|
const versionArr = nodeVersion.split('.').map(Number);
|
|
43
|
-
if (versionArr[0] < 26 || 26 === versionArr[0] && versionArr[1] <
|
|
43
|
+
if (versionArr[0] < 26 || 26 === versionArr[0] && versionArr[1] < 10) throw new Error(`
|
|
44
44
|
${utils_namespaceObject.chalk.bgRed.white.bold(' UNSUPPORTED NODE.JS RUNTIME ')}
|
|
45
45
|
|
|
46
|
-
${utils_namespaceObject.chalk.red.bold(`UltraModern.js requires Node.js >=26.
|
|
46
|
+
${utils_namespaceObject.chalk.red.bold(`UltraModern.js requires Node.js >=26.10.0; detected v${nodeVersion}.`)}
|
|
47
47
|
${utils_namespaceObject.chalk.red('- Legacy Node runtimes and TypeScript transpiler fallbacks are unsupported.')}
|
|
48
48
|
|
|
49
49
|
${utils_namespaceObject.chalk.yellow('▸ Detected Runtime:')} ${utils_namespaceObject.chalk.yellow.bold(`Node.js v${nodeVersion}`)}
|
|
50
|
-
${utils_namespaceObject.chalk.green('▸ Required Minimum:')} ${utils_namespaceObject.chalk.green.bold('Node.js v26.
|
|
51
|
-
${utils_namespaceObject.chalk.green('▸ Pinned Runtime:')} ${utils_namespaceObject.chalk.green.bold('Node.js v26.
|
|
50
|
+
${utils_namespaceObject.chalk.green('▸ Required Minimum:')} ${utils_namespaceObject.chalk.green.bold('Node.js v26.10.0 or higher')}
|
|
51
|
+
${utils_namespaceObject.chalk.green('▸ Pinned Runtime:')} ${utils_namespaceObject.chalk.green.bold('Node.js v26.10.0')}
|
|
52
52
|
|
|
53
53
|
${utils_namespaceObject.chalk.cyan('Immediate Action Required:')}
|
|
54
54
|
${utils_namespaceObject.chalk.gray('├──')} ${utils_namespaceObject.chalk.yellow('Recommended Upgrade')}
|
|
55
55
|
${utils_namespaceObject.chalk.bold('mise install && mise exec -- node --version')}
|
|
56
56
|
${utils_namespaceObject.chalk.gray('├──')} ${utils_namespaceObject.chalk.yellow('Manual Installation')}
|
|
57
|
-
${utils_namespaceObject.chalk.underline('https://nodejs.org/download/release/v26.
|
|
57
|
+
${utils_namespaceObject.chalk.underline('https://nodejs.org/download/release/v26.10.0/')}
|
|
58
58
|
${utils_namespaceObject.chalk.gray('└──')} ${utils_namespaceObject.chalk.yellow('Environment Verification')}
|
|
59
59
|
${utils_namespaceObject.chalk.bold('node -v && npm -v')}
|
|
60
60
|
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
3
12
|
(()=>{
|
|
4
13
|
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
14
|
var define = (defs, kind)=>{
|
|
@@ -27,23 +36,11 @@ var __webpack_require__ = {};
|
|
|
27
36
|
})();
|
|
28
37
|
var __webpack_exports__ = {};
|
|
29
38
|
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
setup (api) {
|
|
33
|
-
api.config(()=>({
|
|
34
|
-
output: {
|
|
35
|
-
externals: [
|
|
36
|
-
{
|
|
37
|
-
'@modern-js/server-runtime': '@modern-js/server-runtime'
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
__webpack_require__.d(__webpack_exports__, {}, {
|
|
45
|
-
default: __rspack_default_export
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
default: ()=>server_plugin_default()
|
|
46
41
|
});
|
|
42
|
+
const server_plugin_namespaceObject = require("@modern-js/server-runtime-extensions/server-plugin");
|
|
43
|
+
var server_plugin_default = /*#__PURE__*/ __webpack_require__.n(server_plugin_namespaceObject);
|
|
47
44
|
exports["default"] = __webpack_exports__["default"];
|
|
48
45
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
49
46
|
"default"
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_modules__ = {
|
|
3
|
+
"./output" (module) {
|
|
4
|
+
module.exports = require("./output.js");
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
var __webpack_module_cache__ = {};
|
|
8
|
+
function __webpack_require__(moduleId) {
|
|
9
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
10
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
11
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
12
|
+
exports: {}
|
|
13
|
+
};
|
|
14
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
15
|
+
return module.exports;
|
|
16
|
+
}
|
|
17
|
+
(()=>{
|
|
18
|
+
__webpack_require__.n = (module)=>{
|
|
19
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
20
|
+
__webpack_require__.d(getter, {
|
|
21
|
+
a: getter
|
|
22
|
+
});
|
|
23
|
+
return getter;
|
|
24
|
+
};
|
|
25
|
+
})();
|
|
26
|
+
(()=>{
|
|
27
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
28
|
+
var define = (defs, kind)=>{
|
|
29
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
[kind]: defs[key]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
define(getters, "get");
|
|
35
|
+
define(values, "value");
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
(()=>{
|
|
39
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
40
|
+
})();
|
|
41
|
+
(()=>{
|
|
42
|
+
__webpack_require__.r = (exports1)=>{
|
|
43
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
44
|
+
value: 'Module'
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
47
|
+
value: true
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
})();
|
|
51
|
+
var __webpack_exports__ = {};
|
|
52
|
+
(()=>{
|
|
53
|
+
__webpack_require__.r(__webpack_exports__);
|
|
54
|
+
var _output__rspack_import_0 = __webpack_require__("./output");
|
|
55
|
+
var __rspack_reexport = {};
|
|
56
|
+
for(const __rspack_import_key in _output__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_output__rspack_import_0[__rspack_import_key];
|
|
57
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
58
|
+
})();
|
|
59
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
60
|
+
Object.defineProperty(exports, '__esModule', {
|
|
61
|
+
value: true
|
|
62
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.r = (exports1)=>{
|
|
5
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
6
|
+
value: 'Module'
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
})();
|
|
13
|
+
var __webpack_exports__ = {};
|
|
14
|
+
__webpack_require__.r(__webpack_exports__);
|
|
15
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
16
|
+
Object.defineProperty(exports, '__esModule', {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
package/dist/cjs/types/plugin.js
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
2
|
+
var __webpack_modules__ = {
|
|
3
|
+
"./plugin-base" (module) {
|
|
4
|
+
module.exports = require("./plugin-base.js");
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
var __webpack_module_cache__ = {};
|
|
8
|
+
function __webpack_require__(moduleId) {
|
|
9
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
10
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
11
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
12
|
+
exports: {}
|
|
13
|
+
};
|
|
14
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
15
|
+
return module.exports;
|
|
16
|
+
}
|
|
17
|
+
(()=>{
|
|
18
|
+
__webpack_require__.n = (module)=>{
|
|
19
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
20
|
+
__webpack_require__.d(getter, {
|
|
21
|
+
a: getter
|
|
22
|
+
});
|
|
23
|
+
return getter;
|
|
24
|
+
};
|
|
25
|
+
})();
|
|
26
|
+
(()=>{
|
|
27
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
28
|
+
var define = (defs, kind)=>{
|
|
29
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
[kind]: defs[key]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
define(getters, "get");
|
|
35
|
+
define(values, "value");
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
(()=>{
|
|
39
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
40
|
+
})();
|
|
3
41
|
(()=>{
|
|
4
42
|
__webpack_require__.r = (exports1)=>{
|
|
5
43
|
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
@@ -11,7 +49,13 @@ var __webpack_require__ = {};
|
|
|
11
49
|
};
|
|
12
50
|
})();
|
|
13
51
|
var __webpack_exports__ = {};
|
|
14
|
-
|
|
52
|
+
(()=>{
|
|
53
|
+
__webpack_require__.r(__webpack_exports__);
|
|
54
|
+
var _plugin_base__rspack_import_0 = __webpack_require__("./plugin-base");
|
|
55
|
+
var __rspack_reexport = {};
|
|
56
|
+
for(const __rspack_import_key in _plugin_base__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_plugin_base__rspack_import_0[__rspack_import_key];
|
|
57
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
58
|
+
})();
|
|
15
59
|
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
16
60
|
Object.defineProperty(exports, '__esModule', {
|
|
17
61
|
value: true
|
|
@@ -59,7 +59,7 @@ const initAppContext = ({ metaName, appDirectory, runtimeConfigFile, options, te
|
|
|
59
59
|
const moduleType = utils_namespaceObject.fs.existsSync(pkgPath) ? utils_namespaceObject.fs.readJSONSync(pkgPath).type || 'commonjs' : 'commonjs';
|
|
60
60
|
return {
|
|
61
61
|
runtimeConfigFile,
|
|
62
|
-
ip: utils_namespaceObject.
|
|
62
|
+
ip: (0, utils_namespaceObject.ip)(),
|
|
63
63
|
port: 0,
|
|
64
64
|
moduleType,
|
|
65
65
|
apiDirectory: external_path_default().resolve(appDirectory, apiDir),
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
3
12
|
(()=>{
|
|
4
13
|
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
14
|
var define = (defs, kind)=>{
|
|
@@ -32,6 +41,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
41
|
loadInternalPlugins: ()=>loadInternalPlugins,
|
|
33
42
|
loadServerPlugins: ()=>loadServerPlugins
|
|
34
43
|
});
|
|
44
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
45
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
35
46
|
const node_namespaceObject = require("@modern-js/server-core/node");
|
|
36
47
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
37
48
|
const debug = (0, utils_namespaceObject.createDebugger)('load-plugins');
|
|
@@ -40,7 +51,7 @@ async function getServerPlugins(api, metaName = 'modern-js') {
|
|
|
40
51
|
const { plugins } = await hooks._internalServerPlugins.call({
|
|
41
52
|
plugins: []
|
|
42
53
|
});
|
|
43
|
-
const filtedPlugins = plugins.filter((plugin)=>plugin.name.includes(metaName));
|
|
54
|
+
const filtedPlugins = plugins.filter((plugin)=>external_node_path_default().isAbsolute(plugin.name) || plugin.name.includes(metaName));
|
|
44
55
|
api.updateAppContext({
|
|
45
56
|
serverPlugins: filtedPlugins
|
|
46
57
|
});
|
|
@@ -55,12 +66,7 @@ const resolveCliPlugin = async (p, appDirectory)=>{
|
|
|
55
66
|
const pkg = 'string' == typeof p ? p : p[0];
|
|
56
67
|
const pluginOptions = 'string' == typeof p ? void 0 : p[1];
|
|
57
68
|
const path = (0, utils_namespaceObject.tryResolve)(pkg, appDirectory);
|
|
58
|
-
|
|
59
|
-
try {
|
|
60
|
-
module = await (0, utils_namespaceObject.compatibleRequire)(path);
|
|
61
|
-
} catch (e) {
|
|
62
|
-
({ default: module } = await (0, utils_namespaceObject.dynamicImport)(path));
|
|
63
|
-
}
|
|
69
|
+
const module = await (0, utils_namespaceObject.compatibleRequire)(path);
|
|
64
70
|
if ('function' == typeof module) {
|
|
65
71
|
const result = module(pluginOptions);
|
|
66
72
|
return result;
|
|
@@ -100,7 +100,7 @@ const resolveTsRuntimeRegisterMode = ()=>{
|
|
|
100
100
|
return 'unsupported';
|
|
101
101
|
};
|
|
102
102
|
const setupTsRuntime = async (appDir, distDir, alias, options = {})=>{
|
|
103
|
-
if ('unsupported' === resolveTsRuntimeRegisterMode()) throw new Error(`UltraModern.js requires Node.js >=26.
|
|
103
|
+
if ('unsupported' === resolveTsRuntimeRegisterMode()) throw new Error(`UltraModern.js requires Node.js >=26.10.0 with native TypeScript support; detected v${process.versions.node}. Legacy TypeScript runtime transpilers are unsupported.`);
|
|
104
104
|
const tsconfigPath = (0, utils_namespaceObject.resolveServerTsconfig)(appDir, options.tsconfigPath);
|
|
105
105
|
const isTsProject = await utils_namespaceObject.fs.pathExists(tsconfigPath);
|
|
106
106
|
if (!isTsProject) return;
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
+
import node_fs from "node:fs";
|
|
1
2
|
import path from "path";
|
|
2
3
|
import { createCopyInfo } from "../shared/index.mjs";
|
|
3
4
|
import { createPublicPattern } from "./createCopyPattern.mjs";
|
|
5
|
+
class MissingCopyContextPlugin {
|
|
6
|
+
apply(compiler) {
|
|
7
|
+
compiler.hooks.afterCompile.tap('MissingCopyContextPlugin', (compilation)=>{
|
|
8
|
+
for (const context of this.contexts)if (!node_fs.existsSync(context)) {
|
|
9
|
+
compilation.contextDependencies.delete(context);
|
|
10
|
+
compilation.missingDependencies.add(context);
|
|
11
|
+
for(let parent = path.dirname(context); parent !== path.dirname(parent) && !node_fs.existsSync(parent); parent = path.dirname(parent))compilation.missingDependencies.add(parent);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
constructor(contexts){
|
|
16
|
+
this.contexts = contexts;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
4
19
|
const builderPluginAdapterCopy = (options)=>({
|
|
5
20
|
name: 'builder-plugin-adapter-copy',
|
|
6
21
|
setup (api) {
|
|
@@ -28,8 +43,15 @@ const builderPluginAdapterCopy = (options)=>({
|
|
|
28
43
|
]
|
|
29
44
|
}
|
|
30
45
|
]);
|
|
46
|
+
const patterns = chain.plugin(CHAIN_ID.PLUGIN.COPY).get('args')?.[0]?.patterns ?? [];
|
|
47
|
+
const optionalContexts = patterns.flatMap((pattern)=>pattern && 'object' == typeof pattern && 'noErrorOnMissing' in pattern && pattern.noErrorOnMissing && 'context' in pattern && 'string' == typeof pattern.context ? [
|
|
48
|
+
path.resolve(appContext.appDirectory, pattern.context)
|
|
49
|
+
] : []);
|
|
50
|
+
if (optionalContexts.length) chain.plugin('modern-missing-copy-context').use(MissingCopyContextPlugin, [
|
|
51
|
+
optionalContexts
|
|
52
|
+
]);
|
|
31
53
|
}
|
|
32
54
|
});
|
|
33
55
|
}
|
|
34
56
|
});
|
|
35
|
-
export { builderPluginAdapterCopy };
|
|
57
|
+
export { MissingCopyContextPlugin, builderPluginAdapterCopy };
|
|
@@ -14,7 +14,8 @@ function createPublicPattern(appContext, config, chain) {
|
|
|
14
14
|
noErrorOnMissing: true,
|
|
15
15
|
transform: (content, absoluteFrom)=>{
|
|
16
16
|
if (!/\.html?$/.test(absoluteFrom)) return content;
|
|
17
|
-
|
|
17
|
+
const publicPath = chain.output.get('publicPath');
|
|
18
|
+
return content.toString('utf8').replace(/<%=\s*assetPrefix\s*%>/g, removeTailSlash('string' == typeof publicPath ? publicPath : ''));
|
|
18
19
|
}
|
|
19
20
|
};
|
|
20
21
|
}
|
|
@@ -3,5 +3,6 @@ async function createBuilderGenerator() {
|
|
|
3
3
|
return createRspackBuilderForModern;
|
|
4
4
|
}
|
|
5
5
|
export { parseRspackConfig } from "@modern-js/builder";
|
|
6
|
+
export { getBundleEntry } from "../plugins/analyze/getBundleEntry.mjs";
|
|
6
7
|
export { builderPluginAdapterBasic, builderPluginAdapterHooks } from "./shared/builderPlugins/index.mjs";
|
|
7
8
|
export { createBuilderGenerator };
|
|
@@ -26,7 +26,8 @@ const builderPluginAdapterHtml = (options)=>({
|
|
|
26
26
|
async function injectAssetPrefix({ chain }) {
|
|
27
27
|
const entries = chain.entryPoints.entries() || {};
|
|
28
28
|
const entryNames = Object.keys(entries);
|
|
29
|
-
const
|
|
29
|
+
const publicPath = chain.output.get('publicPath');
|
|
30
|
+
const assetPrefix = removeTailSlash('string' == typeof publicPath ? publicPath : '');
|
|
30
31
|
const code = `window.__assetPrefix__ = '${assetPrefix}';`;
|
|
31
32
|
entryNames.forEach((entryName)=>{
|
|
32
33
|
entries[entryName].prepend(createVirtualModule(code));
|
|
@@ -37,8 +37,8 @@ const builderPluginAdapterSSR = (options)=>({
|
|
|
37
37
|
appNormalizedConfig: normalizedConfig
|
|
38
38
|
});
|
|
39
39
|
if (isUseSSRBundle(normalizedConfig) || isUseRsc(normalizedConfig)) {
|
|
40
|
-
await applySSRLoaderEntry(chain, options, isServer);
|
|
41
|
-
applySSRDataLoader(chain, options);
|
|
40
|
+
await applySSRLoaderEntry(chain, options, isServer, isServiceWorker);
|
|
41
|
+
applySSRDataLoader(chain, options, isServer || isServiceWorker);
|
|
42
42
|
}
|
|
43
43
|
if (!isHtmlDisabled(builderConfig, target)) applyAsyncChunkHtmlPlugin({
|
|
44
44
|
chain,
|
|
@@ -123,7 +123,7 @@ function applyFilterEntriesBySSRConfig({ isProd, chain, appNormalizedConfig }) {
|
|
|
123
123
|
if (!serverConfig?.rsc && !ssgEntries.includes(name) && !name.includes('server-loaders') && (ssr && ssrByEntries?.[name] === false || !ssr && !ssrByEntries?.[name])) chain.entryPoints.delete(name);
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
|
-
async function applySSRLoaderEntry(chain, optinos, isServer) {
|
|
126
|
+
async function applySSRLoaderEntry(chain, optinos, isServer, isServiceWorker) {
|
|
127
127
|
const { appContext } = optinos;
|
|
128
128
|
const { internalDirectory } = appContext;
|
|
129
129
|
const { entrypoints } = appContext;
|
|
@@ -134,15 +134,17 @@ async function applySSRLoaderEntry(chain, optinos, isServer) {
|
|
|
134
134
|
await fs.access(serverLoadersFile, fs.constants.F_OK);
|
|
135
135
|
chain.entry(`${entryName}-server-loaders`).add(serverLoadersFile);
|
|
136
136
|
} catch (err) {}
|
|
137
|
-
else if (isUseRsc(optinos.normalizedConfig)) chain.entry(`${entryName}-server-loaders`).add("data:text/javascript,export%20{};");
|
|
137
|
+
else if (!isServiceWorker && isUseRsc(optinos.normalizedConfig)) chain.entry(`${entryName}-server-loaders`).add("data:text/javascript,export%20{};");
|
|
138
138
|
}));
|
|
139
139
|
}
|
|
140
|
-
function applySSRDataLoader(chain, options) {
|
|
140
|
+
function applySSRDataLoader(chain, options, server) {
|
|
141
141
|
const { normalizedConfig, appContext } = options;
|
|
142
142
|
const { appDirectory } = appContext;
|
|
143
143
|
const { entriesDir = './src' } = normalizedConfig.source;
|
|
144
144
|
const absolutePath = __rspack_external_path.resolve(appDirectory, entriesDir).split(__rspack_external_path.sep).join('(\\\\|/)');
|
|
145
145
|
const reg = new RegExp(`${absolutePath}.*\\.(loader|data|data.client)\\.[t|j]sx?$`);
|
|
146
|
-
chain.module.rule('ssr-data-loader').test(reg).use('data-loader').loader(require.resolve('@modern-js/plugin-data-loader/loader')).
|
|
146
|
+
chain.module.rule('ssr-data-loader').test(reg).enforce('pre').use('data-loader').loader(require.resolve('@modern-js/plugin-data-loader/loader')).options({
|
|
147
|
+
server
|
|
148
|
+
}).end();
|
|
147
149
|
}
|
|
148
|
-
export { builderPluginAdapterSSR, getSSRLazyCompilation };
|
|
150
|
+
export { applySSRLoaderEntry, builderPluginAdapterSSR, getSSRLazyCompilation };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import node_path from "node:path";
|
|
1
2
|
import { collectRouteComponentFiles, normalizeModulePath } from "@modern-js/utils";
|
|
2
3
|
function aggregateEagerRouteComponentFiles(byEntry) {
|
|
3
4
|
const files = new Set();
|
|
@@ -20,6 +21,18 @@ function buildSSRLazyCompilationTest(eagerRouteFiles, userTest) {
|
|
|
20
21
|
return userTestFn(m);
|
|
21
22
|
};
|
|
22
23
|
}
|
|
24
|
+
function buildDefaultLazyCompilationTest(appDirectory, internalDirectory) {
|
|
25
|
+
let dirs;
|
|
26
|
+
return (m)=>{
|
|
27
|
+
if (!('resource' in m) || 'string' != typeof m.resource) return true;
|
|
28
|
+
dirs ??= {
|
|
29
|
+
app: normalizeModulePath(appDirectory),
|
|
30
|
+
internal: normalizeModulePath(internalDirectory)
|
|
31
|
+
};
|
|
32
|
+
const file = m.resource.split('?')[0].split(node_path.sep).join('/');
|
|
33
|
+
return file.startsWith(`${dirs.app}/`) && !file.startsWith(`${dirs.internal}/`) && !file.slice(dirs.app.length).includes('/node_modules/');
|
|
34
|
+
};
|
|
35
|
+
}
|
|
23
36
|
function planSSRLazyCompilation(current, info) {
|
|
24
37
|
if (!current) return {
|
|
25
38
|
apply: false
|
|
@@ -41,4 +54,4 @@ function planSSRLazyCompilation(current, info) {
|
|
|
41
54
|
}
|
|
42
55
|
};
|
|
43
56
|
}
|
|
44
|
-
export { aggregateEagerRouteComponentFiles, buildSSRLazyCompilationTest, collectRouteComponentFiles, normalizeModulePath, planSSRLazyCompilation };
|
|
57
|
+
export { aggregateEagerRouteComponentFiles, buildDefaultLazyCompilationTest, buildSSRLazyCompilationTest, collectRouteComponentFiles, normalizeModulePath, planSSRLazyCompilation };
|
|
@@ -56,9 +56,8 @@ const build = async (api, options)=>{
|
|
|
56
56
|
logger.info('Starting production build...');
|
|
57
57
|
if (!appContext.builder) throw new Error('Expect the Builder to have been initialized, But the appContext.builder received `undefined`');
|
|
58
58
|
await appContext.builder.onAfterBuild(async ()=>copyEnvFiles(appContext.appDirectory, appContext.distDirectory));
|
|
59
|
-
|
|
59
|
+
await appContext.builder.build({
|
|
60
60
|
watch: options?.watch
|
|
61
61
|
});
|
|
62
|
-
if (!options?.watch) await buildResult?.close();
|
|
63
62
|
};
|
|
64
63
|
export { build };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { getServerPlugins } from "../utils/loadPlugins.mjs";
|
|
2
|
-
import { build } from "./build.mjs";
|
|
3
2
|
const deploy = async (api, options = {})=>{
|
|
4
3
|
const hooks = api.getHooks();
|
|
5
4
|
const { metaName } = api.getAppContext();
|
|
6
|
-
|
|
7
|
-
else await build(api);
|
|
5
|
+
await getServerPlugins(api, metaName);
|
|
8
6
|
await hooks.onBeforeDeploy.call(options);
|
|
9
7
|
await hooks.deploy.call();
|
|
10
8
|
await hooks.onAfterDeploy.call(options);
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { i18n, localeKeys } from "../locale/index.mjs";
|
|
2
|
+
const deployTargetOption = [
|
|
3
|
+
'--deploy-target <target>',
|
|
4
|
+
'deploy target; overrides deploy.target and MODERNJS_DEPLOY'
|
|
5
|
+
];
|
|
2
6
|
const devCommand = async (program, api)=>{
|
|
3
7
|
program.command('dev').alias('start').usage('[options]').description(i18n.t(localeKeys.command.dev.describe)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('-e --entry [entry...]', i18n.t(localeKeys.command.dev.entry)).option('--analyze', i18n.t(localeKeys.command.shared.analyze)).option('--api-only', i18n.t(localeKeys.command.dev.apiOnly)).option('--web-only', i18n.t(localeKeys.command.dev.webOnly)).action(async (options)=>{
|
|
4
8
|
const { dev } = await import("./dev.mjs");
|
|
@@ -6,7 +10,7 @@ const devCommand = async (program, api)=>{
|
|
|
6
10
|
});
|
|
7
11
|
};
|
|
8
12
|
const buildCommand = async (program, api)=>{
|
|
9
|
-
program.command('build').usage('[options]').description(i18n.t(localeKeys.command.build.describe)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('--analyze', i18n.t(localeKeys.command.shared.analyze)).option('-w --watch', i18n.t(localeKeys.command.build.watch)).action(async (options)=>{
|
|
13
|
+
program.command('build').usage('[options]').description(i18n.t(localeKeys.command.build.describe)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('--analyze', i18n.t(localeKeys.command.shared.analyze)).option('-w --watch', i18n.t(localeKeys.command.build.watch)).option(...deployTargetOption).action(async (options)=>{
|
|
10
14
|
const { build } = await import("./build.mjs");
|
|
11
15
|
await build(api, options);
|
|
12
16
|
});
|
|
@@ -18,7 +22,11 @@ const serverCommand = (program, api)=>{
|
|
|
18
22
|
});
|
|
19
23
|
};
|
|
20
24
|
const deployCommand = (program, api)=>{
|
|
21
|
-
program.command('deploy').usage('[options]').option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('-s --skip-build', i18n.t(localeKeys.command.shared.skipBuild)).description(i18n.t(localeKeys.command.deploy.describe)).action(async (options)=>{
|
|
25
|
+
program.command('deploy').usage('[options]').option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('-s --skip-build', i18n.t(localeKeys.command.shared.skipBuild)).option(...deployTargetOption).description(i18n.t(localeKeys.command.deploy.describe)).action(async (options)=>{
|
|
26
|
+
if (!options.skipBuild) {
|
|
27
|
+
const { build } = await import("./build.mjs");
|
|
28
|
+
await build(api);
|
|
29
|
+
}
|
|
22
30
|
const { deploy } = await import("./deploy.mjs");
|
|
23
31
|
await deploy(api, options);
|
|
24
32
|
process.exit(0);
|
|
@@ -59,7 +59,7 @@ function handleSetupResult(setupResult, api) {
|
|
|
59
59
|
if (newAPI && api[newAPI]) api[newAPI](async (...params)=>{
|
|
60
60
|
const { isMultiple, params: transformParams } = transformHookParams(key, params);
|
|
61
61
|
if (isMultiple) return transformHookResult(key, await fn(...transformParams));
|
|
62
|
-
return transformHookResult(key, await fn(transformParams));
|
|
62
|
+
else return transformHookResult(key, await fn(transformParams));
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
});
|
|
@@ -14,8 +14,9 @@ const getParentPath = (parentURL)=>{
|
|
|
14
14
|
} catch {}
|
|
15
15
|
return process.cwd();
|
|
16
16
|
};
|
|
17
|
+
const resolveSourcePath = (resolvedPath, context, defaultResolve)=>defaultResolve(context.conditions?.find((condition)=>'require' === condition || 'import' === condition) === 'require' ? resolvedPath : pathToFileURL(resolvedPath).href, context, defaultResolve);
|
|
17
18
|
async function initialize({ appDir: currentAppDir, baseUrl, paths }) {
|
|
18
|
-
appDir = node_path.resolve(currentAppDir);
|
|
19
|
+
appDir = node_fs.existsSync(currentAppDir) ? node_fs.realpathSync(currentAppDir) : node_path.resolve(currentAppDir);
|
|
19
20
|
matchPath = createMatchPath(baseUrl || './', paths || {});
|
|
20
21
|
}
|
|
21
22
|
function resolve(specifier, context, defaultResolve) {
|
|
@@ -25,12 +26,12 @@ function resolve(specifier, context, defaultResolve) {
|
|
|
25
26
|
if ((specifier.startsWith('./') || specifier.startsWith('../')) && !node_path.extname(specifier) && isAppFile) {
|
|
26
27
|
const matchedPath = node_path.resolve(parentPath, specifier);
|
|
27
28
|
const resolvedPath = findSourceEntry(matchedPath) || matchedPath;
|
|
28
|
-
if (resolvedPath && node_fs.existsSync(resolvedPath)) return
|
|
29
|
+
if (resolvedPath && node_fs.existsSync(resolvedPath)) return resolveSourcePath(resolvedPath, context, defaultResolve);
|
|
29
30
|
}
|
|
30
|
-
if (!matchPath) return defaultResolve(specifier, context, defaultResolve);
|
|
31
|
+
if (!matchPath || !isAppFile) return defaultResolve(specifier, context, defaultResolve);
|
|
31
32
|
const match = findMatchedSourcePath(matchPath, specifier);
|
|
32
33
|
if (!match) return defaultResolve(specifier, context, defaultResolve);
|
|
33
34
|
const resolvedPath = findSourceEntry(match) || match;
|
|
34
|
-
return
|
|
35
|
+
return resolveSourcePath(resolvedPath, context, defaultResolve);
|
|
35
36
|
}
|
|
36
37
|
export { initialize, resolve };
|