@modern-js/utils 2.63.1 → 2.63.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.
@@ -33,6 +33,7 @@ __export(project_exports, {
33
33
  isDepExists: () => isDepExists,
34
34
  isPackageInstalled: () => isPackageInstalled,
35
35
  isReact18: () => isReact18,
36
+ isSupportAutomaticJsx: () => isSupportAutomaticJsx,
36
37
  isTypescript: () => isTypescript,
37
38
  isWebOnly: () => isWebOnly
38
39
  });
@@ -94,6 +95,23 @@ const isBeyondReact17 = (cwd) => {
94
95
  }
95
96
  return import_compiled.semver.satisfies(import_compiled.semver.minVersion(deps.react), ">=17.0.0");
96
97
  };
98
+ const isSupportAutomaticJsx = (cwd) => {
99
+ const pkgPath = import_pkg_up.default.sync({
100
+ cwd
101
+ });
102
+ if (!pkgPath) {
103
+ return false;
104
+ }
105
+ const pkgInfo = JSON.parse(import_compiled.fs.readFileSync(pkgPath, "utf8"));
106
+ const deps = {
107
+ ...pkgInfo.devDependencies,
108
+ ...pkgInfo.dependencies
109
+ };
110
+ if (typeof deps.react !== "string") {
111
+ return false;
112
+ }
113
+ return import_compiled.semver.satisfies(import_compiled.semver.minVersion(deps.react), ">=16.14.0");
114
+ };
97
115
  const isReact18 = (cwd = process.cwd()) => {
98
116
  const pkgPath = import_path.default.join(cwd, "package.json");
99
117
  if (!import_compiled.fs.existsSync(pkgPath)) {
@@ -117,6 +135,7 @@ const isTypescript = (root) => import_compiled.fs.existsSync(import_path.default
117
135
  isDepExists,
118
136
  isPackageInstalled,
119
137
  isReact18,
138
+ isSupportAutomaticJsx,
120
139
  isTypescript,
121
140
  isWebOnly
122
141
  });
@@ -86,7 +86,7 @@ const getAddressUrls = (protocol = "http", port, host) => {
86
86
  }, []);
87
87
  };
88
88
  const prettyInstructions = (appContext, config) => {
89
- var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source;
89
+ var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source, _config_dev1;
90
90
  const { entrypoints, serverRoutes, port, apiOnly, checkedEntries } = appContext;
91
91
  const isHttps = (0, import_is.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);
92
92
  const urls = getAddressUrls(isHttps ? "https" : "http", port, (_config_dev = config.dev) === null || _config_dev === void 0 ? void 0 : _config_dev.host);
@@ -112,6 +112,10 @@ const prettyInstructions = (appContext, config) => {
112
112
  message += import_compiled.chalk.cyanBright(" λ (Server) server-side renders at runtime\n");
113
113
  message += import_compiled.chalk.cyanBright(" ○ (Static) client-side renders as static HTML\n");
114
114
  }
115
+ if ((_config_dev1 = config.dev) === null || _config_dev1 === void 0 ? void 0 : _config_dev1.cliShortcuts) {
116
+ message += ` ${import_compiled.chalk.dim("> press")} ${import_compiled.chalk.bold("h + enter")} ${import_compiled.chalk.dim("to show shortcuts")}
117
+ `;
118
+ }
115
119
  return message;
116
120
  };
117
121
  // Annotate the CommonJS export names for ESM import in node:
@@ -93,6 +93,20 @@ var isBeyondReact17 = function(cwd) {
93
93
  }
94
94
  return semver.satisfies(semver.minVersion(deps.react), ">=17.0.0");
95
95
  };
96
+ var isSupportAutomaticJsx = function(cwd) {
97
+ var pkgPath = pkgUp.sync({
98
+ cwd
99
+ });
100
+ if (!pkgPath) {
101
+ return false;
102
+ }
103
+ var pkgInfo = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
104
+ var deps = _object_spread({}, pkgInfo.devDependencies, pkgInfo.dependencies);
105
+ if (typeof deps.react !== "string") {
106
+ return false;
107
+ }
108
+ return semver.satisfies(semver.minVersion(deps.react), ">=16.14.0");
109
+ };
96
110
  var isReact18 = function() {
97
111
  var cwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd();
98
112
  var pkgPath = path.join(cwd, "package.json");
@@ -115,6 +129,7 @@ export {
115
129
  isDepExists,
116
130
  isPackageInstalled,
117
131
  isReact18,
132
+ isSupportAutomaticJsx,
118
133
  isTypescript,
119
134
  isWebOnly
120
135
  };
@@ -58,7 +58,7 @@ var getAddressUrls = function() {
58
58
  }, []);
59
59
  };
60
60
  var prettyInstructions = function(appContext, config) {
61
- var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source;
61
+ var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source, _config_dev1;
62
62
  var entrypoints = appContext.entrypoints, serverRoutes = appContext.serverRoutes, port = appContext.port, apiOnly = appContext.apiOnly, checkedEntries = appContext.checkedEntries;
63
63
  var 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);
64
64
  var urls = getAddressUrls(isHttps ? "https" : "http", port, (_config_dev = config.dev) === null || _config_dev === void 0 ? void 0 : _config_dev.host);
@@ -91,6 +91,9 @@ var prettyInstructions = function(appContext, config) {
91
91
  message += chalk.cyanBright(" λ (Server) server-side renders at runtime\n");
92
92
  message += chalk.cyanBright(" ○ (Static) client-side renders as static HTML\n");
93
93
  }
94
+ if ((_config_dev1 = config.dev) === null || _config_dev1 === void 0 ? void 0 : _config_dev1.cliShortcuts) {
95
+ message += " ".concat(chalk.dim("> press"), " ").concat(chalk.bold("h + enter"), " ").concat(chalk.dim("to show shortcuts"), "\n");
96
+ }
94
97
  return message;
95
98
  };
96
99
  export {
@@ -55,6 +55,23 @@ const isBeyondReact17 = (cwd) => {
55
55
  }
56
56
  return semver.satisfies(semver.minVersion(deps.react), ">=17.0.0");
57
57
  };
58
+ const isSupportAutomaticJsx = (cwd) => {
59
+ const pkgPath = pkgUp.sync({
60
+ cwd
61
+ });
62
+ if (!pkgPath) {
63
+ return false;
64
+ }
65
+ const pkgInfo = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
66
+ const deps = {
67
+ ...pkgInfo.devDependencies,
68
+ ...pkgInfo.dependencies
69
+ };
70
+ if (typeof deps.react !== "string") {
71
+ return false;
72
+ }
73
+ return semver.satisfies(semver.minVersion(deps.react), ">=16.14.0");
74
+ };
58
75
  const isReact18 = (cwd = process.cwd()) => {
59
76
  const pkgPath = path.join(cwd, "package.json");
60
77
  if (!fs.existsSync(pkgPath)) {
@@ -77,6 +94,7 @@ export {
77
94
  isDepExists,
78
95
  isPackageInstalled,
79
96
  isReact18,
97
+ isSupportAutomaticJsx,
80
98
  isTypescript,
81
99
  isWebOnly
82
100
  };
@@ -52,7 +52,7 @@ const getAddressUrls = (protocol = "http", port, host) => {
52
52
  }, []);
53
53
  };
54
54
  const prettyInstructions = (appContext, config) => {
55
- var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source;
55
+ var _appContext_builder_context_devServer, _appContext_builder, _config_dev, _config_source, _config_dev1;
56
56
  const { entrypoints, serverRoutes, port, apiOnly, checkedEntries } = appContext;
57
57
  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);
58
58
  const urls = getAddressUrls(isHttps ? "https" : "http", port, (_config_dev = config.dev) === null || _config_dev === void 0 ? void 0 : _config_dev.host);
@@ -78,6 +78,10 @@ const prettyInstructions = (appContext, config) => {
78
78
  message += chalk.cyanBright(" λ (Server) server-side renders at runtime\n");
79
79
  message += chalk.cyanBright(" ○ (Static) client-side renders as static HTML\n");
80
80
  }
81
+ if ((_config_dev1 = config.dev) === null || _config_dev1 === void 0 ? void 0 : _config_dev1.cliShortcuts) {
82
+ message += ` ${chalk.dim("> press")} ${chalk.bold("h + enter")} ${chalk.dim("to show shortcuts")}
83
+ `;
84
+ }
81
85
  return message;
82
86
  };
83
87
  export {
@@ -22,7 +22,11 @@ export declare const isPackageInstalled: (name: string, resolvePaths: string | s
22
22
  */
23
23
  export declare const isApiOnly: (appDirectory: string, entryDir?: string, apiDir?: string) => Promise<boolean>;
24
24
  export declare const isWebOnly: () => Promise<boolean>;
25
+ /**
26
+ * @deprecated Use {@link isSupportAutomaticJsx} to check if the project supports automatic JSX instead.
27
+ */
25
28
  export declare const isBeyondReact17: (cwd: string) => boolean;
29
+ export declare const isSupportAutomaticJsx: (cwd: string) => boolean;
26
30
  export declare const isReact18: (cwd?: string) => boolean;
27
31
  /**
28
32
  * Is typescript project.
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.63.1",
18
+ "version": "2.63.2",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -161,10 +161,10 @@
161
161
  "@types/node": "^14",
162
162
  "jest": "^29",
163
163
  "typescript": "^5",
164
- "webpack": "^5.96.1",
165
- "@modern-js/types": "2.63.1",
166
- "@scripts/build": "2.63.1",
167
- "@scripts/jest-config": "2.63.1"
164
+ "webpack": "^5.97.1",
165
+ "@modern-js/types": "2.63.2",
166
+ "@scripts/jest-config": "2.63.2",
167
+ "@scripts/build": "2.63.2"
168
168
  },
169
169
  "sideEffects": false,
170
170
  "scripts": {