@modern-js/utils 1.15.0 → 1.16.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/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # @modern-js/utils
2
2
 
3
+ ## 1.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1100dd58c: chore: support react 18
8
+
9
+ chore: 支持 React 18
10
+
11
+ ### Patch Changes
12
+
13
+ - 641592f52: feat(utils): add html-cross-origin to CHAIN_ID
14
+
15
+ feat(utils): CHAIN_ID 常量新增 html-cross-origin 值
16
+
17
+ - 3904b30a5: fix: check apiOnly while has source.entriesDir
18
+
19
+ fix: 当配置 source.entriesDir 存在时,apiOnly 检查错误
20
+
21
+ - e04e6e76a: feat: add media rule name to CHAIN_ID constant
22
+
23
+ feat: 在 CHAIN_ID 常量中新增 media rule
24
+
25
+ - 81c66e4a4: fix: compatibility issues of dev server in iOS 10
26
+
27
+ fix: 修复 dev server 代码在 iOS 10 下的兼容性问题
28
+
29
+ - 2c305b6f5: chore: remove all deploy logic and package
30
+ chore: 删除所有部署相关的逻辑和包
31
+
3
32
  ## 1.15.0
4
33
 
5
34
  ### Patch Changes
@@ -1 +1 @@
1
- export declare const isApiOnly: (appDirectory: string) => Promise<boolean>;
1
+ export declare const isApiOnly: (appDirectory: string, entryDir?: string) => Promise<boolean>;
@@ -26,8 +26,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.isApiOnly = void 0;
27
27
  const path = __importStar(require("path"));
28
28
  const compiled_1 = require("./compiled");
29
- const isApiOnly = async (appDirectory) => {
30
- const srcDir = path.join(appDirectory, 'src');
29
+ const isApiOnly = async (appDirectory, entryDir) => {
30
+ const srcDir = path.join(appDirectory, entryDir !== null && entryDir !== void 0 ? entryDir : 'src');
31
31
  const existSrc = await compiled_1.fs.pathExists(srcDir);
32
32
  const options = (0, compiled_1.minimist)(process.argv.slice(2));
33
33
  return !existSrc || Boolean(options['api-only']);
package/dist/chainId.d.ts CHANGED
@@ -9,6 +9,8 @@ export declare const CHAIN_ID: {
9
9
  readonly FONT: "font";
10
10
  /** Rule for images */
11
11
  readonly IMAGE: "image";
12
+ /** Rule for media */
13
+ readonly MEDIA: "media";
12
14
  /** Rule for js */
13
15
  readonly JS: "js";
14
16
  /** Rule for ts */
@@ -19,6 +21,10 @@ export declare const CHAIN_ID: {
19
21
  readonly LESS: "less";
20
22
  /** Rule for sass */
21
23
  readonly SASS: "sass";
24
+ /** Rule for svg */
25
+ readonly SVG: "svg";
26
+ readonly SVG_INLINE: "svg-inline";
27
+ readonly SVG_URL: "svg-url";
22
28
  };
23
29
  /** Predefined rule groups */
24
30
  readonly ONE_OF: {
@@ -107,6 +113,8 @@ export declare const CHAIN_ID: {
107
113
  readonly BUNDLE_ANALYZER: "bundle-analyze";
108
114
  /** BottomTemplatePlugin */
109
115
  readonly BOTTOM_TEMPLATE: "bottom-template";
116
+ /** HtmlCrossOriginPlugin */
117
+ readonly HTML_CROSS_ORIGIN: "html-cross-origin";
110
118
  /** MiniCssExtractPlugin */
111
119
  readonly MINI_CSS_EXTRACT: "mini-css-extract";
112
120
  /** ReactFastRefreshPlugin */
package/dist/chainId.js CHANGED
@@ -12,6 +12,8 @@ exports.CHAIN_ID = {
12
12
  FONT: 'font',
13
13
  /** Rule for images */
14
14
  IMAGE: 'image',
15
+ /** Rule for media */
16
+ MEDIA: 'media',
15
17
  /** Rule for js */
16
18
  JS: 'js',
17
19
  /** Rule for ts */
@@ -22,6 +24,10 @@ exports.CHAIN_ID = {
22
24
  LESS: 'less',
23
25
  /** Rule for sass */
24
26
  SASS: 'sass',
27
+ /** Rule for svg */
28
+ SVG: 'svg',
29
+ SVG_INLINE: 'svg-inline',
30
+ SVG_URL: 'svg-url',
25
31
  },
26
32
  /** Predefined rule groups */
27
33
  ONE_OF: {
@@ -110,6 +116,8 @@ exports.CHAIN_ID = {
110
116
  BUNDLE_ANALYZER: 'bundle-analyze',
111
117
  /** BottomTemplatePlugin */
112
118
  BOTTOM_TEMPLATE: 'bottom-template',
119
+ /** HtmlCrossOriginPlugin */
120
+ HTML_CROSS_ORIGIN: 'html-cross-origin',
113
121
  /** MiniCssExtractPlugin */
114
122
  MINI_CSS_EXTRACT: 'mini-css-extract',
115
123
  /** ReactFastRefreshPlugin */
package/dist/constants.js CHANGED
@@ -98,20 +98,10 @@ exports.INTERNAL_PLUGINS = {
98
98
  cli: '@modern-js/plugin-garfish/cli',
99
99
  },
100
100
  '@modern-js/plugin-tailwindcss': { cli: '@modern-js/plugin-tailwindcss/cli' },
101
- '@modern-js/plugin-lambda-fc': { cli: '@modern-js/plugin-lambda-fc/cli' },
102
- '@modern-js/plugin-lambda-scf': { cli: '@modern-js/plugin-lambda-scf/cli' },
103
- '@modern-js/plugin-cdn-oss': { cli: '@modern-js/plugin-cdn-oss/cli' },
104
- '@modern-js/plugin-cdn-cos': { cli: '@modern-js/plugin-cdn-cos/cli' },
105
- '@modern-js/plugin-static-hosting': {
106
- cli: '@modern-js/plugin-static-hosting/cli',
107
- },
108
101
  '@modern-js/plugin-polyfill': {
109
102
  cli: '@modern-js/plugin-polyfill/cli',
110
103
  server: '@modern-js/plugin-polyfill',
111
104
  },
112
- '@modern-js/plugin-multiprocess': {
113
- cli: '@modern-js/plugin-multiprocess/cli',
114
- },
115
105
  // TODO: Maybe can remove it
116
106
  '@modern-js/plugin-nocode': { cli: '@modern-js/plugin-nocode/cli' },
117
107
  };
package/dist/format.d.ts CHANGED
@@ -6,11 +6,8 @@
6
6
  * https://github.com/facebook/create-react-app/blob/master/LICENSE
7
7
  */
8
8
  import type { StatsCompilation } from 'webpack';
9
- import type { ProxyDetail, BffProxyOptions } from '@modern-js/types';
10
9
  declare function formatWebpackMessages(json: StatsCompilation): {
11
10
  errors: string[];
12
11
  warnings: string[];
13
12
  };
14
13
  export { formatWebpackMessages };
15
- declare function formatProxyOptions(proxyOptions: BffProxyOptions): ProxyDetail[];
16
- export { formatProxyOptions };
package/dist/format.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * https://github.com/facebook/create-react-app/blob/master/LICENSE
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.formatProxyOptions = exports.formatWebpackMessages = void 0;
10
+ exports.formatWebpackMessages = void 0;
11
11
  const friendlySyntaxErrorLabel = 'SyntaxError:';
12
12
  function isLikelyASyntaxError(message) {
13
13
  return message.includes(friendlySyntaxErrorLabel);
@@ -86,28 +86,3 @@ function formatWebpackMessages(json) {
86
86
  return result;
87
87
  }
88
88
  exports.formatWebpackMessages = formatWebpackMessages;
89
- function formatProxyOptions(proxyOptions) {
90
- const formattedProxy = [];
91
- if (!Array.isArray(proxyOptions)) {
92
- if ('target' in proxyOptions) {
93
- formattedProxy.push(proxyOptions);
94
- }
95
- else {
96
- Array.prototype.push.apply(formattedProxy, Object.keys(proxyOptions).reduce((total, source) => {
97
- const option = proxyOptions[source];
98
- total.push({
99
- context: source,
100
- changeOrigin: true,
101
- logLevel: 'warn',
102
- ...(typeof option === 'string' ? { target: option } : option),
103
- });
104
- return total;
105
- }, []));
106
- }
107
- }
108
- else {
109
- formattedProxy.push(...proxyOptions);
110
- }
111
- return formattedProxy;
112
- }
113
- exports.formatProxyOptions = formatProxyOptions;
package/dist/index.d.ts CHANGED
@@ -34,3 +34,4 @@ export * from './ssr';
34
34
  export * from './tryResolve';
35
35
  export * from './analyzeProject';
36
36
  export * from './chainId';
37
+ export * from './reactVersion';
package/dist/index.js CHANGED
@@ -50,3 +50,4 @@ __exportStar(require("./ssr"), exports);
50
50
  __exportStar(require("./tryResolve"), exports);
51
51
  __exportStar(require("./analyzeProject"), exports);
52
52
  __exportStar(require("./chainId"), exports);
53
+ __exportStar(require("./reactVersion"), exports);
@@ -0,0 +1 @@
1
+ export declare const isReact18: (cwd: string) => boolean;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isReact18 = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const compiled_1 = require("./compiled");
9
+ const isReact18 = (cwd) => {
10
+ const pkgPath = path_1.default.join(cwd, 'package.json');
11
+ if (!compiled_1.fs.existsSync(pkgPath)) {
12
+ return false;
13
+ }
14
+ const pkgInfo = JSON.parse(compiled_1.fs.readFileSync(pkgPath, 'utf8'));
15
+ const deps = {
16
+ ...pkgInfo.devDependencies,
17
+ ...pkgInfo.dependencies,
18
+ };
19
+ if (typeof deps.react !== 'string') {
20
+ return false;
21
+ }
22
+ return compiled_1.semver.satisfies(compiled_1.semver.minVersion(deps.react), '>=18.0.0');
23
+ };
24
+ exports.isReact18 = isReact18;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.15.0",
14
+ "version": "1.16.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/index.d.ts",
17
17
  "main": "./dist/index.js",
@@ -121,7 +121,7 @@
121
121
  "lodash": "^4.17.21"
122
122
  },
123
123
  "devDependencies": {
124
- "@modern-js/types": "1.15.0",
124
+ "@modern-js/types": "1.16.0",
125
125
  "@scripts/build": "1.15.0",
126
126
  "@scripts/jest-config": "1.15.0",
127
127
  "@types/jest": "^27",