@modern-js/utils 2.58.2-alpha.0 → 2.58.3-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli/alias.js +1 -1
- package/dist/cjs/cli/index.js +3 -1
- package/dist/cjs/cli/is/project.js +1 -1
- package/dist/cjs/cli/monorepo.js +3 -2
- package/dist/cjs/cli/path.js +2 -2
- package/dist/cjs/cli/port.js +2 -1
- package/dist/cjs/cli/prettyInstructions.js +2 -2
- package/dist/cjs/cli/require.js +4 -1
- package/dist/cjs/cli/route.js +23 -2
- package/dist/cjs/cli/runtimeExports.js +3 -3
- package/dist/cjs/cli/version.js +32 -0
- package/dist/compiled/better-ajv-errors/index.js +1 -1
- package/dist/compiled/recursive-readdir/index.d.ts +21 -0
- package/dist/compiled/recursive-readdir/index.js +1 -0
- package/dist/compiled/recursive-readdir/license +21 -0
- package/dist/compiled/recursive-readdir/package.json +1 -0
- package/dist/compiled/webpack-dev-middleware/index.js +7 -0
- package/dist/compiled/webpack-dev-middleware/license +20 -0
- package/dist/compiled/webpack-dev-middleware/package.json +1 -0
- package/dist/compiled/webpack-dev-middleware/types/index.d.ts +262 -0
- package/dist/esm/cli/alias.js +1 -1
- package/dist/esm/cli/get/data.js +1 -1
- package/dist/esm/cli/index.js +1 -0
- package/dist/esm/cli/is/project.js +1 -1
- package/dist/esm/cli/monorepo.js +3 -2
- package/dist/esm/cli/path.js +2 -2
- package/dist/esm/cli/port.js +4 -3
- package/dist/esm/cli/prettyInstructions.js +2 -2
- package/dist/esm/cli/require.js +5 -2
- package/dist/esm/cli/route.js +21 -1
- package/dist/esm/cli/runtimeExports.js +3 -3
- package/dist/esm/cli/version.js +8 -0
- package/dist/esm-node/cli/alias.js +1 -1
- package/dist/esm-node/cli/get/data.js +1 -1
- package/dist/esm-node/cli/index.js +1 -0
- package/dist/esm-node/cli/is/project.js +1 -1
- package/dist/esm-node/cli/monorepo.js +3 -2
- package/dist/esm-node/cli/path.js +2 -2
- package/dist/esm-node/cli/port.js +2 -1
- package/dist/esm-node/cli/prettyInstructions.js +2 -2
- package/dist/esm-node/cli/require.js +4 -1
- package/dist/esm-node/cli/route.js +21 -1
- package/dist/esm-node/cli/runtimeExports.js +3 -3
- package/dist/esm-node/cli/version.js +8 -0
- package/dist/types/cli/babel.d.ts +1 -1
- package/dist/types/cli/constants.d.ts +1 -1
- package/dist/types/cli/get/data.d.ts +1 -1
- package/dist/types/cli/index.d.ts +1 -0
- package/dist/types/cli/port.d.ts +1 -1
- package/dist/types/cli/route.d.ts +1 -0
- package/dist/types/cli/version.d.ts +1 -0
- package/package.json +4 -4
package/dist/esm/cli/require.js
CHANGED
@@ -2,13 +2,15 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
3
3
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
4
4
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
5
|
+
import { isAbsolute } from "node:path";
|
6
|
+
import { pathToFileURL } from "node:url";
|
5
7
|
import { findExists } from "./fs";
|
6
8
|
function compatibleRequire(path) {
|
7
9
|
return _compatibleRequire.apply(this, arguments);
|
8
10
|
}
|
9
11
|
function _compatibleRequire() {
|
10
12
|
_compatibleRequire = _async_to_generator(function(path) {
|
11
|
-
var interop, requiredModule, err;
|
13
|
+
var interop, requiredModule, err, modulePath;
|
12
14
|
var _arguments = arguments;
|
13
15
|
return _ts_generator(this, function(_state) {
|
14
16
|
switch (_state.label) {
|
@@ -40,9 +42,10 @@ function _compatibleRequire() {
|
|
40
42
|
3,
|
41
43
|
4
|
42
44
|
];
|
45
|
+
modulePath = isAbsolute(path) ? pathToFileURL(path).href : path;
|
43
46
|
return [
|
44
47
|
4,
|
45
|
-
import(
|
48
|
+
import(modulePath)
|
46
49
|
];
|
47
50
|
case 3:
|
48
51
|
requiredModule = _state.sent();
|
package/dist/esm/cli/route.js
CHANGED
@@ -38,7 +38,27 @@ function filterRoutesLoader(routes) {
|
|
38
38
|
});
|
39
39
|
return newRoutes;
|
40
40
|
}
|
41
|
+
function markRoutes(routes, routeIds) {
|
42
|
+
return routes.map(function(route) {
|
43
|
+
if (route.type !== "nested") {
|
44
|
+
return route;
|
45
|
+
}
|
46
|
+
if (route.children && route.children.length > 0) {
|
47
|
+
route.children = markRoutes(route.children, routeIds);
|
48
|
+
}
|
49
|
+
if (route.children && route.children.length > 0) {
|
50
|
+
route.inValidSSRRoute = route.children.every(function(child) {
|
51
|
+
var _child_inValidSSRRoute;
|
52
|
+
return (_child_inValidSSRRoute = child.inValidSSRRoute) !== null && _child_inValidSSRRoute !== void 0 ? _child_inValidSSRRoute : false;
|
53
|
+
});
|
54
|
+
} else if (route.id) {
|
55
|
+
route.inValidSSRRoute = !routeIds.includes(route.id);
|
56
|
+
}
|
57
|
+
return route;
|
58
|
+
});
|
59
|
+
}
|
41
60
|
export {
|
42
61
|
filterRoutesForServer,
|
43
|
-
filterRoutesLoader
|
62
|
+
filterRoutesLoader,
|
63
|
+
markRoutes
|
44
64
|
};
|
@@ -22,11 +22,11 @@ var createRuntimeExportsUtils = memo(function() {
|
|
22
22
|
var pwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", namespace = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "index";
|
23
23
|
var entryExportFile = path.join(pwd, ".runtime-exports/".concat(namespace, ".js"));
|
24
24
|
var addExport = function(statement) {
|
25
|
-
|
25
|
+
var statementStr = normalizeOutputPath(statement);
|
26
26
|
try {
|
27
27
|
fs.ensureFileSync(entryExportFile);
|
28
|
-
if (!fs.readFileSync(entryExportFile, "utf8").includes(
|
29
|
-
fs.appendFileSync(entryExportFile, "".concat(
|
28
|
+
if (!fs.readFileSync(entryExportFile, "utf8").includes(statementStr)) {
|
29
|
+
fs.appendFileSync(entryExportFile, "".concat(statementStr, "\n"));
|
30
30
|
}
|
31
31
|
} catch (e) {
|
32
32
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import fs from "fs";
|
2
2
|
import path from "path";
|
3
|
-
import { readTsConfigByFile } from "./get";
|
4
3
|
import { applyOptionsChain } from "./applyOptionsChain";
|
4
|
+
import { readTsConfigByFile } from "./get";
|
5
5
|
const mergeAlias = (alias) => applyOptionsChain({}, alias);
|
6
6
|
const getAliasConfig = (aliasOption, option) => {
|
7
7
|
var _tsconfig_compilerOptions, _tsconfig_compilerOptions1;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import os from "os";
|
2
2
|
import path from "path";
|
3
|
-
import {
|
3
|
+
import { fs, browserslist, json5 } from "../../compiled";
|
4
4
|
import { INTERNAL_CLI_PLUGINS } from "../constants";
|
5
5
|
import { isDepExists } from "../is";
|
6
6
|
import { canUsePnpm, canUseYarn } from "../package";
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import pkgUp from "../../../compiled/pkg-up";
|
3
|
-
import { getArgv } from "../commands";
|
4
3
|
import { fs, minimist, semver } from "../../compiled";
|
4
|
+
import { getArgv } from "../commands";
|
5
5
|
import { createDebugger } from "../common";
|
6
6
|
import { ensureArray } from "../ensure";
|
7
7
|
const debug = createDebugger("judge-depExists");
|
@@ -21,14 +21,15 @@ const isPnpmWorkspaces = (root) => fs.existsSync(path.join(root, WORKSPACE_FILES
|
|
21
21
|
const isMonorepo = (root) => isLerna(root) || isYarnWorkspaces(root) || isPnpmWorkspaces(root);
|
22
22
|
const findMonorepoRoot = (appDirectory, maxDepth = PACKAGE_MAX_DEPTH) => {
|
23
23
|
let inMonorepo = false;
|
24
|
+
let monorepoRoot = appDirectory;
|
24
25
|
for (let depth = 0; depth < maxDepth; depth++) {
|
25
26
|
if (isMonorepo(appDirectory)) {
|
26
27
|
inMonorepo = true;
|
27
28
|
break;
|
28
29
|
}
|
29
|
-
|
30
|
+
monorepoRoot = path.dirname(appDirectory);
|
30
31
|
}
|
31
|
-
return inMonorepo ?
|
32
|
+
return inMonorepo ? monorepoRoot : void 0;
|
32
33
|
};
|
33
34
|
const getMonorepoPackages = (root) => {
|
34
35
|
let packages = [];
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import path from "path";
|
2
|
-
import os from "os";
|
3
1
|
import fs from "fs";
|
2
|
+
import os from "os";
|
3
|
+
import path from "path";
|
4
4
|
import { nanoid, upath } from "../compiled";
|
5
5
|
const isPathString = (test) => path.posix.basename(test) !== test || path.win32.basename(test) !== test;
|
6
6
|
const isRelativePath = (test) => /^\.\.?($|[\\/])/.test(test);
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import net from "net";
|
2
2
|
import { chalk } from "../compiled";
|
3
3
|
import { logger } from "./logger";
|
4
|
-
const getPort = async (
|
4
|
+
const getPort = async (expectPort, { tryLimits = 20, strictPort = false, slient = false } = {}) => {
|
5
|
+
let port = expectPort;
|
5
6
|
if (typeof port === "string") {
|
6
7
|
port = parseInt(port, 10);
|
7
8
|
}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import os from "os";
|
2
1
|
import { isIPv6 } from "net";
|
2
|
+
import os from "os";
|
3
3
|
import { chalk } from "../compiled";
|
4
|
-
import { isDev, isSingleEntry } from "./is";
|
5
4
|
import { DEFAULT_DEV_HOST } from "./constants";
|
5
|
+
import { isDev, isSingleEntry } from "./is";
|
6
6
|
const normalizeUrl = (url) => url.replace(/([^:]\/)\/+/g, "$1");
|
7
7
|
const getIpv4Interfaces = () => {
|
8
8
|
const interfaces = os.networkInterfaces();
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import { isAbsolute } from "node:path";
|
2
|
+
import { pathToFileURL } from "node:url";
|
1
3
|
import { findExists } from "./fs";
|
2
4
|
async function compatibleRequire(path, interop = true) {
|
3
5
|
if (path.endsWith(".json")) {
|
@@ -8,7 +10,8 @@ async function compatibleRequire(path, interop = true) {
|
|
8
10
|
requiredModule = require(path);
|
9
11
|
} catch (err) {
|
10
12
|
if (err.code === "ERR_REQUIRE_ESM" || err instanceof SyntaxError) {
|
11
|
-
|
13
|
+
const modulePath = isAbsolute(path) ? pathToFileURL(path).href : path;
|
14
|
+
requiredModule = await import(modulePath);
|
12
15
|
return interop ? requiredModule.default : requiredModule;
|
13
16
|
} else {
|
14
17
|
throw err;
|
@@ -34,7 +34,27 @@ function filterRoutesLoader(routes) {
|
|
34
34
|
}).filter((route) => route !== null);
|
35
35
|
return newRoutes;
|
36
36
|
}
|
37
|
+
function markRoutes(routes, routeIds) {
|
38
|
+
return routes.map((route) => {
|
39
|
+
if (route.type !== "nested") {
|
40
|
+
return route;
|
41
|
+
}
|
42
|
+
if (route.children && route.children.length > 0) {
|
43
|
+
route.children = markRoutes(route.children, routeIds);
|
44
|
+
}
|
45
|
+
if (route.children && route.children.length > 0) {
|
46
|
+
route.inValidSSRRoute = route.children.every((child) => {
|
47
|
+
var _child_inValidSSRRoute;
|
48
|
+
return (_child_inValidSSRRoute = child.inValidSSRRoute) !== null && _child_inValidSSRRoute !== void 0 ? _child_inValidSSRRoute : false;
|
49
|
+
});
|
50
|
+
} else if (route.id) {
|
51
|
+
route.inValidSSRRoute = !routeIds.includes(route.id);
|
52
|
+
}
|
53
|
+
return route;
|
54
|
+
});
|
55
|
+
}
|
37
56
|
export {
|
38
57
|
filterRoutesForServer,
|
39
|
-
filterRoutesLoader
|
58
|
+
filterRoutesLoader,
|
59
|
+
markRoutes
|
40
60
|
};
|
@@ -17,11 +17,11 @@ const memo = (fn) => {
|
|
17
17
|
const createRuntimeExportsUtils = memo((pwd = "", namespace = "index") => {
|
18
18
|
const entryExportFile = path.join(pwd, `.runtime-exports/${namespace}.js`);
|
19
19
|
const addExport = (statement) => {
|
20
|
-
|
20
|
+
const statementStr = normalizeOutputPath(statement);
|
21
21
|
try {
|
22
22
|
fs.ensureFileSync(entryExportFile);
|
23
|
-
if (!fs.readFileSync(entryExportFile, "utf8").includes(
|
24
|
-
fs.appendFileSync(entryExportFile, `${
|
23
|
+
if (!fs.readFileSync(entryExportFile, "utf8").includes(statementStr)) {
|
24
|
+
fs.appendFileSync(entryExportFile, `${statementStr}
|
25
25
|
`);
|
26
26
|
}
|
27
27
|
} catch {
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import { BabelConfig, BabelConfigUtils, BabelTransformOptions } from '@modern-js/types';
|
1
|
+
import type { BabelConfig, BabelConfigUtils, BabelTransformOptions } from '@modern-js/types';
|
2
2
|
export declare const getBabelUtils: (config: BabelTransformOptions) => BabelConfigUtils;
|
3
3
|
export declare const applyUserBabelConfig: (defaultOptions: BabelTransformOptions, userBabelConfig?: BabelConfig | BabelConfig[], extraBabelUtils?: Partial<BabelConfigUtils>) => BabelTransformOptions;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { InternalPlugins } from '@modern-js/types';
|
1
|
+
import type { InternalPlugins } from '@modern-js/types';
|
2
2
|
export { NESTED_ROUTE_SPEC_FILE, MAIN_ENTRY_NAME, ROUTE_SPEC_FILE, SERVER_BUNDLE_DIRECTORY, SERVER_RENDER_FUNCTION_NAME, SERVER_PLUGIN_BFF, SERVER_PLUGIN_EXPRESS, SERVER_PLUGIN_KOA, SERVER_PLUGIN_SERVER, SERVER_PLUGIN_POLYFILL, } from '../universal/constants';
|
3
3
|
export declare const JS_EXTENSIONS: string[];
|
4
4
|
/**
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { InternalPlugins } from '@modern-js/types';
|
1
|
+
import type { InternalPlugins } from '@modern-js/types';
|
2
2
|
export declare function getPackageManager(cwd?: string): Promise<"pnpm" | "npm" | "yarn">;
|
3
3
|
export declare const getCoreJsVersion: (corejsPkgPath: string) => string;
|
4
4
|
export declare const getAntdMajorVersion: (appDirectory: string) => number | null;
|
package/dist/types/cli/port.d.ts
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* @param strictPort - Whether to throw an error when the port is occupied.
|
6
6
|
* @returns Available port number.
|
7
7
|
*/
|
8
|
-
export declare const getPort: (
|
8
|
+
export declare const getPort: (expectPort: string | number, { tryLimits, strictPort, slient, }?: {
|
9
9
|
tryLimits?: number | undefined;
|
10
10
|
strictPort?: boolean | undefined;
|
11
11
|
slient?: boolean | undefined;
|
@@ -1,3 +1,4 @@
|
|
1
1
|
import type { NestedRouteForCli, PageRoute } from '@modern-js/types';
|
2
2
|
export declare function filterRoutesForServer(routes: (NestedRouteForCli | PageRoute)[]): (NestedRouteForCli | PageRoute)[];
|
3
3
|
export declare function filterRoutesLoader(routes: (NestedRouteForCli | PageRoute)[]): (NestedRouteForCli | PageRoute)[];
|
4
|
+
export declare function markRoutes(routes: (NestedRouteForCli | PageRoute)[], routeIds: string[]): (NestedRouteForCli | PageRoute)[];
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function isVersionAtLeast1819(): boolean;
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.58.
|
18
|
+
"version": "2.58.3-alpha.0",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/index.d.ts",
|
21
21
|
"main": "./dist/cjs/index.js",
|
@@ -162,9 +162,9 @@
|
|
162
162
|
"jest": "^29",
|
163
163
|
"typescript": "^5",
|
164
164
|
"webpack": "^5.93.0",
|
165
|
-
"@scripts/build": "2.58.
|
166
|
-
"@modern-js/types": "2.58.
|
167
|
-
"@scripts/jest-config": "2.58.
|
165
|
+
"@scripts/build": "2.58.2",
|
166
|
+
"@modern-js/types": "2.58.2",
|
167
|
+
"@scripts/jest-config": "2.58.2"
|
168
168
|
},
|
169
169
|
"sideEffects": false,
|
170
170
|
"scripts": {
|