@modern-js/utils 2.63.1 → 2.63.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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": {