@umijs/preset-umi 4.0.34 → 4.0.35
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/dist/commands/build.js +2 -8
- package/dist/commands/dev/depBuildWorker/depBuildWorker.js +2 -2
- package/dist/commands/dev/depBuildWorker/depBuilder.js +4 -1
- package/dist/commands/dev/getAssetsMap.js +0 -10
- package/dist/features/check/check.js +6 -0
- package/dist/features/codeSplitting/codeSplitting.js +2 -2
- package/dist/features/configPlugins/configPlugins.js +3 -0
- package/dist/features/configPlugins/schema.js +1 -0
- package/dist/features/tmpFiles/tmpFiles.js +1 -1
- package/dist/features/webpack/webpack.d.ts +3 -0
- package/dist/features/webpack/webpack.js +86 -0
- package/dist/index.js +1 -0
- package/dist/types.d.ts +5 -4
- package/package.json +12 -12
- package/templates/umi.tpl +15 -11
package/dist/commands/build.js
CHANGED
|
@@ -152,14 +152,8 @@ umi build --clean
|
|
|
152
152
|
const markupArgs = await (0, import_getMarkupArgs.getMarkupArgs)({ api });
|
|
153
153
|
const finalMarkUpArgs = {
|
|
154
154
|
...markupArgs,
|
|
155
|
-
styles: markupArgs.styles.concat(api.config.vite ? [] : [
|
|
156
|
-
|
|
157
|
-
...(assetsMap["umi.css"] || []).map((src) => ({ src }))
|
|
158
|
-
]),
|
|
159
|
-
scripts: (api.config.vite ? [] : [
|
|
160
|
-
...(assetsMap["framework.js"] || []).map((src) => ({ src })),
|
|
161
|
-
...(assetsMap["umi.js"] || []).map((src) => ({ src }))
|
|
162
|
-
]).concat(markupArgs.scripts),
|
|
155
|
+
styles: markupArgs.styles.concat(api.config.vite ? [] : [...(assetsMap["umi.css"] || []).map((src) => ({ src }))]),
|
|
156
|
+
scripts: (api.config.vite ? [] : [...(assetsMap["umi.js"] || []).map((src) => ({ src }))]).concat(markupArgs.scripts),
|
|
163
157
|
esmScript: !!opts.config.esm || vite,
|
|
164
158
|
path: "/"
|
|
165
159
|
};
|
|
@@ -32,7 +32,7 @@ setupWorkerEnv();
|
|
|
32
32
|
var bundlerWebpackPath = (0, import_path.dirname)(require.resolve("@umijs/bundler-webpack"));
|
|
33
33
|
var bufferedRequest = [];
|
|
34
34
|
async function start() {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
36
36
|
let builder = null;
|
|
37
37
|
function build(deps) {
|
|
38
38
|
import_utils.logger.info("[MFSU][eager] build worker start to build");
|
|
@@ -92,7 +92,7 @@ async function start() {
|
|
|
92
92
|
tmpBase,
|
|
93
93
|
mfName: ((_f = opts.config.mfsu) == null ? void 0 : _f.mfName) || import_mfsu.DEFAULT_MF_NAME,
|
|
94
94
|
shared: ((_g = opts.config.mfsu) == null ? void 0 : _g.shared) || {},
|
|
95
|
-
buildDepWithESBuild:
|
|
95
|
+
buildDepWithESBuild: !!((_h = opts.config.mfsu) == null ? void 0 : _h.esbuild),
|
|
96
96
|
depEsBuildConfig,
|
|
97
97
|
externals
|
|
98
98
|
});
|
|
@@ -69,7 +69,10 @@ var DepBuilderInWorker = class {
|
|
|
69
69
|
var _a;
|
|
70
70
|
const alias = { ...(_a = this.opts.depConfig.resolve) == null ? void 0 : _a.alias };
|
|
71
71
|
const externals = this.opts.depConfig.externals;
|
|
72
|
-
const entryContent = (0, import_getESBuildEntry.getESBuildEntry)({
|
|
72
|
+
const entryContent = (0, import_getESBuildEntry.getESBuildEntry)({
|
|
73
|
+
mfName: this.opts.mfName,
|
|
74
|
+
deps: opts.deps
|
|
75
|
+
});
|
|
73
76
|
const ENTRY_FILE = "esbuild-entry.js";
|
|
74
77
|
const tmpDir = this.opts.tmpBase;
|
|
75
78
|
const entryPath = (0, import_path.join)(tmpDir, ENTRY_FILE);
|
|
@@ -26,10 +26,6 @@ var UMI_ASSETS_REG = {
|
|
|
26
26
|
js: /^umi(\..+)?\.js$/,
|
|
27
27
|
css: /^umi(\..+)?\.css$/
|
|
28
28
|
};
|
|
29
|
-
var FRAMEWORK_ASSETS_REG = {
|
|
30
|
-
js: /^framework(\..+)?\.js$/,
|
|
31
|
-
css: /^framework(\..+)?\.css$/
|
|
32
|
-
};
|
|
33
29
|
var HOT_UPDATE = ".hot-update.";
|
|
34
30
|
function getAssetsMap(opts) {
|
|
35
31
|
const { stats, publicPath } = opts;
|
|
@@ -42,16 +38,10 @@ function getAssetsMap(opts) {
|
|
|
42
38
|
if (UMI_ASSETS_REG.js.test(asset)) {
|
|
43
39
|
ret["umi.js"] = [`${displayPublicPath}${asset}`];
|
|
44
40
|
}
|
|
45
|
-
if (FRAMEWORK_ASSETS_REG.js.test(asset)) {
|
|
46
|
-
ret["framework.js"] = [`${displayPublicPath}${asset}`];
|
|
47
|
-
}
|
|
48
41
|
}
|
|
49
42
|
if (UMI_ASSETS_REG.css.test(asset)) {
|
|
50
43
|
ret["umi.css"] = [`${displayPublicPath}${asset}`];
|
|
51
44
|
}
|
|
52
|
-
if (FRAMEWORK_ASSETS_REG.css.test(asset)) {
|
|
53
|
-
ret["framework.css"] = [`${displayPublicPath}${asset}`];
|
|
54
|
-
}
|
|
55
45
|
}
|
|
56
46
|
return ret;
|
|
57
47
|
}
|
|
@@ -26,6 +26,7 @@ __export(check_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(check_exports);
|
|
28
28
|
var import_assert = __toESM(require("assert"));
|
|
29
|
+
var import_utils = require("@umijs/utils");
|
|
29
30
|
var check_default = (api) => {
|
|
30
31
|
api.onCheck(async () => {
|
|
31
32
|
(0, import_assert.default)(api.appData.routes, `routes not found, you may be run umi on the wrong directory.`);
|
|
@@ -58,6 +59,11 @@ var check_default = (api) => {
|
|
|
58
59
|
});
|
|
59
60
|
api.onCheckConfig(({ config }) => {
|
|
60
61
|
if (config.publicPath.startsWith("./") && api.env === "development") {
|
|
62
|
+
console.log(`
|
|
63
|
+
${import_utils.chalk.red(`\`publicPath\` does not support start with ${import_utils.chalk.bold.blue("./")} in development environment.`)}
|
|
64
|
+
You should use :
|
|
65
|
+
${import_utils.chalk.green(`publicPath: process.env.NODE_ENV === 'production' ? './' : '/'`)}
|
|
66
|
+
`);
|
|
61
67
|
throw new Error(`publicPath can not start with './' in development environment.`);
|
|
62
68
|
}
|
|
63
69
|
});
|
|
@@ -123,10 +123,10 @@ var codeSplitting_default = (api) => {
|
|
|
123
123
|
}, "")).digest("base64").replace(/\//g, "").replace(/\+/g, "-").replace(/=/g, "_");
|
|
124
124
|
return `shared-${cryptoName}`;
|
|
125
125
|
},
|
|
126
|
-
chunks: "async",
|
|
127
126
|
priority: 10,
|
|
128
127
|
minChunks: 2,
|
|
129
|
-
reuseExistingChunk: true
|
|
128
|
+
reuseExistingChunk: true,
|
|
129
|
+
chunks: "async"
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
});
|
|
@@ -92,6 +92,9 @@ var configPlugins_default = (api) => {
|
|
|
92
92
|
if (key in configDefaults) {
|
|
93
93
|
config.default = configDefaults[key];
|
|
94
94
|
}
|
|
95
|
+
if (["routes"].includes(key)) {
|
|
96
|
+
config.onChange = api.ConfigChangeType.regenerateTmpFiles;
|
|
97
|
+
}
|
|
95
98
|
api.registerPlugins([
|
|
96
99
|
{
|
|
97
100
|
id: `virtual: config-${key}`,
|
|
@@ -25,6 +25,7 @@ module.exports = __toCommonJS(schema_exports);
|
|
|
25
25
|
var import_utils = require("@umijs/utils");
|
|
26
26
|
function getSchemas() {
|
|
27
27
|
return {
|
|
28
|
+
analyze: (Joi) => Joi.object(),
|
|
28
29
|
base: (Joi) => Joi.string(),
|
|
29
30
|
conventionRoutes: (Joi) => Joi.object({
|
|
30
31
|
base: Joi.string(),
|
|
@@ -453,7 +453,7 @@ export default function EmptyRoute() {
|
|
|
453
453
|
path: "@@/core/terminal.ts"
|
|
454
454
|
});
|
|
455
455
|
}
|
|
456
|
-
if (api.appData.framework === "react") {
|
|
456
|
+
if (api.config.test !== false && api.appData.framework === "react") {
|
|
457
457
|
if (process.env.NODE_ENV === "test" || process.env.NODE_ENV === "development") {
|
|
458
458
|
exports.push(`export { TestBrowser } from './testBrowser';`);
|
|
459
459
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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/webpack/webpack.ts
|
|
20
|
+
var webpack_exports = {};
|
|
21
|
+
__export(webpack_exports, {
|
|
22
|
+
default: () => webpack_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(webpack_exports);
|
|
25
|
+
var webpack_default = (api) => {
|
|
26
|
+
api.describe({
|
|
27
|
+
key: "preset-umi:webpack",
|
|
28
|
+
enableBy: () => api.env === "production"
|
|
29
|
+
});
|
|
30
|
+
const assets = {
|
|
31
|
+
js: [],
|
|
32
|
+
css: []
|
|
33
|
+
};
|
|
34
|
+
class HtmlWebpackPlugin {
|
|
35
|
+
apply(compiler) {
|
|
36
|
+
compiler.hooks.emit.tapPromise("UmiHtmlGeneration", async (compilation) => {
|
|
37
|
+
const entryPointFiles = compilation.entrypoints.get("umi").getFiles();
|
|
38
|
+
const entryPointPublicPathMap = {};
|
|
39
|
+
const extensionRegexp = /\.(css|js|mjs)(\?|$)/;
|
|
40
|
+
const UMI_ASSETS_REG = {
|
|
41
|
+
js: /^umi(\..+)?\.js$/,
|
|
42
|
+
css: /^umi(\..+)?\.css$/
|
|
43
|
+
};
|
|
44
|
+
entryPointFiles.forEach((entryPointPublicPath) => {
|
|
45
|
+
const extMatch = extensionRegexp.exec(entryPointPublicPath);
|
|
46
|
+
if (!extMatch) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (entryPointPublicPath.includes(".hot-update")) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (entryPointPublicPathMap[entryPointPublicPath]) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (UMI_ASSETS_REG.js.test(entryPointPublicPath) || UMI_ASSETS_REG.css.test(entryPointPublicPath)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
entryPointPublicPathMap[entryPointPublicPath] = true;
|
|
59
|
+
const ext = extMatch[1] === "mjs" ? "js" : extMatch[1];
|
|
60
|
+
assets[ext].push(entryPointPublicPath);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
api.modifyWebpackConfig((config) => {
|
|
66
|
+
var _a;
|
|
67
|
+
(_a = config.plugins) == null ? void 0 : _a.push(new HtmlWebpackPlugin());
|
|
68
|
+
return config;
|
|
69
|
+
});
|
|
70
|
+
api.addHTMLStyles(() => {
|
|
71
|
+
const { publicPath } = api.config;
|
|
72
|
+
const displayPublicPath = publicPath === "auto" ? "/" : publicPath;
|
|
73
|
+
return assets.css.map((css) => {
|
|
74
|
+
return `${displayPublicPath}${css}`;
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
api.addHTMLHeadScripts(() => {
|
|
78
|
+
const { publicPath } = api.config;
|
|
79
|
+
const displayPublicPath = publicPath === "auto" ? "/" : publicPath;
|
|
80
|
+
return assets.js.map((js) => {
|
|
81
|
+
return `${displayPublicPath}${js}`;
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
+
0 && (module.exports = {});
|
package/dist/index.js
CHANGED
|
@@ -62,6 +62,7 @@ var src_default = () => {
|
|
|
62
62
|
require.resolve("./features/clickToComponent/clickToComponent"),
|
|
63
63
|
require.resolve("./features/legacy/legacy"),
|
|
64
64
|
require.resolve("./features/classPropertiesLoose/classPropertiesLoose"),
|
|
65
|
+
require.resolve("./features/webpack/webpack"),
|
|
65
66
|
require.resolve("./commands/build"),
|
|
66
67
|
require.resolve("./commands/config/config"),
|
|
67
68
|
require.resolve("./commands/dev/dev"),
|
package/dist/types.d.ts
CHANGED
|
@@ -55,6 +55,10 @@ export declare type IEntryImport = {
|
|
|
55
55
|
specifier?: string;
|
|
56
56
|
};
|
|
57
57
|
export declare type IRoute = ICoreRoute;
|
|
58
|
+
export declare type IFileInfo = Array<{
|
|
59
|
+
event: string;
|
|
60
|
+
path: string;
|
|
61
|
+
}>;
|
|
58
62
|
export declare type IApi = PluginAPI & IServicePluginAPI & {
|
|
59
63
|
addApiMiddlewares: IAdd<null, IApiMiddleware>;
|
|
60
64
|
addBeforeBabelPlugins: IAdd<null, any>;
|
|
@@ -161,10 +165,7 @@ export declare type IApi = PluginAPI & IServicePluginAPI & {
|
|
|
161
165
|
time: number;
|
|
162
166
|
}>;
|
|
163
167
|
onGenerateFiles: IEvent<{
|
|
164
|
-
files?:
|
|
165
|
-
event: string;
|
|
166
|
-
path: string;
|
|
167
|
-
} | null;
|
|
168
|
+
files?: IFileInfo | null;
|
|
168
169
|
isFirstTime?: boolean;
|
|
169
170
|
}>;
|
|
170
171
|
onPatchRoute: IEvent<{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umijs/preset-umi",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.35",
|
|
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",
|
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"test": "umi-scripts jest-turbo"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@umijs/ast": "4.0.
|
|
29
|
-
"@umijs/babel-preset-umi": "4.0.
|
|
30
|
-
"@umijs/bundler-utils": "4.0.
|
|
31
|
-
"@umijs/bundler-vite": "4.0.
|
|
32
|
-
"@umijs/bundler-webpack": "4.0.
|
|
33
|
-
"@umijs/core": "4.0.
|
|
28
|
+
"@umijs/ast": "4.0.35",
|
|
29
|
+
"@umijs/babel-preset-umi": "4.0.35",
|
|
30
|
+
"@umijs/bundler-utils": "4.0.35",
|
|
31
|
+
"@umijs/bundler-vite": "4.0.35",
|
|
32
|
+
"@umijs/bundler-webpack": "4.0.35",
|
|
33
|
+
"@umijs/core": "4.0.35",
|
|
34
34
|
"@umijs/did-you-know": "^1.0.0",
|
|
35
35
|
"@umijs/history": "5.3.1",
|
|
36
|
-
"@umijs/mfsu": "4.0.
|
|
37
|
-
"@umijs/plugin-run": "4.0.
|
|
38
|
-
"@umijs/renderer-react": "4.0.
|
|
39
|
-
"@umijs/server": "4.0.
|
|
40
|
-
"@umijs/utils": "4.0.
|
|
36
|
+
"@umijs/mfsu": "4.0.35",
|
|
37
|
+
"@umijs/plugin-run": "4.0.35",
|
|
38
|
+
"@umijs/renderer-react": "4.0.35",
|
|
39
|
+
"@umijs/server": "4.0.35",
|
|
40
|
+
"@umijs/utils": "4.0.35",
|
|
41
41
|
"babel-plugin-dynamic-import-node": "2.3.3",
|
|
42
42
|
"click-to-react-component": "^1.0.8",
|
|
43
43
|
"core-js": "3.22.4",
|
package/templates/umi.tpl
CHANGED
|
@@ -27,16 +27,24 @@ async function render() {
|
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
+
const contextOpts = pluginManager.applyPlugins({
|
|
31
|
+
key: 'modifyContextOpts',
|
|
32
|
+
type: ApplyPluginsType.modify,
|
|
33
|
+
initialValue: {},
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const basename = contextOpts.basename || '{{{ basename }}}';
|
|
37
|
+
|
|
38
|
+
const history = createHistory({
|
|
39
|
+
type: contextOpts.historyType || '{{{ historyType }}}',
|
|
40
|
+
basename,
|
|
41
|
+
...contextOpts.historyOpts,
|
|
42
|
+
});
|
|
43
|
+
|
|
30
44
|
return (pluginManager.applyPlugins({
|
|
31
45
|
key: 'render',
|
|
32
46
|
type: ApplyPluginsType.compose,
|
|
33
47
|
initialValue() {
|
|
34
|
-
const contextOpts = pluginManager.applyPlugins({
|
|
35
|
-
key: 'modifyContextOpts',
|
|
36
|
-
type: ApplyPluginsType.modify,
|
|
37
|
-
initialValue: {},
|
|
38
|
-
});
|
|
39
|
-
const basename = contextOpts.basename || '{{{ basename }}}';
|
|
40
48
|
const context = {
|
|
41
49
|
{{#hydrate}}
|
|
42
50
|
hydrate: true,
|
|
@@ -53,11 +61,7 @@ async function render() {
|
|
|
53
61
|
{{/loadingComponent}}
|
|
54
62
|
publicPath,
|
|
55
63
|
runtimePublicPath,
|
|
56
|
-
history
|
|
57
|
-
type: contextOpts.historyType || '{{{ historyType }}}',
|
|
58
|
-
basename,
|
|
59
|
-
...contextOpts.historyOpts,
|
|
60
|
-
}),
|
|
64
|
+
history,
|
|
61
65
|
basename,
|
|
62
66
|
callback: contextOpts.callback,
|
|
63
67
|
};
|