@modern-js/utils 2.35.1 → 2.36.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.
Files changed (116) hide show
  1. package/dist/cjs/cli/alias.js +45 -46
  2. package/dist/cjs/cli/applyOptionsChain.js +30 -13
  3. package/dist/cjs/cli/babel.js +36 -26
  4. package/dist/cjs/cli/commands.js +29 -21
  5. package/dist/cjs/cli/common.js +29 -20
  6. package/dist/cjs/cli/config.js +24 -7
  7. package/dist/cjs/cli/constants/chainId.js +24 -7
  8. package/dist/cjs/cli/constants/index.js +86 -104
  9. package/dist/cjs/cli/ensure.js +37 -18
  10. package/dist/cjs/cli/fs.js +29 -19
  11. package/dist/cjs/cli/get/config.js +26 -9
  12. package/dist/cjs/cli/get/data.js +67 -54
  13. package/dist/cjs/cli/get/index.js +46 -25
  14. package/dist/cjs/cli/index.js +58 -23
  15. package/dist/cjs/cli/is/config.js +37 -31
  16. package/dist/cjs/cli/is/env.js +32 -29
  17. package/dist/cjs/cli/is/index.js +26 -8
  18. package/dist/cjs/cli/is/project.js +67 -53
  19. package/dist/cjs/cli/is/type.js +39 -36
  20. package/dist/cjs/cli/logger.js +25 -130
  21. package/dist/cjs/cli/monorepo.js +58 -58
  22. package/dist/cjs/cli/package.js +34 -26
  23. package/dist/cjs/cli/path.js +64 -54
  24. package/dist/cjs/cli/port.js +39 -13
  25. package/dist/cjs/cli/prettyInstructions.js +48 -29
  26. package/dist/cjs/cli/require.js +35 -29
  27. package/dist/cjs/cli/runtimeExports.js +42 -16
  28. package/dist/cjs/cli/watch.js +41 -22
  29. package/dist/cjs/compiled.js +127 -138
  30. package/dist/cjs/import.js +25 -15
  31. package/dist/cjs/index.js +24 -6
  32. package/dist/cjs/universal/constants.js +29 -21
  33. package/dist/cjs/universal/formatWebpack.js +25 -15
  34. package/dist/cjs/universal/pluginDagSort.js +25 -8
  35. package/dist/esm/cli/alias.js +10 -22
  36. package/dist/esm/cli/applyOptionsChain.js +4 -1
  37. package/dist/esm/cli/babel.js +6 -2
  38. package/dist/esm/cli/commands.js +10 -4
  39. package/dist/esm/cli/common.js +8 -3
  40. package/dist/esm/cli/config.js +4 -1
  41. package/dist/esm/cli/constants/chainId.js +4 -1
  42. package/dist/esm/cli/constants/index.js +64 -31
  43. package/dist/esm/cli/ensure.js +6 -2
  44. package/dist/esm/cli/fs.js +6 -2
  45. package/dist/esm/cli/get/config.js +4 -1
  46. package/dist/esm/cli/get/data.js +18 -8
  47. package/dist/esm/cli/get/index.js +6 -2
  48. package/dist/esm/cli/is/config.js +14 -6
  49. package/dist/esm/cli/is/env.js +12 -8
  50. package/dist/esm/cli/is/index.js +0 -1
  51. package/dist/esm/cli/is/project.js +17 -8
  52. package/dist/esm/cli/is/type.js +20 -9
  53. package/dist/esm/cli/logger.js +4 -128
  54. package/dist/esm/cli/monorepo.js +14 -16
  55. package/dist/esm/cli/package.js +10 -4
  56. package/dist/esm/cli/path.js +24 -11
  57. package/dist/esm/cli/port.js +5 -2
  58. package/dist/esm/cli/prettyInstructions.js +6 -2
  59. package/dist/esm/cli/require.js +14 -6
  60. package/dist/esm/cli/runtimeExports.js +6 -3
  61. package/dist/esm/cli/watch.js +10 -6
  62. package/dist/esm/compiled.js +65 -31
  63. package/dist/esm/import.js +6 -3
  64. package/dist/esm/universal/constants.js +10 -4
  65. package/dist/esm/universal/formatWebpack.js +5 -2
  66. package/dist/esm/universal/pluginDagSort.js +5 -2
  67. package/dist/esm-node/cli/alias.js +8 -19
  68. package/dist/esm-node/cli/applyOptionsChain.js +4 -1
  69. package/dist/esm-node/cli/babel.js +6 -2
  70. package/dist/esm-node/cli/commands.js +10 -4
  71. package/dist/esm-node/cli/common.js +8 -3
  72. package/dist/esm-node/cli/config.js +4 -1
  73. package/dist/esm-node/cli/constants/chainId.js +4 -1
  74. package/dist/esm-node/cli/constants/index.js +64 -31
  75. package/dist/esm-node/cli/ensure.js +6 -2
  76. package/dist/esm-node/cli/fs.js +6 -2
  77. package/dist/esm-node/cli/get/config.js +4 -1
  78. package/dist/esm-node/cli/get/data.js +18 -8
  79. package/dist/esm-node/cli/get/index.js +6 -2
  80. package/dist/esm-node/cli/is/config.js +14 -6
  81. package/dist/esm-node/cli/is/env.js +12 -6
  82. package/dist/esm-node/cli/is/index.js +0 -1
  83. package/dist/esm-node/cli/is/project.js +16 -7
  84. package/dist/esm-node/cli/is/type.js +20 -9
  85. package/dist/esm-node/cli/logger.js +4 -113
  86. package/dist/esm-node/cli/monorepo.js +14 -18
  87. package/dist/esm-node/cli/package.js +10 -4
  88. package/dist/esm-node/cli/path.js +24 -11
  89. package/dist/esm-node/cli/port.js +4 -1
  90. package/dist/esm-node/cli/prettyInstructions.js +6 -2
  91. package/dist/esm-node/cli/require.js +14 -6
  92. package/dist/esm-node/cli/runtimeExports.js +4 -1
  93. package/dist/esm-node/cli/watch.js +6 -2
  94. package/dist/esm-node/compiled.js +65 -31
  95. package/dist/esm-node/import.js +5 -2
  96. package/dist/esm-node/universal/constants.js +10 -4
  97. package/dist/esm-node/universal/formatWebpack.js +5 -2
  98. package/dist/esm-node/universal/pluginDagSort.js +5 -2
  99. package/dist/types/cli/alias.d.ts +0 -5
  100. package/dist/types/cli/is/env.d.ts +1 -2
  101. package/dist/types/cli/is/index.d.ts +0 -1
  102. package/dist/types/cli/logger.d.ts +1 -69
  103. package/dist/types/cli/monorepo.d.ts +0 -1
  104. package/package.json +6 -13
  105. package/dist/cjs/cli/is/platform.js +0 -21
  106. package/dist/compiled/gradient-string/index.d.ts +0 -1
  107. package/dist/compiled/gradient-string/index.js +0 -1
  108. package/dist/compiled/gradient-string/license +0 -21
  109. package/dist/compiled/gradient-string/package.json +0 -1
  110. package/dist/compiled/webpack-dev-middleware/index.js +0 -7
  111. package/dist/compiled/webpack-dev-middleware/license +0 -20
  112. package/dist/compiled/webpack-dev-middleware/package.json +0 -1
  113. package/dist/compiled/webpack-dev-middleware/types/index.d.ts +0 -262
  114. package/dist/esm/cli/is/platform.js +0 -6
  115. package/dist/esm-node/cli/is/platform.js +0 -2
  116. package/dist/types/cli/is/platform.d.ts +0 -2
@@ -5,7 +5,7 @@ import { INTERNAL_CLI_PLUGINS } from "../constants";
5
5
  import { isDepExists } from "../is";
6
6
  import { canUsePnpm, canUseYarn } from "../package";
7
7
  const MAX_TIMES = 5;
8
- export async function getPackageManager(cwd = process.cwd()) {
8
+ async function getPackageManager(cwd = process.cwd()) {
9
9
  let appDirectory = cwd;
10
10
  let times = 0;
11
11
  while (os.homedir() !== appDirectory && times < MAX_TIMES) {
@@ -29,7 +29,7 @@ export async function getPackageManager(cwd = process.cwd()) {
29
29
  }
30
30
  return "npm";
31
31
  }
32
- export const getCoreJsVersion = (corejsPkgPath) => {
32
+ const getCoreJsVersion = (corejsPkgPath) => {
33
33
  try {
34
34
  const { version } = fs.readJSONSync(corejsPkgPath);
35
35
  const [major, minor] = version.split(".");
@@ -38,7 +38,7 @@ export const getCoreJsVersion = (corejsPkgPath) => {
38
38
  return "3";
39
39
  }
40
40
  };
41
- export const getAntdMajorVersion = (appDirectory) => {
41
+ const getAntdMajorVersion = (appDirectory) => {
42
42
  try {
43
43
  const pkgJsonPath = require.resolve("antd/package.json", {
44
44
  paths: [
@@ -51,15 +51,15 @@ export const getAntdMajorVersion = (appDirectory) => {
51
51
  return null;
52
52
  }
53
53
  };
54
- export const defaults = [
54
+ const defaults = [
55
55
  "> 0.01%",
56
56
  "not dead",
57
57
  "not op_mini all"
58
58
  ];
59
- export const getBrowserslist = (appDirectory) => browserslist.loadConfig({
59
+ const getBrowserslist = (appDirectory) => browserslist.loadConfig({
60
60
  path: appDirectory
61
61
  }) || defaults;
62
- export function getInternalPlugins(appDirectory, internalPlugins = INTERNAL_CLI_PLUGINS) {
62
+ function getInternalPlugins(appDirectory, internalPlugins = INTERNAL_CLI_PLUGINS) {
63
63
  return [
64
64
  ...Object.keys(internalPlugins).filter((name) => {
65
65
  const config = internalPlugins[name];
@@ -77,10 +77,20 @@ export function getInternalPlugins(appDirectory, internalPlugins = INTERNAL_CLI_
77
77
  })
78
78
  ];
79
79
  }
80
- export const readTsConfig = (root) => {
80
+ const readTsConfig = (root) => {
81
81
  return readTsConfigByFile(path.resolve(root, "./tsconfig.json"));
82
82
  };
83
- export const readTsConfigByFile = (filename) => {
83
+ const readTsConfigByFile = (filename) => {
84
84
  const content = fs.readFileSync(path.resolve(filename), "utf-8");
85
85
  return json5.parse(content);
86
86
  };
87
+ export {
88
+ defaults,
89
+ getAntdMajorVersion,
90
+ getBrowserslist,
91
+ getCoreJsVersion,
92
+ getInternalPlugins,
93
+ getPackageManager,
94
+ readTsConfig,
95
+ readTsConfigByFile
96
+ };
@@ -1,13 +1,17 @@
1
1
  import path from "path";
2
2
  import { CONFIG_FILE_EXTENSIONS } from "../constants";
3
3
  import { findExists } from "../fs";
4
- export const getServerConfig = async (appDirectory, configFile) => {
4
+ const getServerConfig = async (appDirectory, configFile) => {
5
5
  const configFilePath = findExists(CONFIG_FILE_EXTENSIONS.map((extension) => path.resolve(appDirectory, `${configFile}${extension}`)));
6
6
  return configFilePath;
7
7
  };
8
- export const getTargetDir = (from, baseDir, targetBaseDir) => {
8
+ const getTargetDir = (from, baseDir, targetBaseDir) => {
9
9
  const relativePath = path.relative(baseDir, from);
10
10
  return path.resolve(targetBaseDir, relativePath);
11
11
  };
12
12
  export * from "./data";
13
13
  export * from "./config";
14
+ export {
15
+ getServerConfig,
16
+ getTargetDir
17
+ };
@@ -1,6 +1,6 @@
1
1
  import { MAIN_ENTRY_NAME } from "../constants";
2
2
  import { isEmpty } from "./type";
3
- export const isSSR = (config) => {
3
+ const isSSR = (config) => {
4
4
  const { server } = config;
5
5
  if (server === null || server === void 0 ? void 0 : server.ssr) {
6
6
  return true;
@@ -14,14 +14,14 @@ export const isSSR = (config) => {
14
14
  }
15
15
  return false;
16
16
  };
17
- export const isUseSSRBundle = (config) => {
17
+ const isUseSSRBundle = (config) => {
18
18
  const { output } = config;
19
19
  if (output === null || output === void 0 ? void 0 : output.ssg) {
20
20
  return true;
21
21
  }
22
22
  return isSSR(config);
23
23
  };
24
- export const isServiceWorker = (config) => {
24
+ const isServiceWorker = (config) => {
25
25
  var _deploy_worker;
26
26
  const { output, deploy } = config;
27
27
  if ((deploy === null || deploy === void 0 ? void 0 : (_deploy_worker = deploy.worker) === null || _deploy_worker === void 0 ? void 0 : _deploy_worker.ssr) && ((output === null || output === void 0 ? void 0 : output.ssg) || isSSR(config))) {
@@ -29,14 +29,22 @@ export const isServiceWorker = (config) => {
29
29
  }
30
30
  return false;
31
31
  };
32
- export const isRouterV5 = (config) => {
32
+ const isRouterV5 = (config) => {
33
33
  var _config_runtime, _config_runtime_router, _config_runtime1;
34
34
  return typeof ((_config_runtime = config.runtime) === null || _config_runtime === void 0 ? void 0 : _config_runtime.router) !== "boolean" && (config === null || config === void 0 ? void 0 : (_config_runtime1 = config.runtime) === null || _config_runtime1 === void 0 ? void 0 : (_config_runtime_router = _config_runtime1.router) === null || _config_runtime_router === void 0 ? void 0 : _config_runtime_router.mode) === "react-router-5";
35
35
  };
36
- export const isSSGEntry = (config, entryName, entrypoints) => {
36
+ const isSSGEntry = (config, entryName, entrypoints) => {
37
37
  var _config_source;
38
38
  const ssgConfig = config.output.ssg;
39
39
  const useSSG = isSingleEntry(entrypoints, (_config_source = config.source) === null || _config_source === void 0 ? void 0 : _config_source.mainEntryName) ? Boolean(ssgConfig) : ssgConfig === true || typeof (ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[0]) === "function" || Boolean(ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[entryName]);
40
40
  return useSSG;
41
41
  };
42
- export const isSingleEntry = (entrypoints, mainEntryName = MAIN_ENTRY_NAME) => entrypoints.length === 1 && entrypoints[0].entryName === mainEntryName;
42
+ const isSingleEntry = (entrypoints, mainEntryName = MAIN_ENTRY_NAME) => entrypoints.length === 1 && entrypoints[0].entryName === mainEntryName;
43
+ export {
44
+ isRouterV5,
45
+ isSSGEntry,
46
+ isSSR,
47
+ isServiceWorker,
48
+ isSingleEntry,
49
+ isUseSSRBundle
50
+ };
@@ -1,6 +1,12 @@
1
- export const getNodeEnv = () => process.env.NODE_ENV || "development";
2
- export const isDev = () => getNodeEnv() === "development";
3
- export const isProd = () => getNodeEnv() === "production";
4
- export const isTest = () => getNodeEnv() === "test";
5
- export const isProdProfile = () => isProd() && process.argv.includes("--profile");
6
- export const isFastRefresh = () => isDev() && process.env.FAST_REFRESH !== "false";
1
+ const getNodeEnv = () => process.env.NODE_ENV || "development";
2
+ const isDev = () => getNodeEnv() === "development";
3
+ const isProd = () => getNodeEnv() === "production";
4
+ const isTest = () => getNodeEnv() === "test";
5
+ const isBrowser = () => typeof window !== "undefined";
6
+ export {
7
+ getNodeEnv,
8
+ isBrowser,
9
+ isDev,
10
+ isProd,
11
+ isTest
12
+ };
@@ -1,5 +1,4 @@
1
1
  export * from "./env";
2
- export * from "./platform";
3
2
  export * from "./type";
4
3
  export * from "./config";
5
4
  export * from "./project";
@@ -5,7 +5,7 @@ import { fs, minimist, semver } from "../../compiled";
5
5
  import { createDebugger } from "../common";
6
6
  import { ensureArray } from "../ensure";
7
7
  const debug = createDebugger("judge-depExists");
8
- export const isDepExists = (appDirectory, name) => {
8
+ const isDepExists = (appDirectory, name) => {
9
9
  const pkgPath = path.resolve(appDirectory, "./package.json");
10
10
  if (!fs.existsSync(pkgPath)) {
11
11
  debug(`can't find package.json under: %s`, appDirectory);
@@ -15,7 +15,7 @@ export const isDepExists = (appDirectory, name) => {
15
15
  const { dependencies = {}, devDependencies = {} } = json;
16
16
  return dependencies.hasOwnProperty(name) || devDependencies.hasOwnProperty(name);
17
17
  };
18
- export const isPackageInstalled = (name, resolvePaths) => {
18
+ const isPackageInstalled = (name, resolvePaths) => {
19
19
  try {
20
20
  require.resolve(name, {
21
21
  paths: ensureArray(resolvePaths)
@@ -25,7 +25,7 @@ export const isPackageInstalled = (name, resolvePaths) => {
25
25
  return false;
26
26
  }
27
27
  };
28
- export const isApiOnly = async (appDirectory, entryDir, apiDir) => {
28
+ const isApiOnly = async (appDirectory, entryDir, apiDir) => {
29
29
  const existApi = await fs.pathExists(apiDir !== null && apiDir !== void 0 ? apiDir : path.join(appDirectory, "api"));
30
30
  const existSrc = await fs.pathExists(path.join(appDirectory, entryDir !== null && entryDir !== void 0 ? entryDir : "src"));
31
31
  const options = minimist(getArgv());
@@ -34,11 +34,11 @@ export const isApiOnly = async (appDirectory, entryDir, apiDir) => {
34
34
  }
35
35
  return existApi && !existSrc;
36
36
  };
37
- export const isWebOnly = async () => {
37
+ const isWebOnly = async () => {
38
38
  const options = minimist(getArgv());
39
39
  return Boolean(options["web-only"]);
40
40
  };
41
- export const isBeyondReact17 = (cwd) => {
41
+ const isBeyondReact17 = (cwd) => {
42
42
  const pkgPath = pkgUp.sync({
43
43
  cwd
44
44
  });
@@ -55,7 +55,7 @@ export const isBeyondReact17 = (cwd) => {
55
55
  }
56
56
  return semver.satisfies(semver.minVersion(deps.react), ">=17.0.0");
57
57
  };
58
- export const isReact18 = (cwd) => {
58
+ const isReact18 = (cwd) => {
59
59
  const pkgPath = path.join(cwd, "package.json");
60
60
  if (!fs.existsSync(pkgPath)) {
61
61
  return false;
@@ -70,4 +70,13 @@ export const isReact18 = (cwd) => {
70
70
  }
71
71
  return semver.satisfies(semver.minVersion(deps.react), ">=18.0.0");
72
72
  };
73
- export const isTypescript = (root) => fs.existsSync(path.resolve(root, "./tsconfig.json"));
73
+ const isTypescript = (root) => fs.existsSync(path.resolve(root, "./tsconfig.json"));
74
+ export {
75
+ isApiOnly,
76
+ isBeyondReact17,
77
+ isDepExists,
78
+ isPackageInstalled,
79
+ isReact18,
80
+ isTypescript,
81
+ isWebOnly
82
+ };
@@ -1,25 +1,36 @@
1
- export function isString(str) {
1
+ function isString(str) {
2
2
  return typeof str === "string";
3
3
  }
4
- export function isUndefined(obj) {
4
+ function isUndefined(obj) {
5
5
  return typeof obj === "undefined";
6
6
  }
7
- export function isArray(obj) {
7
+ function isArray(obj) {
8
8
  return Array.isArray(obj);
9
9
  }
10
- export function isFunction(func) {
10
+ function isFunction(func) {
11
11
  return typeof func === "function";
12
12
  }
13
- export function isObject(obj) {
13
+ function isObject(obj) {
14
14
  return obj !== null && typeof obj === "object";
15
15
  }
16
- export function isPlainObject(obj) {
16
+ function isPlainObject(obj) {
17
17
  return isObject(obj) && Object.prototype.toString.call(obj) === "[object Object]";
18
18
  }
19
- export function isPromise(obj) {
19
+ function isPromise(obj) {
20
20
  return Boolean(obj) && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function";
21
21
  }
22
- export function isRegExp(obj) {
22
+ function isRegExp(obj) {
23
23
  return Object.prototype.toString.call(obj) === "[object RegExp]";
24
24
  }
25
- export const isEmpty = (o) => Object.entries(o).length === 0 && o.constructor === Object;
25
+ const isEmpty = (o) => Object.entries(o).length === 0 && o.constructor === Object;
26
+ export {
27
+ isArray,
28
+ isEmpty,
29
+ isFunction,
30
+ isObject,
31
+ isPlainObject,
32
+ isPromise,
33
+ isRegExp,
34
+ isString,
35
+ isUndefined
36
+ };
@@ -1,114 +1,5 @@
1
- import chalk from "../../compiled/chalk";
2
- const LOG_LEVEL = {
3
- error: 0,
4
- warn: 1,
5
- info: 2,
6
- debug: 3,
7
- log: 4
1
+ import { logger, createLogger } from "rslog";
2
+ export {
3
+ createLogger,
4
+ logger
8
5
  };
9
- const LOG_TYPES = {
10
- error: {
11
- color: "red",
12
- label: "error",
13
- level: "error"
14
- },
15
- info: {
16
- color: "cyan",
17
- label: "info",
18
- level: "info"
19
- },
20
- ready: {
21
- color: "green",
22
- label: "ready",
23
- level: "info"
24
- },
25
- success: {
26
- color: "green",
27
- label: "success",
28
- level: "info"
29
- },
30
- warn: {
31
- color: "yellow",
32
- label: "warn",
33
- level: "warn"
34
- },
35
- debug: {
36
- color: "red",
37
- label: "debug",
38
- level: "debug"
39
- },
40
- log: {
41
- level: "log"
42
- }
43
- };
44
- const DEFAULT_CONFIG = {
45
- displayLabel: true,
46
- uppercaseLabel: false
47
- };
48
- const errorStackRegExp = /^\s*at\s.*:\d+:\d+[\s)]*$/;
49
- const anonymousErrorStackRegExp = /^\s*at\s.*\(<anonymous>\)$/;
50
- export const isErrorStackMessage = (message) => errorStackRegExp.test(message) || anonymousErrorStackRegExp.test(message);
51
- class Logger {
52
- _log(type, message, ...args) {
53
- if (message === void 0 || message === null) {
54
- console.log();
55
- return;
56
- }
57
- if (LOG_LEVEL[type] > LOG_LEVEL[this.level]) {
58
- return;
59
- }
60
- let label = "";
61
- let text = "";
62
- const logType = this.types[type];
63
- if (this.config.displayLabel && logType.label) {
64
- label = this.config.uppercaseLabel ? logType.label.toUpperCase() : logType.label;
65
- label = label.padEnd(this.longestLabel.length);
66
- label = chalk.bold(logType.color ? chalk[logType.color](label) : label);
67
- }
68
- if (message instanceof Error) {
69
- if (message.stack) {
70
- const [name, ...rest] = message.stack.split("\n");
71
- text = `${name}
72
- ${chalk.grey(rest.join("\n"))}`;
73
- } else {
74
- text = message.message;
75
- }
76
- } else if (logType.level === "error" && typeof message === "string") {
77
- const lines = message.split("\n");
78
- text = lines.map((line) => isErrorStackMessage(line) ? chalk.gray(line) : line).join("\n");
79
- } else {
80
- text = `${message}`;
81
- }
82
- const log = label.length > 0 ? `${label} ${text}` : text;
83
- console.log(log, ...args);
84
- }
85
- getLongestLabel() {
86
- let longestLabel = "";
87
- Object.keys(this.types).forEach((type) => {
88
- const { label = "" } = this.types[type];
89
- if (label.length > longestLabel.length) {
90
- longestLabel = label;
91
- }
92
- });
93
- return longestLabel;
94
- }
95
- constructor(options = {}) {
96
- this.level = options.level || LOG_TYPES.log.level;
97
- this.config = {
98
- ...DEFAULT_CONFIG,
99
- ...options.config || {}
100
- };
101
- this.types = {
102
- ...LOG_TYPES,
103
- ...options.types || {}
104
- };
105
- this.longestLabel = this.getLongestLabel();
106
- Object.keys(this.types).forEach((type) => {
107
- this[type] = this._log.bind(this, type);
108
- });
109
- }
110
- }
111
- const logger = new Logger();
112
- logger.Logger = Logger;
113
- export { Logger };
114
- export { logger };
@@ -7,8 +7,8 @@ const WORKSPACE_FILES = {
7
7
  PNPM: "pnpm-workspace.yaml",
8
8
  LERNA: "lerna.json"
9
9
  };
10
- export const isLerna = (root) => fs.existsSync(path.join(root, WORKSPACE_FILES.LERNA));
11
- export const isYarnWorkspaces = (root) => {
10
+ const isLerna = (root) => fs.existsSync(path.join(root, WORKSPACE_FILES.LERNA));
11
+ const isYarnWorkspaces = (root) => {
12
12
  var _json_workspaces;
13
13
  const pkg = path.join(root, WORKSPACE_FILES.YARN);
14
14
  if (!fs.existsSync(pkg)) {
@@ -17,21 +17,9 @@ export const isYarnWorkspaces = (root) => {
17
17
  const json = JSON.parse(fs.readFileSync(pkg, "utf8"));
18
18
  return Boolean((_json_workspaces = json.workspaces) === null || _json_workspaces === void 0 ? void 0 : _json_workspaces.packages);
19
19
  };
20
- export const isPnpmWorkspaces = (root) => fs.existsSync(path.join(root, WORKSPACE_FILES.PNPM));
21
- export const isMonorepo = (root) => isLerna(root) || isYarnWorkspaces(root) || isPnpmWorkspaces(root);
22
- export const isModernjsMonorepo = (root) => {
23
- const pkgJsonPath = path.join(root, "package.json");
24
- if (!fs.existsSync(pkgJsonPath)) {
25
- return false;
26
- }
27
- const json = JSON.parse(fs.readFileSync(pkgJsonPath, "utf8"));
28
- const deps = {
29
- ...json.dependencies || {},
30
- ...json.devDependencies || {}
31
- };
32
- return Boolean(deps["@modern-js/monorepo-tools"]);
33
- };
34
- export const findMonorepoRoot = (appDirectory, maxDepth = PACKAGE_MAX_DEPTH) => {
20
+ const isPnpmWorkspaces = (root) => fs.existsSync(path.join(root, WORKSPACE_FILES.PNPM));
21
+ const isMonorepo = (root) => isLerna(root) || isYarnWorkspaces(root) || isPnpmWorkspaces(root);
22
+ const findMonorepoRoot = (appDirectory, maxDepth = PACKAGE_MAX_DEPTH) => {
35
23
  let inMonorepo = false;
36
24
  for (let depth = 0; depth < maxDepth; depth++) {
37
25
  if (isMonorepo(appDirectory)) {
@@ -42,7 +30,7 @@ export const findMonorepoRoot = (appDirectory, maxDepth = PACKAGE_MAX_DEPTH) =>
42
30
  }
43
31
  return inMonorepo ? appDirectory : void 0;
44
32
  };
45
- export const getMonorepoPackages = (root) => {
33
+ const getMonorepoPackages = (root) => {
46
34
  let packages = [];
47
35
  if (isYarnWorkspaces(root)) {
48
36
  const json = JSON.parse(fs.readFileSync(path.join(root, "package.json"), "utf8"));
@@ -68,3 +56,11 @@ export const getMonorepoPackages = (root) => {
68
56
  }
69
57
  return [];
70
58
  };
59
+ export {
60
+ findMonorepoRoot,
61
+ getMonorepoPackages,
62
+ isLerna,
63
+ isMonorepo,
64
+ isPnpmWorkspaces,
65
+ isYarnWorkspaces
66
+ };
@@ -1,11 +1,11 @@
1
1
  import { execa } from "../compiled";
2
- export async function getPnpmVersion() {
2
+ async function getPnpmVersion() {
3
3
  const { stdout } = await execa("pnpm", [
4
4
  "--version"
5
5
  ]);
6
6
  return stdout;
7
7
  }
8
- export async function canUseNpm() {
8
+ async function canUseNpm() {
9
9
  try {
10
10
  await execa("npm", [
11
11
  "--version"
@@ -17,7 +17,7 @@ export async function canUseNpm() {
17
17
  return false;
18
18
  }
19
19
  }
20
- export async function canUseYarn() {
20
+ async function canUseYarn() {
21
21
  try {
22
22
  await execa("yarn", [
23
23
  "--version"
@@ -29,7 +29,7 @@ export async function canUseYarn() {
29
29
  return false;
30
30
  }
31
31
  }
32
- export async function canUsePnpm() {
32
+ async function canUsePnpm() {
33
33
  try {
34
34
  await execa("pnpm", [
35
35
  "--version"
@@ -41,3 +41,9 @@ export async function canUsePnpm() {
41
41
  return false;
42
42
  }
43
43
  }
44
+ export {
45
+ canUseNpm,
46
+ canUsePnpm,
47
+ canUseYarn,
48
+ getPnpmVersion
49
+ };
@@ -2,11 +2,11 @@ import path from "path";
2
2
  import os from "os";
3
3
  import fs from "fs";
4
4
  import { nanoid, upath } from "../compiled";
5
- export const isPathString = (test) => path.posix.basename(test) !== test || path.win32.basename(test) !== test;
6
- export const isRelativePath = (test) => /^\.\.?($|[\\/])/.test(test);
7
- export const normalizeOutputPath = (s) => s.replace(/\\/g, "\\\\");
8
- export const normalizeToPosixPath = (p) => upath.normalizeSafe(path.normalize(p || "")).replace(/^([a-zA-Z]+):/, (_, m) => `/${m.toLowerCase()}`);
9
- export const getTemplatePath = (prefix) => {
5
+ const isPathString = (test) => path.posix.basename(test) !== test || path.win32.basename(test) !== test;
6
+ const isRelativePath = (test) => /^\.\.?($|[\\/])/.test(test);
7
+ const normalizeOutputPath = (s) => s.replace(/\\/g, "\\\\");
8
+ const normalizeToPosixPath = (p) => upath.normalizeSafe(path.normalize(p || "")).replace(/^([a-zA-Z]+):/, (_, m) => `/${m.toLowerCase()}`);
9
+ const getTemplatePath = (prefix) => {
10
10
  const tmpRoot = fs.realpathSync(os.tmpdir());
11
11
  const parts = [
12
12
  tmpRoot
@@ -15,7 +15,7 @@ export const getTemplatePath = (prefix) => {
15
15
  parts.push(nanoid());
16
16
  return path.resolve(...parts);
17
17
  };
18
- export function getRealTemporaryDirectory() {
18
+ function getRealTemporaryDirectory() {
19
19
  let ret = null;
20
20
  try {
21
21
  ret = os.tmpdir();
@@ -24,12 +24,25 @@ export function getRealTemporaryDirectory() {
24
24
  }
25
25
  return ret;
26
26
  }
27
- export function splitPathString(str) {
27
+ function splitPathString(str) {
28
28
  return str.split(/[\\/]/);
29
29
  }
30
- export const removeLeadingSlash = (s) => s.replace(/^\/+/, "");
31
- export const removeTailSlash = (s) => s.replace(/\/+$/, "");
32
- export const removeSlash = (s) => removeLeadingSlash(removeTailSlash(s));
33
- export const cutNameByHyphen = (s) => {
30
+ const removeLeadingSlash = (s) => s.replace(/^\/+/, "");
31
+ const removeTailSlash = (s) => s.replace(/\/+$/, "");
32
+ const removeSlash = (s) => removeLeadingSlash(removeTailSlash(s));
33
+ const cutNameByHyphen = (s) => {
34
34
  return s.split(/[-_]/)[0];
35
35
  };
36
+ export {
37
+ cutNameByHyphen,
38
+ getRealTemporaryDirectory,
39
+ getTemplatePath,
40
+ isPathString,
41
+ isRelativePath,
42
+ normalizeOutputPath,
43
+ normalizeToPosixPath,
44
+ removeLeadingSlash,
45
+ removeSlash,
46
+ removeTailSlash,
47
+ splitPathString
48
+ };
@@ -1,7 +1,7 @@
1
1
  import net from "net";
2
2
  import { chalk } from "../compiled";
3
3
  import { logger } from "./logger";
4
- export const getPort = async (port, { tryLimits = 20, strictPort = false, slient = false } = {}) => {
4
+ const getPort = async (port, { tryLimits = 20, strictPort = false, slient = false } = {}) => {
5
5
  if (typeof port === "string") {
6
6
  port = parseInt(port, 10);
7
7
  }
@@ -42,3 +42,6 @@ export const getPort = async (port, { tryLimits = 20, strictPort = false, slient
42
42
  }
43
43
  return port;
44
44
  };
45
+ export {
46
+ getPort
47
+ };
@@ -16,7 +16,7 @@ const getIpv4Interfaces = () => {
16
16
  });
17
17
  return ipv4Interfaces;
18
18
  };
19
- export const getAddressUrls = (protocol = "http", port, host) => {
19
+ const getAddressUrls = (protocol = "http", port, host) => {
20
20
  const LOCAL_LABEL = "Local: ";
21
21
  const NETWORK_LABEL = "Network: ";
22
22
  const isLocalhost = (url) => url === null || url === void 0 ? void 0 : url.includes("localhost");
@@ -44,7 +44,7 @@ export const getAddressUrls = (protocol = "http", port, host) => {
44
44
  return memo;
45
45
  }, []);
46
46
  };
47
- export const prettyInstructions = (appContext, config) => {
47
+ const prettyInstructions = (appContext, config) => {
48
48
  var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source;
49
49
  const { entrypoints, serverRoutes, port, apiOnly, checkedEntries } = appContext;
50
50
  const isHttps = isDev() && ((_appContext_builder = appContext.builder) === null || _appContext_builder === void 0 ? void 0 : (_appContext_builder_context_devServer = _appContext_builder.context.devServer) === null || _appContext_builder_context_devServer === void 0 ? void 0 : _appContext_builder_context_devServer.https);
@@ -73,3 +73,7 @@ export const prettyInstructions = (appContext, config) => {
73
73
  }
74
74
  return message;
75
75
  };
76
+ export {
77
+ getAddressUrls,
78
+ prettyInstructions
79
+ };
@@ -1,11 +1,11 @@
1
1
  import { findExists } from "./fs";
2
- export const compatRequire = (filePath, interop = true) => {
2
+ const compatRequire = (filePath, interop = true) => {
3
3
  const mod = require(filePath);
4
4
  const rtnESMDefault = interop && (mod === null || mod === void 0 ? void 0 : mod.__esModule);
5
5
  return rtnESMDefault ? mod.default : mod;
6
6
  };
7
- export const dynamicImport = new Function("modulePath", "return import(modulePath)");
8
- export const requireExistModule = (filename, opt) => {
7
+ const dynamicImport = new Function("modulePath", "return import(modulePath)");
8
+ const requireExistModule = (filename, opt) => {
9
9
  const final = {
10
10
  extensions: [
11
11
  ".ts",
@@ -20,12 +20,12 @@ export const requireExistModule = (filename, opt) => {
20
20
  }
21
21
  return compatRequire(exist, final.interop);
22
22
  };
23
- export const cleanRequireCache = (filelist) => {
23
+ const cleanRequireCache = (filelist) => {
24
24
  filelist.forEach((filepath) => {
25
25
  delete require.cache[filepath];
26
26
  });
27
27
  };
28
- export function deleteRequireCache(path) {
28
+ function deleteRequireCache(path) {
29
29
  if (require.cache[path]) {
30
30
  delete require.cache[path];
31
31
  }
@@ -33,7 +33,7 @@ export function deleteRequireCache(path) {
33
33
  module.children = module.children.filter((item) => item.filename !== path);
34
34
  }
35
35
  }
36
- export const tryResolve = (name, resolvePath) => {
36
+ const tryResolve = (name, resolvePath) => {
37
37
  let filePath = "";
38
38
  try {
39
39
  filePath = require.resolve(name, {
@@ -50,3 +50,11 @@ export const tryResolve = (name, resolvePath) => {
50
50
  }
51
51
  return filePath;
52
52
  };
53
+ export {
54
+ cleanRequireCache,
55
+ compatRequire,
56
+ deleteRequireCache,
57
+ dynamicImport,
58
+ requireExistModule,
59
+ tryResolve
60
+ };
@@ -14,7 +14,7 @@ const memo = (fn) => {
14
14
  return res;
15
15
  };
16
16
  };
17
- export const createRuntimeExportsUtils = memo((pwd = "", namespace = "index") => {
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
  statement = normalizeOutputPath(statement);
@@ -33,3 +33,6 @@ export const createRuntimeExportsUtils = memo((pwd = "", namespace = "index") =>
33
33
  getPath
34
34
  };
35
35
  });
36
+ export {
37
+ createRuntimeExportsUtils
38
+ };