@umijs/preset-umi 4.0.62 → 4.0.64
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/features/clickToComponent/clickToComponent.js +1 -1
- package/dist/features/esbuildHelperChecker/esbuildHelperChecker.d.ts +6 -0
- package/dist/features/esbuildHelperChecker/esbuildHelperChecker.js +123 -0
- package/dist/features/mpa/mpa.js +18 -6
- package/dist/features/prepare/prepare.js +44 -9
- package/dist/features/ui/ui.js +109 -3
- package/dist/index.js +1 -0
- package/dist/types.d.ts +2 -0
- package/package.json +16 -14
- package/templates/defineApp.tpl +2 -2
|
@@ -46,7 +46,7 @@ var clickToComponent_default = (api) => {
|
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
|
-
enableBy: api.EnableBy.config
|
|
49
|
+
enableBy: api.env === "development" ? api.EnableBy.config : () => false
|
|
50
50
|
});
|
|
51
51
|
const pkgPath = (0, import_path.dirname)(require.resolve("click-to-react-component"));
|
|
52
52
|
api.modifyConfig((memo) => {
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/features/esbuildHelperChecker/esbuildHelperChecker.ts
|
|
30
|
+
var esbuildHelperChecker_exports = {};
|
|
31
|
+
__export(esbuildHelperChecker_exports, {
|
|
32
|
+
default: () => esbuildHelperChecker_default,
|
|
33
|
+
getGlobalVars: () => getGlobalVars
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(esbuildHelperChecker_exports);
|
|
36
|
+
var parser = __toESM(require("@umijs/bundler-utils/compiled/babel/parser"));
|
|
37
|
+
var t = __toESM(require("@umijs/bundler-utils/compiled/babel/types"));
|
|
38
|
+
var import_utils = require("@umijs/utils");
|
|
39
|
+
var import_assert = __toESM(require("assert"));
|
|
40
|
+
var import_fs = __toESM(require("fs"));
|
|
41
|
+
var import_path = __toESM(require("path"));
|
|
42
|
+
async function checkDir(opts) {
|
|
43
|
+
import_utils.logger.info(
|
|
44
|
+
`[esbuildHelperChecker] Checking esbuild helpers from your dist files...`
|
|
45
|
+
);
|
|
46
|
+
const jsFiles = import_fs.default.readdirSync(opts.dir).filter((file) => file.endsWith(".js"));
|
|
47
|
+
const varMap = {};
|
|
48
|
+
for (const jsFile of jsFiles) {
|
|
49
|
+
const vars = await getGlobalVars({
|
|
50
|
+
content: import_fs.default.readFileSync(import_path.default.join(opts.dir, jsFile), "utf-8")
|
|
51
|
+
});
|
|
52
|
+
for (const v of vars) {
|
|
53
|
+
varMap[v] = varMap[v] || [];
|
|
54
|
+
varMap[v].push(jsFile);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const conflicts = Object.keys(varMap).filter((v) => varMap[v].length > 1).map((v) => `${v} (${varMap[v].join(", ")})`);
|
|
58
|
+
if (conflicts.length) {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`Found conflicts in esbuild helpers: ${conflicts.join(
|
|
61
|
+
", "
|
|
62
|
+
)}, please set esbuildMinifyIIFE: true in your config file.`
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
import_utils.logger.info(`[esbuildHelperChecker] No conflicts found.`);
|
|
66
|
+
}
|
|
67
|
+
async function getGlobalVars(opts) {
|
|
68
|
+
const ast = parser.parse(opts.content, {
|
|
69
|
+
sourceType: "module",
|
|
70
|
+
sourceFilename: "foo.js",
|
|
71
|
+
plugins: []
|
|
72
|
+
});
|
|
73
|
+
const vars = [];
|
|
74
|
+
ast.program.body.forEach((node) => {
|
|
75
|
+
if (t.isVariableDeclaration(node)) {
|
|
76
|
+
node.declarations.forEach((declaration) => {
|
|
77
|
+
if (t.isVariableDeclarator(declaration)) {
|
|
78
|
+
if (t.isIdentifier(declaration.id)) {
|
|
79
|
+
vars.push(declaration.id.name);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return vars;
|
|
86
|
+
}
|
|
87
|
+
var esbuildHelperChecker_default = (api) => {
|
|
88
|
+
api.registerCommand({
|
|
89
|
+
name: "esbuildHelperChecker",
|
|
90
|
+
description: "check esbuild helper conflicts",
|
|
91
|
+
configResolveMode: "loose",
|
|
92
|
+
async fn({ args }) {
|
|
93
|
+
const targetDir = args._[0];
|
|
94
|
+
(0, import_assert.default)(targetDir, "target directory is required");
|
|
95
|
+
await checkDir({
|
|
96
|
+
dir: import_path.default.resolve(process.cwd(), targetDir)
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
api.onBuildComplete(async ({ err }) => {
|
|
101
|
+
if (err)
|
|
102
|
+
return;
|
|
103
|
+
const jsMinifier = api.config.jsMinifier || "esbuild";
|
|
104
|
+
if (jsMinifier !== "esbuild")
|
|
105
|
+
return;
|
|
106
|
+
if (api.config.esbuildMinifyIIFE)
|
|
107
|
+
return;
|
|
108
|
+
if (process.env.COMPRESS === "none")
|
|
109
|
+
return;
|
|
110
|
+
try {
|
|
111
|
+
await checkDir({
|
|
112
|
+
dir: api.paths.absOutputPath
|
|
113
|
+
});
|
|
114
|
+
} catch (e) {
|
|
115
|
+
import_utils.logger.fatal(import_utils.chalk.red(`[esbuildHelperChecker] ${e.message}`));
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
121
|
+
0 && (module.exports = {
|
|
122
|
+
getGlobalVars
|
|
123
|
+
});
|
package/dist/features/mpa/mpa.js
CHANGED
|
@@ -58,7 +58,8 @@ var mpa_default = (api) => {
|
|
|
58
58
|
memo.mpa = {
|
|
59
59
|
entry: await collectEntryWithTimeCount(
|
|
60
60
|
api.paths.absPagesPath,
|
|
61
|
-
api.config.mpa
|
|
61
|
+
api.config.mpa,
|
|
62
|
+
api.userConfig.mountElementId
|
|
62
63
|
)
|
|
63
64
|
};
|
|
64
65
|
return memo;
|
|
@@ -67,7 +68,8 @@ var mpa_default = (api) => {
|
|
|
67
68
|
if (!isFirstTime) {
|
|
68
69
|
api.appData.mpa.entry = await collectEntryWithTimeCount(
|
|
69
70
|
api.paths.absPagesPath,
|
|
70
|
-
api.config.mpa
|
|
71
|
+
api.config.mpa,
|
|
72
|
+
api.userConfig.mountElementId
|
|
71
73
|
);
|
|
72
74
|
}
|
|
73
75
|
const isReact18 = api.appData.react.version.startsWith("18.");
|
|
@@ -128,19 +130,29 @@ ${renderer}
|
|
|
128
130
|
return memo;
|
|
129
131
|
});
|
|
130
132
|
};
|
|
131
|
-
async function collectEntryWithTimeCount(root, opts) {
|
|
133
|
+
async function collectEntryWithTimeCount(root, opts, mountElementId) {
|
|
132
134
|
const d = new Date();
|
|
133
|
-
const entries = await collectEntry(root, opts);
|
|
135
|
+
const entries = await collectEntry(root, opts, mountElementId);
|
|
134
136
|
import_utils.logger.info(
|
|
135
137
|
`[MPA] Collect Entries in ${new Date().getTime() - d.getTime()}ms`
|
|
136
138
|
);
|
|
137
139
|
return entries;
|
|
138
140
|
}
|
|
139
|
-
|
|
141
|
+
function filterEntry(dir) {
|
|
142
|
+
if (!process.env.MPA_FILTER) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
const entries = process.env.MPA_FILTER.split(",");
|
|
146
|
+
return entries.includes(dir);
|
|
147
|
+
}
|
|
148
|
+
async function collectEntry(root, opts, mountElementId) {
|
|
140
149
|
return await (0, import_fs.readdirSync)(root).reduce(
|
|
141
150
|
async (memoP, dir) => {
|
|
142
151
|
var _a;
|
|
143
152
|
const memo = await memoP;
|
|
153
|
+
if (!filterEntry(dir)) {
|
|
154
|
+
return memo;
|
|
155
|
+
}
|
|
144
156
|
const absDir = (0, import_path.join)(root, dir);
|
|
145
157
|
if ((0, import_fs.existsSync)(absDir) && (0, import_fs.statSync)(absDir).isDirectory()) {
|
|
146
158
|
const indexFile = getIndexFile(absDir);
|
|
@@ -152,7 +164,7 @@ async function collectEntry(root, opts) {
|
|
|
152
164
|
name,
|
|
153
165
|
file: indexFile,
|
|
154
166
|
tmpFilePath: `mpa/${dir}${(0, import_path.extname)(indexFile)}`,
|
|
155
|
-
mountElementId: "root",
|
|
167
|
+
mountElementId: mountElementId || "root",
|
|
156
168
|
...globalConfig,
|
|
157
169
|
...config,
|
|
158
170
|
title: (globalConfig == null ? void 0 : globalConfig.title) || config.title || dir
|
|
@@ -35,16 +35,47 @@ module.exports = __toCommonJS(prepare_exports);
|
|
|
35
35
|
var import_utils = require("@umijs/utils");
|
|
36
36
|
var import_path = __toESM(require("path"));
|
|
37
37
|
var import_watch = require("../../commands/dev/watch");
|
|
38
|
+
var parser = (0, import_utils.importLazy)(
|
|
39
|
+
require.resolve("@umijs/es-module-parser")
|
|
40
|
+
);
|
|
38
41
|
var prepare_default = (api) => {
|
|
39
|
-
function updateAppdata(
|
|
40
|
-
|
|
42
|
+
function updateAppdata(prepareData) {
|
|
43
|
+
var _a;
|
|
44
|
+
const buildResult = import_utils.lodash.cloneDeep(prepareData.buildResult);
|
|
41
45
|
(buildResult.outputFiles || []).forEach((file) => {
|
|
42
46
|
file == null ? true : delete file.contents;
|
|
43
47
|
});
|
|
48
|
+
const nextFileImports = prepareData.fileImports ?? ((_a = api.appData.prepare) == null ? void 0 : _a.fileImports);
|
|
44
49
|
api.appData.prepare = {
|
|
45
|
-
buildResult
|
|
50
|
+
buildResult,
|
|
51
|
+
fileImports: nextFileImports
|
|
46
52
|
};
|
|
47
53
|
}
|
|
54
|
+
async function parseProjectImportSpecifiers(br) {
|
|
55
|
+
const files = (Object.keys(br.metafile.inputs) || []).filter(
|
|
56
|
+
import_utils.isJavaScriptFile
|
|
57
|
+
);
|
|
58
|
+
if (files.length === 0) {
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const start = Date.now();
|
|
63
|
+
const fileImports = await parser.parseFiles(
|
|
64
|
+
files.map((f) => import_path.default.join(api.paths.cwd, f))
|
|
65
|
+
);
|
|
66
|
+
api.telemetry.record({
|
|
67
|
+
name: "parse",
|
|
68
|
+
payload: { duration: Date.now() - start }
|
|
69
|
+
});
|
|
70
|
+
return fileImports;
|
|
71
|
+
} catch (e) {
|
|
72
|
+
api.telemetry.record({
|
|
73
|
+
name: "parse:error",
|
|
74
|
+
payload: {}
|
|
75
|
+
});
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
48
79
|
api.register({
|
|
49
80
|
key: "onGenerateFiles",
|
|
50
81
|
async fn({ isFirstTime }) {
|
|
@@ -67,13 +98,15 @@ var prepare_default = (api) => {
|
|
|
67
98
|
const buildResult = await build({
|
|
68
99
|
entryPoints: [entryFile],
|
|
69
100
|
watch: watch && {
|
|
70
|
-
onRebuildSuccess({ result }) {
|
|
71
|
-
|
|
72
|
-
|
|
101
|
+
async onRebuildSuccess({ result }) {
|
|
102
|
+
const fileImports2 = await parseProjectImportSpecifiers(result);
|
|
103
|
+
updateAppdata({ buildResult: result, fileImports: fileImports2 });
|
|
104
|
+
await api.applyPlugins({
|
|
73
105
|
key: "onPrepareBuildSuccess",
|
|
74
106
|
args: {
|
|
75
107
|
isWatch: true,
|
|
76
|
-
result
|
|
108
|
+
result,
|
|
109
|
+
fileImports: fileImports2
|
|
77
110
|
}
|
|
78
111
|
});
|
|
79
112
|
}
|
|
@@ -90,11 +123,13 @@ var prepare_default = (api) => {
|
|
|
90
123
|
(_a = buildResult.stop) == null ? void 0 : _a.call(buildResult);
|
|
91
124
|
});
|
|
92
125
|
}
|
|
93
|
-
|
|
126
|
+
const fileImports = await parseProjectImportSpecifiers(buildResult);
|
|
127
|
+
updateAppdata({ buildResult, fileImports });
|
|
94
128
|
await api.applyPlugins({
|
|
95
129
|
key: "onPrepareBuildSuccess",
|
|
96
130
|
args: {
|
|
97
|
-
result: buildResult
|
|
131
|
+
result: buildResult,
|
|
132
|
+
fileImports
|
|
98
133
|
}
|
|
99
134
|
});
|
|
100
135
|
},
|
package/dist/features/ui/ui.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
|
|
19
29
|
// src/features/ui/ui.ts
|
|
@@ -22,18 +32,114 @@ __export(ui_exports, {
|
|
|
22
32
|
default: () => ui_default
|
|
23
33
|
});
|
|
24
34
|
module.exports = __toCommonJS(ui_exports);
|
|
35
|
+
var import_utils = require("@umijs/utils");
|
|
36
|
+
var import_fs = __toESM(require("fs"));
|
|
37
|
+
var import_path = __toESM(require("path"));
|
|
38
|
+
var import_sirv = __toESM(require("../../../compiled/sirv"));
|
|
25
39
|
var ENTRY_PATH = "/__umi_ui/entry";
|
|
26
40
|
var ui_default = (api) => {
|
|
27
41
|
api.describe({
|
|
28
42
|
enableBy() {
|
|
29
|
-
return api.name === "dev" && api.
|
|
43
|
+
return api.name === "dev" && api.userConfig.ui;
|
|
44
|
+
},
|
|
45
|
+
config: {
|
|
46
|
+
schema({ zod }) {
|
|
47
|
+
return zod.object({});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const uiDir = import_path.default.dirname(require.resolve("@umijs/ui/package.json"));
|
|
52
|
+
api.onCheck(() => {
|
|
53
|
+
if (!import_fs.default.existsSync(import_path.default.join(uiDir, "dist"))) {
|
|
54
|
+
if ((0, import_utils.isLocalDev)()) {
|
|
55
|
+
throw new Error(
|
|
56
|
+
`@umijs/ui not built, please run 'pnpm ui:build' first.`
|
|
57
|
+
);
|
|
58
|
+
} else {
|
|
59
|
+
throw new Error(`@umijs/ui not found, please fill an issue on github.`);
|
|
60
|
+
}
|
|
30
61
|
}
|
|
31
62
|
});
|
|
32
63
|
api.onBeforeMiddleware(({ app }) => {
|
|
33
|
-
app.use(
|
|
34
|
-
|
|
64
|
+
app.use(
|
|
65
|
+
ENTRY_PATH,
|
|
66
|
+
(0, import_sirv.default)(import_path.default.join(uiDir, "dist"), {
|
|
67
|
+
etag: true,
|
|
68
|
+
dev: true,
|
|
69
|
+
single: true
|
|
70
|
+
})
|
|
71
|
+
);
|
|
72
|
+
});
|
|
73
|
+
api.addHTMLStyles(() => {
|
|
74
|
+
return [
|
|
75
|
+
`
|
|
76
|
+
#umi-ui-container.umi-ui-container-show {
|
|
77
|
+
display: block;
|
|
78
|
+
}
|
|
79
|
+
#umi-ui-container {
|
|
80
|
+
position: fixed;
|
|
81
|
+
bottom: 10px;
|
|
82
|
+
left: calc(10vw + 10px);
|
|
83
|
+
height: calc(75vh - 20px);
|
|
84
|
+
width: calc(80vw - 20px);
|
|
85
|
+
display: none;
|
|
86
|
+
border-radius: .5rem;
|
|
87
|
+
z-index: 2147483646;
|
|
88
|
+
}
|
|
89
|
+
#umi-ui-toggle-btn {
|
|
90
|
+
width: 40px;
|
|
91
|
+
height: 40px;
|
|
92
|
+
position: fixed;
|
|
93
|
+
left: 50%;
|
|
94
|
+
bottom: -20px;
|
|
95
|
+
transform: translateX(-50%);
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
display: flex;
|
|
98
|
+
background-size: 100% 100%;
|
|
99
|
+
background-image: url('data:image/png;base64,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');
|
|
100
|
+
transition: bottom 0.1s linear;
|
|
101
|
+
z-index: 2147483647;
|
|
102
|
+
}
|
|
103
|
+
#umi-ui-toggle-btn:hover {
|
|
104
|
+
bottom: 0px;
|
|
105
|
+
}
|
|
106
|
+
#umi-ui-iframe {
|
|
107
|
+
width: 100%;
|
|
108
|
+
height: 100%;
|
|
109
|
+
outline: none;
|
|
110
|
+
border: 1px solid rgba(125,125,125,0.2);
|
|
111
|
+
border-radius: 0.5rem;
|
|
112
|
+
}
|
|
113
|
+
`
|
|
114
|
+
];
|
|
115
|
+
});
|
|
116
|
+
api.onGenerateFiles(({ isFirstTime }) => {
|
|
117
|
+
if (!isFirstTime)
|
|
118
|
+
return;
|
|
119
|
+
api.writeTmpFile({
|
|
120
|
+
path: "core/ui.ts",
|
|
121
|
+
noPluginDir: true,
|
|
122
|
+
content: `
|
|
123
|
+
// button and iframe
|
|
124
|
+
const container = document.createElement('div')
|
|
125
|
+
container.id = 'umi-ui-container';
|
|
126
|
+
const iframe = document.createElement('iframe');
|
|
127
|
+
iframe.id = 'umi-ui-iframe';
|
|
128
|
+
iframe.src = '${process.env.DEBUG_UMI_UI_PATH || ENTRY_PATH}';
|
|
129
|
+
const uiBtn = document.createElement('div');
|
|
130
|
+
uiBtn.id = 'umi-ui-toggle-btn';
|
|
131
|
+
container.appendChild(iframe);
|
|
132
|
+
document.body.appendChild(uiBtn);
|
|
133
|
+
document.body.appendChild(container);
|
|
134
|
+
uiBtn.addEventListener('click', () => {
|
|
135
|
+
container.classList.toggle('umi-ui-container-show');
|
|
136
|
+
});
|
|
137
|
+
`
|
|
35
138
|
});
|
|
36
139
|
});
|
|
140
|
+
api.addEntryImports(() => {
|
|
141
|
+
return [{ source: "@@/core/ui" }];
|
|
142
|
+
});
|
|
37
143
|
};
|
|
38
144
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
145
|
0 && (module.exports = {});
|
package/dist/index.js
CHANGED
|
@@ -48,6 +48,7 @@ var src_default = () => {
|
|
|
48
48
|
require.resolve("./features/crossorigin/crossorigin"),
|
|
49
49
|
require.resolve("./features/depsOnDemand/depsOnDemand"),
|
|
50
50
|
require.resolve("./features/devTool/devTool"),
|
|
51
|
+
require.resolve("./features/esbuildHelperChecker/esbuildHelperChecker"),
|
|
51
52
|
require.resolve("./features/esmi/esmi"),
|
|
52
53
|
require.resolve("./features/exportStatic/exportStatic"),
|
|
53
54
|
require.resolve("./features/favicons/favicons"),
|
package/dist/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { createWebSocketServer } from '@umijs/bundler-webpack/dist/server/ws';
|
|
|
6
6
|
import type { IConfig } from '@umijs/bundler-webpack/dist/types';
|
|
7
7
|
import type { IAdd, IEvent, IModify, IRoute as ICoreRoute, IServicePluginAPI, PluginAPI } from '@umijs/core';
|
|
8
8
|
import { Env } from '@umijs/core';
|
|
9
|
+
import type { Declaration } from '@umijs/es-module-parser';
|
|
9
10
|
import type { getMarkup } from '@umijs/server';
|
|
10
11
|
import type { CheerioAPI } from '@umijs/utils/compiled/cheerio';
|
|
11
12
|
import type { InlineConfig as ViteInlineConfig } from 'vite';
|
|
@@ -188,6 +189,7 @@ export declare type IApi = PluginAPI & IServicePluginAPI & {
|
|
|
188
189
|
origin: Record<string, any>;
|
|
189
190
|
}>;
|
|
190
191
|
onPrepareBuildSuccess: IEvent<{
|
|
192
|
+
fileImports?: Record<string, Declaration[]>;
|
|
191
193
|
isWatch: boolean;
|
|
192
194
|
result: ESBuildBuildResult;
|
|
193
195
|
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umijs/preset-umi",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.64",
|
|
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",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@iconify/utils": "2.1.1",
|
|
23
23
|
"@svgr/core": "6.5.1",
|
|
24
|
+
"@umijs/es-module-parser": "0.0.7",
|
|
24
25
|
"@umijs/history": "5.3.1",
|
|
25
26
|
"babel-plugin-dynamic-import-node": "2.3.3",
|
|
26
27
|
"click-to-react-component": "^1.0.8",
|
|
@@ -36,19 +37,20 @@
|
|
|
36
37
|
"react-router": "6.3.0",
|
|
37
38
|
"react-router-dom": "6.3.0",
|
|
38
39
|
"regenerator-runtime": "0.13.11",
|
|
39
|
-
"@umijs/
|
|
40
|
-
"@umijs/
|
|
41
|
-
"@umijs/
|
|
42
|
-
"@umijs/
|
|
43
|
-
"@umijs/bundler-
|
|
44
|
-
"@umijs/
|
|
45
|
-
"@umijs/
|
|
46
|
-
"@umijs/
|
|
47
|
-
"@umijs/
|
|
48
|
-
"@umijs/
|
|
49
|
-
"@umijs/
|
|
50
|
-
"@umijs/
|
|
51
|
-
"@umijs/did-you-know": "1.0.3"
|
|
40
|
+
"@umijs/ast": "4.0.64",
|
|
41
|
+
"@umijs/babel-preset-umi": "4.0.64",
|
|
42
|
+
"@umijs/bundler-webpack": "4.0.64",
|
|
43
|
+
"@umijs/bundler-utils": "4.0.64",
|
|
44
|
+
"@umijs/bundler-vite": "4.0.64",
|
|
45
|
+
"@umijs/core": "4.0.64",
|
|
46
|
+
"@umijs/mfsu": "4.0.64",
|
|
47
|
+
"@umijs/plugin-run": "4.0.64",
|
|
48
|
+
"@umijs/renderer-react": "4.0.64",
|
|
49
|
+
"@umijs/server": "4.0.64",
|
|
50
|
+
"@umijs/zod2ts": "4.0.64",
|
|
51
|
+
"@umijs/utils": "4.0.64",
|
|
52
|
+
"@umijs/did-you-know": "1.0.3",
|
|
53
|
+
"@umijs/ui": "3.0.0-alpha.0"
|
|
52
54
|
},
|
|
53
55
|
"devDependencies": {
|
|
54
56
|
"@manypkg/get-packages": "1.1.3",
|
package/templates/defineApp.tpl
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{{ beforeImport }}}
|
|
2
2
|
interface IDefaultRuntimeConfig {
|
|
3
|
-
onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action:any }) => void;
|
|
3
|
+
onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action: any, isFirst: boolean }) => void;
|
|
4
4
|
patchRoutes?: (props: { routes: any }) => void;
|
|
5
5
|
patchClientRoutes?: (props: { routes: any }) => void;
|
|
6
6
|
render?: (oldRender: () => void) => void;
|
|
@@ -11,4 +11,4 @@ interface IDefaultRuntimeConfig {
|
|
|
11
11
|
|
|
12
12
|
export function defineApp(config: RuntimeConfig): RuntimeConfig {
|
|
13
13
|
return config;
|
|
14
|
-
}
|
|
14
|
+
}
|