@modern-js/app-tools 2.54.2-alpha.3 → 2.54.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/commands/build.js +1 -1
- package/dist/cjs/commands/deploy.js +2 -1
- package/dist/cjs/commands/dev.js +1 -1
- package/dist/cjs/commands/serve.js +1 -1
- package/dist/cjs/plugins/deploy/dependencies/index.js +17 -26
- package/dist/cjs/plugins/deploy/dependencies/utils.js +20 -14
- package/dist/cjs/plugins/deploy/platforms/netlify.js +3 -7
- package/dist/cjs/plugins/deploy/platforms/node.js +3 -8
- package/dist/cjs/plugins/deploy/platforms/vercel.js +3 -7
- package/dist/cjs/utils/loadPlugins.js +6 -5
- package/dist/esm/commands/build.js +1 -1
- package/dist/esm/commands/deploy.js +3 -2
- package/dist/esm/commands/dev.js +1 -1
- package/dist/esm/commands/serve.js +1 -1
- package/dist/esm/plugins/deploy/dependencies/index.js +69 -94
- package/dist/esm/plugins/deploy/dependencies/utils.js +39 -19
- package/dist/esm/plugins/deploy/platforms/netlify.js +3 -7
- package/dist/esm/plugins/deploy/platforms/node.js +3 -8
- package/dist/esm/plugins/deploy/platforms/vercel.js +3 -7
- package/dist/esm/utils/loadPlugins.js +11 -6
- package/dist/esm-node/commands/build.js +1 -1
- package/dist/esm-node/commands/deploy.js +2 -1
- package/dist/esm-node/commands/dev.js +1 -1
- package/dist/esm-node/commands/serve.js +1 -1
- package/dist/esm-node/plugins/deploy/dependencies/index.js +18 -27
- package/dist/esm-node/plugins/deploy/dependencies/utils.js +21 -15
- package/dist/esm-node/plugins/deploy/platforms/netlify.js +3 -7
- package/dist/esm-node/plugins/deploy/platforms/node.js +3 -8
- package/dist/esm-node/plugins/deploy/platforms/vercel.js +3 -7
- package/dist/esm-node/utils/loadPlugins.js +6 -5
- package/dist/types/plugins/deploy/dependencies/index.d.ts +1 -11
- package/dist/types/plugins/deploy/dependencies/utils.d.ts +1 -7
- package/dist/types/utils/loadPlugins.d.ts +2 -2
- package/package.json +17 -25
- package/dist/cjs/plugins/deploy/exports.js +0 -28
- package/dist/esm/plugins/deploy/exports.js +0 -4
- package/dist/esm-node/plugins/deploy/exports.js +0 -4
- package/dist/js/modern/analyze/constants.js +0 -15
- package/dist/js/modern/analyze/generateCode.js +0 -179
- package/dist/js/modern/analyze/getBundleEntry.js +0 -75
- package/dist/js/modern/analyze/getClientRoutes.js +0 -219
- package/dist/js/modern/analyze/getFileSystemEntry.js +0 -74
- package/dist/js/modern/analyze/getHtmlTemplate.js +0 -82
- package/dist/js/modern/analyze/getServerRoutes.js +0 -192
- package/dist/js/modern/analyze/index.js +0 -148
- package/dist/js/modern/analyze/isDefaultExportFunction.js +0 -32
- package/dist/js/modern/analyze/makeLegalIdentifier.js +0 -16
- package/dist/js/modern/analyze/templates.js +0 -88
- package/dist/js/modern/analyze/utils.js +0 -92
- package/dist/js/modern/commands/build.js +0 -154
- package/dist/js/modern/commands/deploy.js +0 -5
- package/dist/js/modern/commands/dev.js +0 -95
- package/dist/js/modern/commands/index.js +0 -3
- package/dist/js/modern/commands/inspect.js +0 -69
- package/dist/js/modern/commands/start.js +0 -31
- package/dist/js/modern/exports/server.js +0 -1
- package/dist/js/modern/hooks.js +0 -21
- package/dist/js/modern/index.js +0 -109
- package/dist/js/modern/locale/en.js +0 -35
- package/dist/js/modern/locale/index.js +0 -9
- package/dist/js/modern/locale/zh.js +0 -35
- package/dist/js/modern/utils/config.js +0 -78
- package/dist/js/modern/utils/createCompiler.js +0 -61
- package/dist/js/modern/utils/createServer.js +0 -18
- package/dist/js/modern/utils/getSpecifiedEntries.js +0 -36
- package/dist/js/modern/utils/language.js +0 -5
- package/dist/js/modern/utils/printInstructions.js +0 -11
- package/dist/js/modern/utils/routes.js +0 -15
- package/dist/js/modern/utils/types.js +0 -0
- package/dist/js/node/analyze/constants.js +0 -36
- package/dist/js/node/analyze/generateCode.js +0 -208
- package/dist/js/node/analyze/getBundleEntry.js +0 -89
- package/dist/js/node/analyze/getClientRoutes.js +0 -241
- package/dist/js/node/analyze/getFileSystemEntry.js +0 -90
- package/dist/js/node/analyze/getHtmlTemplate.js +0 -106
- package/dist/js/node/analyze/getServerRoutes.js +0 -208
- package/dist/js/node/analyze/index.js +0 -178
- package/dist/js/node/analyze/isDefaultExportFunction.js +0 -50
- package/dist/js/node/analyze/makeLegalIdentifier.js +0 -24
- package/dist/js/node/analyze/templates.js +0 -106
- package/dist/js/node/analyze/utils.js +0 -113
- package/dist/js/node/commands/build.js +0 -174
- package/dist/js/node/commands/deploy.js +0 -14
- package/dist/js/node/commands/dev.js +0 -120
- package/dist/js/node/commands/index.js +0 -44
- package/dist/js/node/commands/inspect.js +0 -98
- package/dist/js/node/commands/start.js +0 -47
- package/dist/js/node/exports/server.js +0 -13
- package/dist/js/node/hooks.js +0 -39
- package/dist/js/node/index.js +0 -141
- package/dist/js/node/locale/en.js +0 -42
- package/dist/js/node/locale/index.js +0 -20
- package/dist/js/node/locale/zh.js +0 -42
- package/dist/js/node/utils/config.js +0 -103
- package/dist/js/node/utils/createCompiler.js +0 -81
- package/dist/js/node/utils/createServer.js +0 -35
- package/dist/js/node/utils/getSpecifiedEntries.js +0 -46
- package/dist/js/node/utils/language.js +0 -13
- package/dist/js/node/utils/printInstructions.js +0 -22
- package/dist/js/node/utils/routes.js +0 -25
- package/dist/js/node/utils/types.js +0 -0
- package/dist/types/plugins/deploy/exports.d.ts +0 -1
|
@@ -5,7 +5,7 @@ import path from "path";
|
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import { fs as fse } from "@modern-js/utils";
|
|
7
7
|
import { parseNodeModulePath } from "mlly";
|
|
8
|
-
import { nodeFileTrace } from "@vercel/nft";
|
|
8
|
+
import { nodeFileTrace, resolve } from "@vercel/nft";
|
|
9
9
|
function applyPublicCondition(pkg) {
|
|
10
10
|
var _pkg_publishConfig;
|
|
11
11
|
if (pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig = pkg.publishConfig) === null || _pkg_publishConfig === void 0 ? void 0 : _pkg_publishConfig.exports) {
|
|
@@ -14,12 +14,11 @@ function applyPublicCondition(pkg) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
var writePackage = function() {
|
|
17
|
-
var _ref = _async_to_generator(function(
|
|
18
|
-
var
|
|
17
|
+
var _ref = _async_to_generator(function(pkg, version, projectDir, _pkgPath) {
|
|
18
|
+
var pkgPath, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, src, subpath, dest, dirname, subpath1, dest1, dirname1, err, pkgJSON, packageJsonPath;
|
|
19
19
|
return _ts_generator(this, function(_state) {
|
|
20
20
|
switch (_state.label) {
|
|
21
21
|
case 0:
|
|
22
|
-
pkg = options.pkg, version = options.version, projectDir = options.projectDir, _pkgPath = options._pkgPath;
|
|
23
22
|
pkgPath = _pkgPath || pkg.name;
|
|
24
23
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
25
24
|
_state.label = 1;
|
|
@@ -134,7 +133,7 @@ var writePackage = function() {
|
|
|
134
133
|
}
|
|
135
134
|
});
|
|
136
135
|
});
|
|
137
|
-
return function writePackage2(
|
|
136
|
+
return function writePackage2(pkg, version, projectDir, _pkgPath) {
|
|
138
137
|
return _ref.apply(this, arguments);
|
|
139
138
|
};
|
|
140
139
|
}();
|
|
@@ -319,20 +318,15 @@ var findPackageParents = function(pkg, version, tracedFiles) {
|
|
|
319
318
|
return tracedFiles[path2];
|
|
320
319
|
});
|
|
321
320
|
var parentPkgs = _to_consumable_array(new Set(versionFiles.flatMap(function(file) {
|
|
322
|
-
return (
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
return "".concat(parentFile.pkgName, "@").concat(parentFile.pkgVersion);
|
|
330
|
-
}).filter(Boolean)
|
|
331
|
-
);
|
|
321
|
+
return file.parents.map(function(parentPath) {
|
|
322
|
+
var parentFile = tracedFiles[parentPath];
|
|
323
|
+
if (!parentFile || parentFile.pkgName === pkg.name) {
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
return "".concat(parentFile.pkgName, "@").concat(parentFile.pkgVersion);
|
|
327
|
+
}).filter(Boolean);
|
|
332
328
|
})));
|
|
333
|
-
return parentPkgs
|
|
334
|
-
return parentPkg;
|
|
335
|
-
});
|
|
329
|
+
return parentPkgs;
|
|
336
330
|
};
|
|
337
331
|
var traceFiles = function() {
|
|
338
332
|
var _ref = _async_to_generator(function(entryFiles, serverRootDir) {
|
|
@@ -347,7 +341,33 @@ var traceFiles = function() {
|
|
|
347
341
|
nodeFileTrace(entryFiles, {
|
|
348
342
|
base,
|
|
349
343
|
processCwd: serverRootDir,
|
|
350
|
-
|
|
344
|
+
resolve: function() {
|
|
345
|
+
var _ref2 = _async_to_generator(function(id, parent, job, isCjs) {
|
|
346
|
+
return _ts_generator(this, function(_state2) {
|
|
347
|
+
if (id.startsWith("@modern-js/prod-server")) {
|
|
348
|
+
return [
|
|
349
|
+
2,
|
|
350
|
+
require.resolve(id, {
|
|
351
|
+
paths: [
|
|
352
|
+
require.resolve("@modern-js/app-tools")
|
|
353
|
+
]
|
|
354
|
+
})
|
|
355
|
+
];
|
|
356
|
+
} else {
|
|
357
|
+
return [
|
|
358
|
+
2,
|
|
359
|
+
resolve(id, parent, job, isCjs)
|
|
360
|
+
];
|
|
361
|
+
}
|
|
362
|
+
return [
|
|
363
|
+
2
|
|
364
|
+
];
|
|
365
|
+
});
|
|
366
|
+
});
|
|
367
|
+
return function(id, parent, job, isCjs) {
|
|
368
|
+
return _ref2.apply(this, arguments);
|
|
369
|
+
};
|
|
370
|
+
}()
|
|
351
371
|
})
|
|
352
372
|
];
|
|
353
373
|
case 1:
|
|
@@ -273,13 +273,9 @@ var createNetlifyPreset = function(appContext, modernConfig, needModernServer) {
|
|
|
273
273
|
}
|
|
274
274
|
return [
|
|
275
275
|
4,
|
|
276
|
-
handleDependencies(
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
includeEntries: [
|
|
280
|
-
require.resolve("@modern-js/prod-server")
|
|
281
|
-
]
|
|
282
|
-
})
|
|
276
|
+
handleDependencies(appDirectory, funcsDirectory, [
|
|
277
|
+
"@modern-js/prod-server"
|
|
278
|
+
])
|
|
283
279
|
];
|
|
284
280
|
case 3:
|
|
285
281
|
_state.sent();
|
|
@@ -106,14 +106,9 @@ var createNodePreset = function(appContext, config) {
|
|
|
106
106
|
};
|
|
107
107
|
return [
|
|
108
108
|
4,
|
|
109
|
-
handleDependencies(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
includeEntries: [
|
|
113
|
-
require.resolve("@modern-js/prod-server")
|
|
114
|
-
],
|
|
115
|
-
entryFilter: filter
|
|
116
|
-
})
|
|
109
|
+
handleDependencies(appDirectory, outputDirectory, [
|
|
110
|
+
"@modern-js/prod-server"
|
|
111
|
+
], filter)
|
|
117
112
|
];
|
|
118
113
|
case 1:
|
|
119
114
|
_state.sent();
|
|
@@ -207,13 +207,9 @@ var createVercelPreset = function(appContext, modernConfig, needModernServer) {
|
|
|
207
207
|
}
|
|
208
208
|
return [
|
|
209
209
|
4,
|
|
210
|
-
handleDependencies(
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
includeEntries: [
|
|
214
|
-
require.resolve("@modern-js/prod-server")
|
|
215
|
-
]
|
|
216
|
-
})
|
|
210
|
+
handleDependencies(appDirectory, funcsDirectory, [
|
|
211
|
+
"@modern-js/prod-server"
|
|
212
|
+
])
|
|
217
213
|
];
|
|
218
214
|
case 1:
|
|
219
215
|
_state.sent();
|
|
@@ -8,10 +8,12 @@ function getServerPlugins(api) {
|
|
|
8
8
|
}
|
|
9
9
|
function _getServerPlugins() {
|
|
10
10
|
_getServerPlugins = _async_to_generator(function(api) {
|
|
11
|
-
var runner, plugins;
|
|
11
|
+
var metaName, runner, plugins, filtedPlugins;
|
|
12
|
+
var _arguments = arguments;
|
|
12
13
|
return _ts_generator(this, function(_state) {
|
|
13
14
|
switch (_state.label) {
|
|
14
15
|
case 0:
|
|
16
|
+
metaName = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : "modern-js";
|
|
15
17
|
runner = api.useHookRunners();
|
|
16
18
|
return [
|
|
17
19
|
4,
|
|
@@ -21,30 +23,33 @@ function _getServerPlugins() {
|
|
|
21
23
|
];
|
|
22
24
|
case 1:
|
|
23
25
|
plugins = _state.sent().plugins;
|
|
26
|
+
filtedPlugins = plugins.filter(function(plugin) {
|
|
27
|
+
return plugin.name.includes(metaName);
|
|
28
|
+
});
|
|
24
29
|
api.setAppContext(_object_spread_props(_object_spread({}, api.useAppContext()), {
|
|
25
|
-
serverPlugins:
|
|
30
|
+
serverPlugins: filtedPlugins
|
|
26
31
|
}));
|
|
27
32
|
return [
|
|
28
33
|
2,
|
|
29
|
-
|
|
34
|
+
filtedPlugins
|
|
30
35
|
];
|
|
31
36
|
}
|
|
32
37
|
});
|
|
33
38
|
});
|
|
34
39
|
return _getServerPlugins.apply(this, arguments);
|
|
35
40
|
}
|
|
36
|
-
function loadServerPlugins(api, appDirectory) {
|
|
41
|
+
function loadServerPlugins(api, appDirectory, metaName) {
|
|
37
42
|
return _loadServerPlugins.apply(this, arguments);
|
|
38
43
|
}
|
|
39
44
|
function _loadServerPlugins() {
|
|
40
|
-
_loadServerPlugins = _async_to_generator(function(api, appDirectory) {
|
|
45
|
+
_loadServerPlugins = _async_to_generator(function(api, appDirectory, metaName) {
|
|
41
46
|
var plugins, instances;
|
|
42
47
|
return _ts_generator(this, function(_state) {
|
|
43
48
|
switch (_state.label) {
|
|
44
49
|
case 0:
|
|
45
50
|
return [
|
|
46
51
|
4,
|
|
47
|
-
getServerPlugins(api)
|
|
52
|
+
getServerPlugins(api, metaName)
|
|
48
53
|
];
|
|
49
54
|
case 1:
|
|
50
55
|
plugins = _state.sent();
|
|
@@ -12,7 +12,7 @@ const build = async (api, options) => {
|
|
|
12
12
|
let resolvedConfig = api.useResolvedConfigContext();
|
|
13
13
|
const appContext = api.useAppContext();
|
|
14
14
|
const hookRunners = api.useHookRunners();
|
|
15
|
-
await loadServerPlugins(api, appContext.appDirectory);
|
|
15
|
+
await loadServerPlugins(api, appContext.appDirectory, appContext.metaName);
|
|
16
16
|
await registerCompiler(appContext.appDirectory, appContext.distDirectory, resolvedConfig === null || resolvedConfig === void 0 ? void 0 : (_resolvedConfig_source = resolvedConfig.source) === null || _resolvedConfig_source === void 0 ? void 0 : _resolvedConfig_source.alias);
|
|
17
17
|
const { apiOnly } = appContext;
|
|
18
18
|
if (apiOnly) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getServerPlugins } from "../utils/loadPlugins";
|
|
2
2
|
const deploy = async (api, options) => {
|
|
3
3
|
const hookRunners = api.useHookRunners();
|
|
4
|
-
|
|
4
|
+
const { metaName } = api.useAppContext();
|
|
5
|
+
await getServerPlugins(api, metaName);
|
|
5
6
|
await hookRunners.beforeDeploy(options);
|
|
6
7
|
await hookRunners.deploy(options);
|
|
7
8
|
await hookRunners.afterDeploy(options);
|
|
@@ -37,7 +37,7 @@ const dev = async (api, options, devServerOptions = {}) => {
|
|
|
37
37
|
throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
|
|
38
38
|
}
|
|
39
39
|
await generateRoutes(appContext);
|
|
40
|
-
const pluginInstances = await loadServerPlugins(api, appDirectory);
|
|
40
|
+
const pluginInstances = await loadServerPlugins(api, appDirectory, metaName);
|
|
41
41
|
const serverOptions = {
|
|
42
42
|
metaName,
|
|
43
43
|
dev: {
|
|
@@ -17,7 +17,7 @@ const start = async (api) => {
|
|
|
17
17
|
}
|
|
18
18
|
const meta = getMeta(metaName);
|
|
19
19
|
const serverConfigPath = path.resolve(distDirectory, SERVER_DIR, `${meta}.server`);
|
|
20
|
-
const pluginInstances = await loadServerPlugins(api, appDirectory);
|
|
20
|
+
const pluginInstances = await loadServerPlugins(api, appDirectory, metaName);
|
|
21
21
|
const app = await createProdServer({
|
|
22
22
|
metaName,
|
|
23
23
|
pwd: distDirectory,
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import path from "node:path";
|
|
1
|
+
import path, { isAbsolute } from "node:path";
|
|
2
2
|
import { fs as fse, pkgUp, semver } from "@modern-js/utils";
|
|
3
3
|
import { readPackageJSON } from "pkg-types";
|
|
4
4
|
import { parseNodeModulePath } from "mlly";
|
|
5
|
-
import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles
|
|
6
|
-
const handleDependencies = async (
|
|
5
|
+
import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles, findPackageParents, resolveTracedPath } from "./utils";
|
|
6
|
+
const handleDependencies = async (appDir, serverRootDir, include, entryFilter) => {
|
|
7
7
|
const base = "/";
|
|
8
8
|
const entryFiles = await findEntryFiles(serverRootDir, entryFilter);
|
|
9
|
+
const includeEntries = include.map((item) => {
|
|
10
|
+
if (isAbsolute(item)) {
|
|
11
|
+
return item;
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
return require.resolve(item);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
}
|
|
17
|
+
return item;
|
|
18
|
+
});
|
|
9
19
|
const fileTrace = await traceFiles(entryFiles.concat(includeEntries), serverRootDir, base);
|
|
10
20
|
const currentProjectModules = path.join(appDir, "node_modules");
|
|
11
21
|
const tracedFiles = Object.fromEntries(await Promise.all([
|
|
@@ -100,17 +110,9 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
|
100
110
|
}
|
|
101
111
|
tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
|
|
102
112
|
}
|
|
113
|
+
tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
|
|
103
114
|
tracedFile.pkgName = pkgName;
|
|
104
115
|
tracedFile.pkgVersion = pkgJSON.version;
|
|
105
|
-
const shouldCopyWholePackage = copyWholePackage === null || copyWholePackage === void 0 ? void 0 : copyWholePackage(pkgName);
|
|
106
|
-
if (tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath) {
|
|
107
|
-
if (shouldCopyWholePackage) {
|
|
108
|
-
const allFiles = await readDirRecursive(tracedFile.pkgPath);
|
|
109
|
-
tracedPackageVersion.files.push(...allFiles);
|
|
110
|
-
} else {
|
|
111
|
-
tracedPackageVersion.files.push(tracedFile.path);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
116
|
}
|
|
115
117
|
const multiVersionPkgs = {};
|
|
116
118
|
const singleVersionPackages = [];
|
|
@@ -128,11 +130,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
|
128
130
|
await Promise.all(singleVersionPackages.map((pkgName) => {
|
|
129
131
|
const pkg = tracedPackages[pkgName];
|
|
130
132
|
const version = Object.keys(pkg.versions)[0];
|
|
131
|
-
return writePackage(
|
|
132
|
-
pkg,
|
|
133
|
-
version,
|
|
134
|
-
projectDir: serverRootDir
|
|
135
|
-
});
|
|
133
|
+
return writePackage(pkg, version, serverRootDir);
|
|
136
134
|
}));
|
|
137
135
|
const projectPkgJson = await readPackageJSON(serverRootDir).catch(() => ({}));
|
|
138
136
|
for (const [pkgName, pkgVersions] of Object.entries(multiVersionPkgs)) {
|
|
@@ -159,12 +157,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
|
159
157
|
for (const [version, parentPkgs] of versionEntires) {
|
|
160
158
|
const pkg = tracedPackages[pkgName];
|
|
161
159
|
const pkgDestPath = `.modernjs/${pkgName}@${version}/node_modules/${pkgName}`;
|
|
162
|
-
await writePackage(
|
|
163
|
-
pkg,
|
|
164
|
-
version,
|
|
165
|
-
projectDir: serverRootDir,
|
|
166
|
-
_pkgPath: pkgDestPath
|
|
167
|
-
});
|
|
160
|
+
await writePackage(pkg, version, serverRootDir, pkgDestPath);
|
|
168
161
|
await linkPackage(pkgDestPath, `${pkgName}`, serverRootDir);
|
|
169
162
|
for (const parentPkg of parentPkgs) {
|
|
170
163
|
const parentPkgName = parentPkg.replace(/@[^@]+$/, "");
|
|
@@ -173,7 +166,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
|
173
166
|
}
|
|
174
167
|
}
|
|
175
168
|
const outputPkgPath = path.join(serverRootDir, "package.json");
|
|
176
|
-
|
|
169
|
+
await fse.writeJSON(outputPkgPath, {
|
|
177
170
|
name: `${projectPkgJson.name || "modernjs-project"}-prod`,
|
|
178
171
|
version: projectPkgJson.version || "0.0.0",
|
|
179
172
|
private: true,
|
|
@@ -183,9 +176,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
|
183
176
|
Object.keys(pkg.versions)[0]
|
|
184
177
|
])
|
|
185
178
|
].sort(([a], [b]) => a.localeCompare(b)))
|
|
186
|
-
};
|
|
187
|
-
const finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
|
|
188
|
-
await fse.writeJSON(outputPkgPath, finalPkgJson);
|
|
179
|
+
});
|
|
189
180
|
};
|
|
190
181
|
export {
|
|
191
182
|
handleDependencies
|
|
@@ -2,7 +2,7 @@ import path from "path";
|
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import { fs as fse } from "@modern-js/utils";
|
|
4
4
|
import { parseNodeModulePath } from "mlly";
|
|
5
|
-
import { nodeFileTrace } from "@vercel/nft";
|
|
5
|
+
import { nodeFileTrace, resolve } from "@vercel/nft";
|
|
6
6
|
function applyPublicCondition(pkg) {
|
|
7
7
|
var _pkg_publishConfig;
|
|
8
8
|
if (pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig = pkg.publishConfig) === null || _pkg_publishConfig === void 0 ? void 0 : _pkg_publishConfig.exports) {
|
|
@@ -10,8 +10,7 @@ function applyPublicCondition(pkg) {
|
|
|
10
10
|
pkg.exports = pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig1 = pkg.publishConfig) === null || _pkg_publishConfig1 === void 0 ? void 0 : _pkg_publishConfig1.exports;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
const writePackage = async (
|
|
14
|
-
const { pkg, version, projectDir, _pkgPath } = options;
|
|
13
|
+
const writePackage = async (pkg, version, projectDir, _pkgPath) => {
|
|
15
14
|
const pkgPath = _pkgPath || pkg.name;
|
|
16
15
|
for (const src of pkg.versions[version].files) {
|
|
17
16
|
if (src.includes("node_modules")) {
|
|
@@ -85,24 +84,31 @@ const findEntryFiles = async (rootDir, entryFilter) => {
|
|
|
85
84
|
const findPackageParents = (pkg, version, tracedFiles) => {
|
|
86
85
|
const versionFiles = pkg.versions[version].files.map((path2) => tracedFiles[path2]);
|
|
87
86
|
const parentPkgs = [
|
|
88
|
-
...new Set(versionFiles.flatMap((file) => (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return `${parentFile.pkgName}@${parentFile.pkgVersion}`;
|
|
96
|
-
}).filter(Boolean)
|
|
97
|
-
)))
|
|
87
|
+
...new Set(versionFiles.flatMap((file) => file.parents.map((parentPath) => {
|
|
88
|
+
const parentFile = tracedFiles[parentPath];
|
|
89
|
+
if (!parentFile || parentFile.pkgName === pkg.name) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return `${parentFile.pkgName}@${parentFile.pkgVersion}`;
|
|
93
|
+
}).filter(Boolean)))
|
|
98
94
|
];
|
|
99
|
-
return parentPkgs
|
|
95
|
+
return parentPkgs;
|
|
100
96
|
};
|
|
101
97
|
const traceFiles = async (entryFiles, serverRootDir, base = "/") => {
|
|
102
98
|
return await nodeFileTrace(entryFiles, {
|
|
103
99
|
base,
|
|
104
100
|
processCwd: serverRootDir,
|
|
105
|
-
|
|
101
|
+
resolve: async (id, parent, job, isCjs) => {
|
|
102
|
+
if (id.startsWith("@modern-js/prod-server")) {
|
|
103
|
+
return require.resolve(id, {
|
|
104
|
+
paths: [
|
|
105
|
+
require.resolve("@modern-js/app-tools")
|
|
106
|
+
]
|
|
107
|
+
});
|
|
108
|
+
} else {
|
|
109
|
+
return resolve(id, parent, job, isCjs);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
106
112
|
});
|
|
107
113
|
};
|
|
108
114
|
const resolveTracedPath = async (base, p) => fse.realpath(path.resolve(base, p));
|
|
@@ -91,13 +91,9 @@ const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
|
|
|
91
91
|
if (!needModernServer) {
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
|
-
await handleDependencies(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
includeEntries: [
|
|
98
|
-
require.resolve("@modern-js/prod-server")
|
|
99
|
-
]
|
|
100
|
-
});
|
|
94
|
+
await handleDependencies(appDirectory, funcsDirectory, [
|
|
95
|
+
"@modern-js/prod-server"
|
|
96
|
+
]);
|
|
101
97
|
}
|
|
102
98
|
};
|
|
103
99
|
};
|
|
@@ -45,14 +45,9 @@ const createNodePreset = (appContext, config) => {
|
|
|
45
45
|
const filter = (filePath) => {
|
|
46
46
|
return !filePath.startsWith(staticDirectory);
|
|
47
47
|
};
|
|
48
|
-
await handleDependencies(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
includeEntries: [
|
|
52
|
-
require.resolve("@modern-js/prod-server")
|
|
53
|
-
],
|
|
54
|
-
entryFilter: filter
|
|
55
|
-
});
|
|
48
|
+
await handleDependencies(appDirectory, outputDirectory, [
|
|
49
|
+
"@modern-js/prod-server"
|
|
50
|
+
], filter);
|
|
56
51
|
}
|
|
57
52
|
};
|
|
58
53
|
};
|
|
@@ -103,13 +103,9 @@ const createVercelPreset = (appContext, modernConfig, needModernServer) => {
|
|
|
103
103
|
if (!needModernServer) {
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
|
-
await handleDependencies(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
includeEntries: [
|
|
110
|
-
require.resolve("@modern-js/prod-server")
|
|
111
|
-
]
|
|
112
|
-
});
|
|
106
|
+
await handleDependencies(appDirectory, funcsDirectory, [
|
|
107
|
+
"@modern-js/prod-server"
|
|
108
|
+
]);
|
|
113
109
|
}
|
|
114
110
|
};
|
|
115
111
|
};
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { loadServerPlugins as loadServerPluginInstances } from "@modern-js/prod-server";
|
|
2
|
-
async function getServerPlugins(api) {
|
|
2
|
+
async function getServerPlugins(api, metaName = "modern-js") {
|
|
3
3
|
const runner = api.useHookRunners();
|
|
4
4
|
const { plugins } = await runner._internalServerPlugins({
|
|
5
5
|
plugins: []
|
|
6
6
|
});
|
|
7
|
+
const filtedPlugins = plugins.filter((plugin) => plugin.name.includes(metaName));
|
|
7
8
|
api.setAppContext({
|
|
8
9
|
...api.useAppContext(),
|
|
9
|
-
serverPlugins:
|
|
10
|
+
serverPlugins: filtedPlugins
|
|
10
11
|
});
|
|
11
|
-
return
|
|
12
|
+
return filtedPlugins;
|
|
12
13
|
}
|
|
13
|
-
async function loadServerPlugins(api, appDirectory) {
|
|
14
|
-
const plugins = await getServerPlugins(api);
|
|
14
|
+
async function loadServerPlugins(api, appDirectory, metaName) {
|
|
15
|
+
const plugins = await getServerPlugins(api, metaName);
|
|
15
16
|
const instances = loadServerPluginInstances(plugins, appDirectory);
|
|
16
17
|
return instances;
|
|
17
18
|
}
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { traceFiles as defaultTraceFiles } from './utils';
|
|
3
|
-
export declare const handleDependencies: ({ appDir, serverRootDir, includeEntries, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, }: {
|
|
4
|
-
appDir: string;
|
|
5
|
-
serverRootDir: string;
|
|
6
|
-
includeEntries: string[];
|
|
7
|
-
traceFiles?: ((entryFiles: string[], serverRootDir: string, base?: string) => Promise<import("@vercel/nft").NodeFileTraceResult>) | undefined;
|
|
8
|
-
entryFilter?: ((filePath: string) => boolean) | undefined;
|
|
9
|
-
modifyPackageJson?: ((pkgJson: PackageJson) => PackageJson) | undefined;
|
|
10
|
-
copyWholePackage?: ((pkgName: string) => boolean) | undefined;
|
|
11
|
-
}) => Promise<void>;
|
|
1
|
+
export declare const handleDependencies: (appDir: string, serverRootDir: string, include: string[], entryFilter?: ((filePath: string) => boolean) | undefined) => Promise<void>;
|
|
@@ -17,13 +17,7 @@ export type TracedFile = {
|
|
|
17
17
|
pkgName: string;
|
|
18
18
|
pkgVersion?: string;
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
pkg: TracedPackage;
|
|
22
|
-
version: string;
|
|
23
|
-
projectDir: string;
|
|
24
|
-
_pkgPath?: string;
|
|
25
|
-
}
|
|
26
|
-
export declare const writePackage: (options: WritePackageOptions) => Promise<void>;
|
|
20
|
+
export declare const writePackage: (pkg: TracedPackage, version: string, projectDir: string, _pkgPath?: string) => Promise<void>;
|
|
27
21
|
export declare const linkPackage: (from: string, to: string, projectRootDir: string) => Promise<void>;
|
|
28
22
|
interface ReadDirOptions {
|
|
29
23
|
filter?: (filePath: string) => boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServerPlugin as ServerPluginInstance } from '@modern-js/server-core';
|
|
2
2
|
import { ServerPlugin } from '@modern-js/types';
|
|
3
3
|
import { AppTools, PluginAPI } from '../types';
|
|
4
|
-
export declare function getServerPlugins(api: PluginAPI<AppTools<'shared'
|
|
5
|
-
export declare function loadServerPlugins(api: PluginAPI<AppTools<'shared'>>, appDirectory: string): Promise<ServerPluginInstance[]>;
|
|
4
|
+
export declare function getServerPlugins(api: PluginAPI<AppTools<'shared'>>, metaName?: string): Promise<ServerPlugin[]>;
|
|
5
|
+
export declare function loadServerPlugins(api: PluginAPI<AppTools<'shared'>>, appDirectory: string, metaName: string): Promise<ServerPluginInstance[]>;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.54.2
|
|
18
|
+
"version": "2.54.2",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -43,11 +43,6 @@
|
|
|
43
43
|
"types": "./dist/types/exports/server.d.ts",
|
|
44
44
|
"jsnext:source": "./src/exports/server.ts",
|
|
45
45
|
"default": "./dist/cjs/exports/server.js"
|
|
46
|
-
},
|
|
47
|
-
"./deploy": {
|
|
48
|
-
"types": "./dist/types/plugins/deploy/exports.d.ts",
|
|
49
|
-
"jsnext:source": "./src/plugins/deploy/exports.ts",
|
|
50
|
-
"default": "./dist/cjs/plugins/deploy/exports.js"
|
|
51
46
|
}
|
|
52
47
|
},
|
|
53
48
|
"engines": {
|
|
@@ -63,9 +58,6 @@
|
|
|
63
58
|
],
|
|
64
59
|
"server": [
|
|
65
60
|
"./dist/types/exports/server.d.ts"
|
|
66
|
-
],
|
|
67
|
-
"deploy": [
|
|
68
|
-
"./dist/types/plugins/deploy/exports.d.ts"
|
|
69
61
|
]
|
|
70
62
|
}
|
|
71
63
|
},
|
|
@@ -88,20 +80,20 @@
|
|
|
88
80
|
"mlly": "^1.6.1",
|
|
89
81
|
"pkg-types": "^1.1.0",
|
|
90
82
|
"std-env": "^3.7.0",
|
|
91
|
-
"@modern-js/core": "2.54.
|
|
92
|
-
"@modern-js/
|
|
93
|
-
"@modern-js/plugin
|
|
94
|
-
"@modern-js/plugin-
|
|
95
|
-
"@modern-js/
|
|
96
|
-
"@modern-js/
|
|
97
|
-
"@modern-js/server": "2.54.
|
|
98
|
-
"@modern-js/
|
|
99
|
-
"@modern-js/server
|
|
100
|
-
"@modern-js/
|
|
101
|
-
"@modern-js/
|
|
102
|
-
"@modern-js/
|
|
103
|
-
"@modern-js/
|
|
104
|
-
"@modern-js/utils": "2.54.
|
|
83
|
+
"@modern-js/core": "2.54.2",
|
|
84
|
+
"@modern-js/node-bundle-require": "2.54.2",
|
|
85
|
+
"@modern-js/plugin": "2.54.2",
|
|
86
|
+
"@modern-js/plugin-i18n": "2.54.2",
|
|
87
|
+
"@modern-js/plugin-data-loader": "2.54.2",
|
|
88
|
+
"@modern-js/plugin-lint": "2.54.2",
|
|
89
|
+
"@modern-js/prod-server": "2.54.2",
|
|
90
|
+
"@modern-js/rsbuild-plugin-esbuild": "2.54.2",
|
|
91
|
+
"@modern-js/server": "2.54.2",
|
|
92
|
+
"@modern-js/server-core": "2.54.2",
|
|
93
|
+
"@modern-js/server-utils": "2.54.2",
|
|
94
|
+
"@modern-js/types": "2.54.2",
|
|
95
|
+
"@modern-js/uni-builder": "2.54.2",
|
|
96
|
+
"@modern-js/utils": "2.54.2"
|
|
105
97
|
},
|
|
106
98
|
"devDependencies": {
|
|
107
99
|
"@rsbuild/plugin-swc": "0.7.9",
|
|
@@ -113,8 +105,8 @@
|
|
|
113
105
|
"tsconfig-paths": "^4.2.0",
|
|
114
106
|
"typescript": "^5",
|
|
115
107
|
"webpack": "^5.92.0",
|
|
116
|
-
"@scripts/build": "2.54.
|
|
117
|
-
"@scripts/jest-config": "2.54.
|
|
108
|
+
"@scripts/build": "2.54.2",
|
|
109
|
+
"@scripts/jest-config": "2.54.2"
|
|
118
110
|
},
|
|
119
111
|
"sideEffects": false,
|
|
120
112
|
"publishConfig": {
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var exports_exports = {};
|
|
20
|
-
__export(exports_exports, {
|
|
21
|
-
handleDependencies: () => import_dependencies.handleDependencies
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(exports_exports);
|
|
24
|
-
var import_dependencies = require("./dependencies");
|
|
25
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
26
|
-
0 && (module.exports = {
|
|
27
|
-
handleDependencies
|
|
28
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const JS_EXTENSIONS = ['.js', '.ts', '.jsx', '.tsx'];
|
|
2
|
-
export const INDEX_FILE_NAME = 'index';
|
|
3
|
-
export const APP_FILE_NAME = 'App';
|
|
4
|
-
export const PAGES_DIR_NAME = 'pages';
|
|
5
|
-
export const FILE_SYSTEM_ROUTES_FILE_NAME = 'routes.js';
|
|
6
|
-
export const ENTRY_POINT_FILE_NAME = 'index.js';
|
|
7
|
-
export const ENTRY_BOOTSTRAP_FILE_NAME = 'bootstrap.js';
|
|
8
|
-
export const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
|
|
9
|
-
export const FILE_SYSTEM_ROUTES_LAYOUT = '_layout';
|
|
10
|
-
export const FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT = '_app';
|
|
11
|
-
export const FILE_SYSTEM_ROUTES_INDEX = 'index';
|
|
12
|
-
export const FILE_SYSTEM_ROUTES_IGNORED_REGEX = /\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/;
|
|
13
|
-
export const HTML_PARTIALS_FOLDER = 'html';
|
|
14
|
-
export const HTML_PARTIALS_EXTENSIONS = ['.htm', '.html', '.ejs'];
|
|
15
|
-
export const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = 'internal_components';
|