@umijs/preset-umi 4.4.10 → 4.4.11

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,7 +33,6 @@ var import_getBabelOpts = require("./dev/getBabelOpts");
33
33
  var import_getMarkupArgs = require("./dev/getMarkupArgs");
34
34
  var import_printMemoryUsage = require("./dev/printMemoryUsage");
35
35
  var bundlerWebpack = (0, import_lazyImportFromCurrentPkg.lazyImportFromCurrentPkg)("@umijs/bundler-webpack");
36
- var bundlerVite = (0, import_lazyImportFromCurrentPkg.lazyImportFromCurrentPkg)("@umijs/bundler-vite");
37
36
  var build_default = (api) => {
38
37
  api.registerCommand({
39
38
  name: "build",
@@ -109,7 +108,7 @@ umi build --clean
109
108
  // it will break the config of externals, when externals
110
109
  // does not handle the react/runtime
111
110
  import_utils.semver.gte(api.appData.react.version, "17.0.0");
112
- const opts = {
111
+ let opts = {
113
112
  react: {
114
113
  runtime: shouldUseAutomaticRuntime ? "automatic" : "classic"
115
114
  },
@@ -136,22 +135,29 @@ umi build --clean
136
135
  };
137
136
  await api.applyPlugins({
138
137
  key: "onBeforeCompiler",
139
- args: { compiler: api.config.vite ? "vite" : "webpack", opts }
138
+ args: { compiler: api.appData.bundler, opts }
140
139
  });
141
- let stats;
142
- if (api.config.vite) {
143
- stats = await bundlerVite.build(opts);
144
- } else if (api.config.mako) {
145
- require("@umijs/bundler-webpack/dist/requireHook");
146
- const { build } = require(process.env.OKAM);
147
- stats = await build(opts);
148
- } else {
140
+ opts = await api.applyPlugins({
141
+ key: "modifyUniBundlerOpts",
142
+ initialValue: opts,
143
+ args: {
144
+ bundler: api.appData.bundler
145
+ }
146
+ });
147
+ const bundler = await api.applyPlugins({
148
+ key: "modifyUniBundler",
149
+ args: {
150
+ bundler: api.appData.bundler,
151
+ opts
152
+ }
153
+ });
154
+ const stats = await bundler.build(opts);
155
+ if (!api.config.vite && !api.config.mako) {
149
156
  const absOutputPath = (0, import_path.resolve)(
150
157
  opts.cwd,
151
158
  opts.config.outputPath || bundlerWebpack.DEFAULT_OUTPUT_PATH
152
159
  );
153
160
  const previousFileSizes = (0, import_fileSizeReporter.measureFileSizesBeforeBuild)(absOutputPath);
154
- stats = await bundlerWebpack.build(opts);
155
161
  console.log();
156
162
  import_utils.logger.info("File sizes after gzip:\n");
157
163
  (0, import_fileSizeReporter.printFileSizesAfterBuild)({
@@ -38,7 +38,6 @@ var import_path = require("path");
38
38
  var import_worker_threads = require("worker_threads");
39
39
  var import_constants = require("../../constants");
40
40
  var import_LazySourceCodeCache = require("../../libs/folderCache/LazySourceCodeCache");
41
- var import_lazyImportFromCurrentPkg = require("../../utils/lazyImportFromCurrentPkg");
42
41
  var import_projectFileList = require("../../utils/projectFileList");
43
42
  var import_createRouteMiddleware = require("./createRouteMiddleware");
44
43
  var import_faviconMiddleware = require("./faviconMiddleware");
@@ -46,8 +45,6 @@ var import_getBabelOpts = require("./getBabelOpts");
46
45
  var import_ViteHtmlPlugin = __toESM(require("./plugins/ViteHtmlPlugin"));
47
46
  var import_printMemoryUsage = require("./printMemoryUsage");
48
47
  var import_watch = require("./watch");
49
- var bundlerWebpack = (0, import_lazyImportFromCurrentPkg.lazyImportFromCurrentPkg)("@umijs/bundler-webpack");
50
- var bundlerVite = (0, import_lazyImportFromCurrentPkg.lazyImportFromCurrentPkg)("@umijs/bundler-vite");
51
48
  var MFSU_EAGER_DEFAULT_INCLUDE = [
52
49
  "react",
53
50
  "react-error-overlay",
@@ -341,7 +338,7 @@ PORT=8888 umi dev
341
338
  }
342
339
  });
343
340
  const shouldUseAutomaticRuntime = ((_c = api.appData.react) == null ? void 0 : _c.version) && import_utils.semver.gte(api.appData.react.version, "17.0.0");
344
- const opts = {
341
+ let opts = {
345
342
  react: {
346
343
  runtime: shouldUseAutomaticRuntime ? "automatic" : "classic"
347
344
  },
@@ -411,19 +408,25 @@ PORT=8888 umi dev
411
408
  });
412
409
  }
413
410
  };
411
+ opts = await api.applyPlugins({
412
+ key: "modifyUniBundlerOpts",
413
+ initialValue: opts,
414
+ args: {
415
+ bundler: api.appData.bundler
416
+ }
417
+ });
414
418
  await api.applyPlugins({
415
419
  key: "onBeforeCompiler",
416
- args: { compiler: enableVite ? "vite" : "webpack", opts }
420
+ args: { compiler: api.appData.bundler, opts }
417
421
  });
418
- if (enableVite) {
419
- await bundlerVite.dev(opts);
420
- } else if (api.config.mako) {
421
- require("@umijs/bundler-webpack/dist/requireHook");
422
- const { dev } = require(process.env.OKAM);
423
- await dev(opts);
424
- } else {
425
- await bundlerWebpack.dev(opts);
426
- }
422
+ const bundler = await api.applyPlugins({
423
+ key: "modifyUniBundler",
424
+ args: {
425
+ bundler: api.appData.bundler,
426
+ opts
427
+ }
428
+ });
429
+ await bundler.dev(opts);
427
430
  }
428
431
  });
429
432
  api.modifyAppData(async (memo) => {
@@ -34,7 +34,10 @@ __export(getBabelOpts_exports, {
34
34
  module.exports = __toCommonJS(getBabelOpts_exports);
35
35
  var import_utils = require("@umijs/utils");
36
36
  async function getBabelOpts(opts) {
37
- const shouldUseAutomaticRuntime = import_utils.semver.gte(opts.api.appData.react.version, "17.0.0");
37
+ const shouldUseAutomaticRuntime = import_utils.semver.gte(
38
+ opts.api.appData.react.version,
39
+ "17.0.0"
40
+ );
38
41
  const babelPresetOpts = await opts.api.applyPlugins({
39
42
  key: "modifyBabelPresetOpts",
40
43
  initialValue: {
@@ -45,7 +48,7 @@ async function getBabelOpts(opts) {
45
48
  ...shouldUseAutomaticRuntime ? {} : { importSource: void 0 }
46
49
  },
47
50
  presetTypeScript: {},
48
- pluginTransformRuntime: {},
51
+ pluginTransformRuntime: opts.api.config.transformRuntime || {},
49
52
  pluginLockCoreJS: {},
50
53
  pluginDynamicImportNode: false,
51
54
  pluginAutoCSSModules: opts.api.config.autoCSSModules
@@ -0,0 +1,3 @@
1
+ import { IApi } from '../../types';
2
+ declare const _default: (api: IApi) => void;
3
+ export default _default;
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/features/bundler/bundler.ts
20
+ var bundler_exports = {};
21
+ __export(bundler_exports, {
22
+ default: () => bundler_default
23
+ });
24
+ module.exports = __toCommonJS(bundler_exports);
25
+ var import_lazyImportFromCurrentPkg = require("../../utils/lazyImportFromCurrentPkg");
26
+ var bundlerWebpack = (0, import_lazyImportFromCurrentPkg.lazyImportFromCurrentPkg)("@umijs/bundler-webpack");
27
+ var bundlerVite = (0, import_lazyImportFromCurrentPkg.lazyImportFromCurrentPkg)("@umijs/bundler-vite");
28
+ var bundler_default = (api) => {
29
+ api.describe({
30
+ // Don't occupy proprietary terms
31
+ key: "preset-umi:bundler"
32
+ });
33
+ api.modifyUniBundler((_, { bundler }) => {
34
+ if (bundler === "mako") {
35
+ require("@umijs/bundler-webpack/dist/requireHook");
36
+ return require(process.env.OKAM);
37
+ }
38
+ if (bundler === "vite") {
39
+ return bundlerVite;
40
+ }
41
+ return bundlerWebpack;
42
+ });
43
+ };
package/dist/index.js CHANGED
@@ -89,6 +89,7 @@ var src_default = () => {
89
89
  require.resolve("./features/hmrGuardian/hmrGuardian"),
90
90
  require.resolve("./features/routePreloadOnLoad/routePreloadOnLoad"),
91
91
  require.resolve("./features/forget/forget"),
92
+ require.resolve("./features/bundler/bundler"),
92
93
  // commands
93
94
  require.resolve("./commands/build"),
94
95
  require.resolve("./commands/config/config"),
@@ -87,7 +87,10 @@ var registerMethods_default = (api) => {
87
87
  "modifyServerRendererPath",
88
88
  "modifyRoutes",
89
89
  "modifyBabelPresetOpts",
90
- "modifyTSConfig"
90
+ "modifyTSConfig",
91
+ // support custom bundler
92
+ "modifyUniBundler",
93
+ "modifyUniBundlerOpts"
91
94
  ].forEach((name) => {
92
95
  api.registerMethod({ name });
93
96
  });
package/dist/types.d.ts CHANGED
@@ -82,6 +82,22 @@ export declare type GenerateFilesFn = (opts: IOnGenerateFiles) => Promise<void>;
82
82
  export declare type OnConfigChangeFn = (opts: {
83
83
  generate: GenerateFilesFn;
84
84
  }) => void | Promise<void>;
85
+ export interface IUniBundlerInstance {
86
+ dev: (opts: any) => Promise<void>;
87
+ build: (opts: any) => Promise<any>;
88
+ [key: string]: any;
89
+ }
90
+ export interface IBundlerOpts {
91
+ config: IConfig;
92
+ cwd: string;
93
+ entry: Record<string, string>;
94
+ pkg: Record<string, any>;
95
+ rootDir: string;
96
+ ip: string;
97
+ port: number;
98
+ host: string;
99
+ [key: string]: any;
100
+ }
85
101
  export declare type IApi = PluginAPI & IServicePluginAPI & {
86
102
  addApiMiddlewares: IAdd<null, IApiMiddleware>;
87
103
  addBeforeBabelPlugins: IAdd<null, any>;
@@ -139,6 +155,13 @@ export declare type IApi = PluginAPI & IServicePluginAPI & {
139
155
  modifyRoutes: IModify<Record<string, IRoute>, {}>;
140
156
  modifyServerRendererPath: IModify<string, {}>;
141
157
  modifyTSConfig: IModify<Record<string, any>, {}>;
158
+ modifyUniBundler: IModify<IUniBundlerInstance, {
159
+ bundler: string;
160
+ opts: IBundlerOpts;
161
+ }>;
162
+ modifyUniBundlerOpts: IModify<IBundlerOpts, {
163
+ bundler: string;
164
+ }>;
142
165
  modifyViteConfig: IModify<ViteInlineConfig, {
143
166
  env: Env;
144
167
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umijs/preset-umi",
3
- "version": "4.4.10",
3
+ "version": "4.4.11",
4
4
  "description": "@umijs/preset-umi",
5
5
  "homepage": "https://github.com/umijs/umi/tree/master/packages/preset-umi#readme",
6
6
  "bugs": "https://github.com/umijs/umi/issues",
@@ -41,21 +41,21 @@
41
41
  "react-router": "6.3.0",
42
42
  "react-router-dom": "6.3.0",
43
43
  "regenerator-runtime": "0.13.11",
44
- "@umijs/ast": "4.4.10",
45
- "@umijs/babel-preset-umi": "4.4.10",
46
- "@umijs/bundler-utils": "4.4.10",
47
- "@umijs/bundler-vite": "4.4.10",
48
- "@umijs/bundler-webpack": "4.4.10",
49
- "@umijs/core": "4.4.10",
44
+ "@umijs/ast": "4.4.11",
45
+ "@umijs/babel-preset-umi": "4.4.11",
46
+ "@umijs/bundler-esbuild": "4.4.11",
47
+ "@umijs/bundler-utils": "4.4.11",
48
+ "@umijs/bundler-vite": "4.4.11",
49
+ "@umijs/bundler-webpack": "4.4.11",
50
+ "@umijs/core": "4.4.11",
50
51
  "@umijs/did-you-know": "1.0.3",
51
- "@umijs/plugin-run": "4.4.10",
52
- "@umijs/renderer-react": "4.4.10",
53
- "@umijs/server": "4.4.10",
54
- "@umijs/mfsu": "4.4.10",
55
- "@umijs/utils": "4.4.10",
52
+ "@umijs/mfsu": "4.4.11",
53
+ "@umijs/server": "4.4.11",
54
+ "@umijs/renderer-react": "4.4.11",
55
+ "@umijs/plugin-run": "4.4.11",
56
56
  "@umijs/ui": "3.0.1",
57
- "@umijs/bundler-esbuild": "4.4.10",
58
- "@umijs/zod2ts": "4.4.10"
57
+ "@umijs/utils": "4.4.11",
58
+ "@umijs/zod2ts": "4.4.11"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@manypkg/get-packages": "1.1.3",