@umijs/mfsu 4.0.8 → 4.0.9
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/compiled/is-absolute-url/LICENSE +9 -0
- package/compiled/is-absolute-url/index.d.ts +22 -0
- package/compiled/is-absolute-url/index.js +1 -0
- package/compiled/is-absolute-url/package.json +1 -0
- package/dist/babelPlugins/awaitImport/MFImport.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/MFImport.js +0 -0
- package/dist/babelPlugins/awaitImport/awaitImport.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/awaitImport.js +0 -0
- package/dist/babelPlugins/awaitImport/checkMatch.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/checkMatch.js +129 -132
- package/dist/babelPlugins/awaitImport/getAliasedPath.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/getAliasedPath.js +0 -0
- package/dist/babelPlugins/awaitImport/getRealPath.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/getRealPath.js +0 -0
- package/dist/babelPlugins/awaitImport/isExternals.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/isExternals.js +0 -0
- package/dist/babelPlugins/awaitImport/parseSpecifiers.d.ts +0 -0
- package/dist/babelPlugins/awaitImport/parseSpecifiers.js +0 -0
- package/dist/constants.d.ts +0 -0
- package/dist/constants.js +0 -0
- package/dist/dep/dep.d.ts +0 -0
- package/dist/dep/dep.js +112 -83
- package/dist/dep/getCJSExports.d.ts +0 -0
- package/dist/dep/getCJSExports.js +0 -0
- package/dist/dep/getExposeFromContent.d.ts +0 -0
- package/dist/dep/getExposeFromContent.js +0 -0
- package/dist/dep/getModuleExports.d.ts +0 -0
- package/dist/dep/getModuleExports.js +0 -0
- package/dist/depBuilder/depBuilder.d.ts +0 -0
- package/dist/depBuilder/depBuilder.js +184 -158
- package/dist/depBuilder/getESBuildEntry.d.ts +0 -0
- package/dist/depBuilder/getESBuildEntry.js +0 -0
- package/dist/depInfo.d.ts +0 -0
- package/dist/depInfo.js +75 -53
- package/dist/esbuildHandlers/autoCssModules.d.ts +0 -0
- package/dist/esbuildHandlers/autoCssModules.js +43 -22
- package/dist/esbuildHandlers/awaitImport/index.d.ts +0 -0
- package/dist/esbuildHandlers/awaitImport/index.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/loader/esbuild.d.ts +0 -0
- package/dist/loader/esbuild.js +0 -0
- package/dist/mfsu/mfsu.d.ts +0 -0
- package/dist/mfsu/mfsu.js +231 -257
- package/dist/mfsu/strategyCompileTime.d.ts +0 -0
- package/dist/mfsu/strategyCompileTime.js +123 -99
- package/dist/mfsu/strategyStaticAnalyze.d.ts +0 -0
- package/dist/mfsu/strategyStaticAnalyze.js +135 -117
- package/dist/moduleGraph.d.ts +0 -0
- package/dist/moduleGraph.js +227 -186
- package/dist/staticDepInfo/importParser.d.ts +0 -0
- package/dist/staticDepInfo/importParser.js +0 -0
- package/dist/staticDepInfo/simulations/babel-plugin-import.d.ts +0 -0
- package/dist/staticDepInfo/simulations/babel-plugin-import.js +99 -91
- package/dist/staticDepInfo/staticDepInfo.d.ts +0 -0
- package/dist/staticDepInfo/staticDepInfo.js +230 -197
- package/dist/types.d.ts +0 -0
- package/dist/types.js +0 -0
- package/dist/utils/makeArray.d.ts +0 -0
- package/dist/utils/makeArray.js +0 -0
- package/dist/utils/trimFileContent.d.ts +0 -0
- package/dist/utils/trimFileContent.js +0 -0
- package/dist/webpackPlugins/buildDepPlugin.d.ts +0 -0
- package/dist/webpackPlugins/buildDepPlugin.js +0 -0
- package/dist/webpackPlugins/depChunkIdPrefixPlugin.d.ts +0 -0
- package/dist/webpackPlugins/depChunkIdPrefixPlugin.js +0 -0
- package/dist/webpackPlugins/stripSourceMapUrlPlugin.d.ts +0 -0
- package/dist/webpackPlugins/stripSourceMapUrlPlugin.js +0 -0
- package/dist/webpackPlugins/writeCachePlugin.d.ts +0 -0
- package/dist/webpackPlugins/writeCachePlugin.js +0 -0
- package/package.json +8 -6
package/dist/moduleGraph.js
CHANGED
|
@@ -1,197 +1,238 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
18
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __export = (target, all) => {
|
|
23
|
+
for (var name in all)
|
|
24
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
25
|
+
};
|
|
26
|
+
var __copyProps = (to, from, except, desc) => {
|
|
27
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
28
|
+
for (let key of __getOwnPropNames(from))
|
|
29
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
30
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
31
|
+
}
|
|
32
|
+
return to;
|
|
33
|
+
};
|
|
34
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
|
+
|
|
36
|
+
// moduleGraph.ts
|
|
37
|
+
var moduleGraph_exports = {};
|
|
38
|
+
__export(moduleGraph_exports, {
|
|
39
|
+
ModuleGraph: () => ModuleGraph
|
|
40
|
+
});
|
|
41
|
+
module.exports = __toCommonJS(moduleGraph_exports);
|
|
42
|
+
var import_utils = require("@umijs/utils");
|
|
43
|
+
var ModuleNode = class {
|
|
44
|
+
constructor(file) {
|
|
45
|
+
this.importers = /* @__PURE__ */ new Set();
|
|
46
|
+
this.importedModules = /* @__PURE__ */ new Set();
|
|
47
|
+
this.isDependency = false;
|
|
48
|
+
this.isRoot = false;
|
|
49
|
+
this.version = null;
|
|
50
|
+
this.file = file;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var ModuleGraph = class {
|
|
54
|
+
constructor() {
|
|
55
|
+
this.fileToModules = /* @__PURE__ */ new Map();
|
|
56
|
+
this.depToModules = /* @__PURE__ */ new Map();
|
|
57
|
+
this.depSnapshotModules = {};
|
|
58
|
+
this.rootModules = /* @__PURE__ */ new Set();
|
|
59
|
+
}
|
|
60
|
+
restore(data) {
|
|
61
|
+
const getModuleNode = (file) => {
|
|
62
|
+
if (this.fileToModules.has(file)) {
|
|
63
|
+
return this.fileToModules.get(file);
|
|
64
|
+
}
|
|
65
|
+
if (this.depToModules.has(file)) {
|
|
66
|
+
return this.depToModules.get(file);
|
|
67
|
+
}
|
|
68
|
+
const mod = new ModuleNode(file);
|
|
69
|
+
return mod;
|
|
70
|
+
};
|
|
71
|
+
const addNode = ({ file, importer }) => {
|
|
72
|
+
const mod = getModuleNode(file);
|
|
73
|
+
let isDependency = false;
|
|
74
|
+
let info;
|
|
75
|
+
if (data.fileModules[file]) {
|
|
76
|
+
info = data.fileModules[file];
|
|
77
|
+
} else if (data.depModules[file]) {
|
|
78
|
+
info = data.depModules[file];
|
|
79
|
+
isDependency = true;
|
|
80
|
+
}
|
|
81
|
+
if (info.isRoot)
|
|
82
|
+
mod.isRoot = true;
|
|
83
|
+
if (importer) {
|
|
84
|
+
mod.importers.add(importer);
|
|
85
|
+
if (!importer.importedModules.has(mod)) {
|
|
86
|
+
importer.importedModules.add(mod);
|
|
87
|
+
} else {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
mod.isDependency = isDependency;
|
|
92
|
+
if (info.version !== void 0) {
|
|
93
|
+
mod.version = info.version;
|
|
94
|
+
}
|
|
95
|
+
if (isDependency) {
|
|
96
|
+
this.depToModules.set(file, mod);
|
|
97
|
+
} else {
|
|
98
|
+
this.fileToModules.set(file, mod);
|
|
99
|
+
for (const importedModule of info.importedModules) {
|
|
100
|
+
addNode({ file: importedModule, importer: mod });
|
|
61
101
|
}
|
|
62
|
-
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
for (const root of data.roots) {
|
|
105
|
+
addNode({ file: root });
|
|
63
106
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
107
|
+
this.depSnapshotModules = data.depSnapshotModules;
|
|
108
|
+
}
|
|
109
|
+
toJSON() {
|
|
110
|
+
const roots = [];
|
|
111
|
+
const fileModules = {};
|
|
112
|
+
const depModules = {};
|
|
113
|
+
this.depToModules.forEach((value, key) => {
|
|
114
|
+
depModules[key] = {
|
|
115
|
+
version: value.version
|
|
116
|
+
};
|
|
117
|
+
});
|
|
118
|
+
this.fileToModules.forEach((value, key) => {
|
|
119
|
+
fileModules[key] = {
|
|
120
|
+
importedModules: Array.from(value.importedModules).map((item) => item.file)
|
|
121
|
+
};
|
|
122
|
+
if (value.isRoot) {
|
|
123
|
+
fileModules[key].isRoot = true;
|
|
124
|
+
roots.push(key);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
roots,
|
|
129
|
+
fileModules,
|
|
130
|
+
depModules,
|
|
131
|
+
depSnapshotModules: this.depSnapshotModules
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
snapshotDeps() {
|
|
135
|
+
this.depSnapshotModules = this.getDepsInfo(this.depToModules);
|
|
136
|
+
}
|
|
137
|
+
getDepsInfo(mods) {
|
|
138
|
+
return Array.from(mods.keys()).reduce((memo, key) => {
|
|
139
|
+
memo[key] = this.getDepInfo(mods.get(key));
|
|
140
|
+
return memo;
|
|
141
|
+
}, {});
|
|
142
|
+
}
|
|
143
|
+
getDepInfo(mod) {
|
|
144
|
+
return {
|
|
145
|
+
file: mod.file,
|
|
146
|
+
version: mod.version
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
hasDepChanged() {
|
|
150
|
+
const depModulesInfo = this.getDepsInfo(this.depToModules);
|
|
151
|
+
return !import_utils.lodash.isEqual(depModulesInfo, this.depSnapshotModules);
|
|
152
|
+
}
|
|
153
|
+
onFileChange(opts) {
|
|
154
|
+
if (this.fileToModules.has(opts.file)) {
|
|
155
|
+
const mod = this.fileToModules.get(opts.file);
|
|
156
|
+
this.updateModule({
|
|
157
|
+
mod,
|
|
158
|
+
deps: opts.deps
|
|
159
|
+
});
|
|
160
|
+
} else {
|
|
161
|
+
const mod = new ModuleNode(opts.file);
|
|
162
|
+
mod.isRoot = true;
|
|
163
|
+
this.fileToModules.set(opts.file, mod);
|
|
164
|
+
this.rootModules.add(mod);
|
|
165
|
+
opts.deps.forEach((dep) => {
|
|
166
|
+
this.addNode({
|
|
167
|
+
file: dep.file,
|
|
168
|
+
isDependency: dep.isDependency,
|
|
169
|
+
version: dep.version || null,
|
|
170
|
+
importer: mod
|
|
72
171
|
});
|
|
73
|
-
|
|
74
|
-
fileModules[key] = {
|
|
75
|
-
importedModules: Array.from(value.importedModules).map((item) => item.file),
|
|
76
|
-
};
|
|
77
|
-
if (value.isRoot) {
|
|
78
|
-
fileModules[key].isRoot = true;
|
|
79
|
-
roots.push(key);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
return {
|
|
83
|
-
roots,
|
|
84
|
-
fileModules,
|
|
85
|
-
depModules,
|
|
86
|
-
depSnapshotModules: this.depSnapshotModules,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
snapshotDeps() {
|
|
90
|
-
this.depSnapshotModules = this.getDepsInfo(this.depToModules);
|
|
172
|
+
});
|
|
91
173
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
174
|
+
}
|
|
175
|
+
updateModule(opts) {
|
|
176
|
+
const importedModulesMap = Array.from(opts.mod.importedModules).reduce((memo, mod) => {
|
|
177
|
+
memo[mod.file] = mod;
|
|
178
|
+
return memo;
|
|
179
|
+
}, {});
|
|
180
|
+
const newDeps = [];
|
|
181
|
+
for (const dep of opts.deps) {
|
|
182
|
+
if (importedModulesMap[dep.file]) {
|
|
183
|
+
if (dep.version !== void 0) {
|
|
184
|
+
importedModulesMap[dep.file].version = dep.version;
|
|
185
|
+
}
|
|
186
|
+
delete importedModulesMap[dep.file];
|
|
187
|
+
} else {
|
|
188
|
+
newDeps.push(dep);
|
|
189
|
+
}
|
|
97
190
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
191
|
+
Object.keys(importedModulesMap).forEach((key) => {
|
|
192
|
+
this.deleteNode({ mod: importedModulesMap[key], importer: opts.mod });
|
|
193
|
+
});
|
|
194
|
+
newDeps.forEach((dep) => {
|
|
195
|
+
this.addNode(__spreadProps(__spreadValues({}, dep), { importer: opts.mod }));
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
addNode(opts) {
|
|
199
|
+
const modules = opts.isDependency ? this.depToModules : this.fileToModules;
|
|
200
|
+
let mod;
|
|
201
|
+
if (modules.has(opts.file)) {
|
|
202
|
+
mod = modules.get(opts.file);
|
|
203
|
+
if (opts.version !== void 0)
|
|
204
|
+
mod.version = opts.version;
|
|
205
|
+
} else {
|
|
206
|
+
mod = new ModuleNode(opts.file);
|
|
207
|
+
mod.isDependency = opts.isDependency;
|
|
208
|
+
if (opts.version !== void 0)
|
|
209
|
+
mod.version = opts.version;
|
|
210
|
+
modules.set(opts.file, mod);
|
|
103
211
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return !utils_1.lodash.isEqual(depModulesInfo, this.depSnapshotModules);
|
|
212
|
+
if (!mod.importers.has(opts.importer)) {
|
|
213
|
+
mod.importers.add(opts.importer);
|
|
107
214
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const mod = this.fileToModules.get(opts.file);
|
|
111
|
-
this.updateModule({
|
|
112
|
-
mod,
|
|
113
|
-
deps: opts.deps,
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
const mod = new ModuleNode(opts.file);
|
|
118
|
-
mod.isRoot = true;
|
|
119
|
-
this.fileToModules.set(opts.file, mod);
|
|
120
|
-
this.rootModules.add(mod);
|
|
121
|
-
opts.deps.forEach((dep) => {
|
|
122
|
-
this.addNode({
|
|
123
|
-
file: dep.file,
|
|
124
|
-
isDependency: dep.isDependency,
|
|
125
|
-
version: dep.version || null,
|
|
126
|
-
importer: mod,
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
}
|
|
215
|
+
if (!opts.importer.importedModules.has(mod)) {
|
|
216
|
+
opts.importer.importedModules.add(mod);
|
|
130
217
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
delete importedModulesMap[dep.file];
|
|
144
|
-
}
|
|
145
|
-
// add
|
|
146
|
-
else {
|
|
147
|
-
newDeps.push(dep);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
Object.keys(importedModulesMap).forEach((key) => {
|
|
151
|
-
this.deleteNode({ mod: importedModulesMap[key], importer: opts.mod });
|
|
218
|
+
}
|
|
219
|
+
deleteNode(opts) {
|
|
220
|
+
const modules = opts.mod.isDependency ? this.depToModules : this.fileToModules;
|
|
221
|
+
const { mod, importer } = opts;
|
|
222
|
+
mod.importers.delete(opts.importer);
|
|
223
|
+
importer.importedModules.delete(mod);
|
|
224
|
+
if (!mod.importers.size) {
|
|
225
|
+
modules.delete(opts.mod.file);
|
|
226
|
+
mod.importedModules.forEach((importedModule) => {
|
|
227
|
+
this.deleteNode({
|
|
228
|
+
mod: importedModule,
|
|
229
|
+
importer: mod
|
|
152
230
|
});
|
|
153
|
-
|
|
154
|
-
this.addNode({ ...dep, importer: opts.mod });
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
addNode(opts) {
|
|
158
|
-
const modules = opts.isDependency ? this.depToModules : this.fileToModules;
|
|
159
|
-
let mod;
|
|
160
|
-
if (modules.has(opts.file)) {
|
|
161
|
-
mod = modules.get(opts.file);
|
|
162
|
-
if (opts.version !== undefined)
|
|
163
|
-
mod.version = opts.version;
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
mod = new ModuleNode(opts.file);
|
|
167
|
-
mod.isDependency = opts.isDependency;
|
|
168
|
-
if (opts.version !== undefined)
|
|
169
|
-
mod.version = opts.version;
|
|
170
|
-
modules.set(opts.file, mod);
|
|
171
|
-
}
|
|
172
|
-
if (!mod.importers.has(opts.importer)) {
|
|
173
|
-
mod.importers.add(opts.importer);
|
|
174
|
-
}
|
|
175
|
-
if (!opts.importer.importedModules.has(mod)) {
|
|
176
|
-
opts.importer.importedModules.add(mod);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
deleteNode(opts) {
|
|
180
|
-
const modules = opts.mod.isDependency
|
|
181
|
-
? this.depToModules
|
|
182
|
-
: this.fileToModules;
|
|
183
|
-
const { mod, importer } = opts;
|
|
184
|
-
mod.importers.delete(opts.importer);
|
|
185
|
-
importer.importedModules.delete(mod);
|
|
186
|
-
if (!mod.importers.size) {
|
|
187
|
-
modules.delete(opts.mod.file);
|
|
188
|
-
mod.importedModules.forEach((importedModule) => {
|
|
189
|
-
this.deleteNode({
|
|
190
|
-
mod: importedModule,
|
|
191
|
-
importer: mod,
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
}
|
|
231
|
+
});
|
|
195
232
|
}
|
|
196
|
-
}
|
|
197
|
-
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
236
|
+
0 && (module.exports = {
|
|
237
|
+
ModuleGraph
|
|
238
|
+
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,99 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
|
|
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 });
|
|
4
10
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
|
|
22
|
+
// babel-plugin-import.ts
|
|
23
|
+
var babel_plugin_import_exports = {};
|
|
24
|
+
__export(babel_plugin_import_exports, {
|
|
25
|
+
default: () => createHandle
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(babel_plugin_import_exports);
|
|
28
|
+
var import_utils = require("@umijs/utils");
|
|
29
|
+
var import_path = require("path");
|
|
30
|
+
var import_getAliasedPath = require("../../babelPlugins/awaitImport/getAliasedPath");
|
|
31
|
+
var import_importParser = __toESM(require("../importParser"));
|
|
10
32
|
function createHandle(importOptions) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const importedVariable = new Set();
|
|
63
|
-
for (const i of parsedImports) {
|
|
64
|
-
i.imports.forEach((v) => {
|
|
65
|
-
if (v === '*') {
|
|
66
|
-
errorLogForSpaceImport(libraryName);
|
|
67
|
-
}
|
|
68
|
-
importedVariable.add(v);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
const mfName = opts.mfName;
|
|
72
|
-
for (const v of importedVariable.entries()) {
|
|
73
|
-
const importVariableName = v[0];
|
|
74
|
-
if (importVariableName === 'default') {
|
|
75
|
-
addToMatches((0, path_1.join)(libraryName, libraryDirectory));
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
const transformedName = transformName(importVariableName);
|
|
79
|
-
const importFsPath = (0, path_1.join)(libraryName, libraryDirectory, transformedName);
|
|
80
|
-
addToMatches(importFsPath);
|
|
81
|
-
}
|
|
82
|
-
return retMatched;
|
|
33
|
+
const { libraryName, libraryDirectory } = importOptions;
|
|
34
|
+
const useUnderline = importOptions.camel2UnderlineComponentName;
|
|
35
|
+
const useDash = importOptions.camel2DashComponentName ?? true;
|
|
36
|
+
const transformName = useUnderline ? (n) => transCamel(n, "_") : useDash ? (n) => transCamel(n, "-") : (n) => n;
|
|
37
|
+
const stylePathFromCompPath = importOptions.style === "css" ? (compFsPath) => (0, import_utils.winPath)((0, import_path.join)(compFsPath, "style/css")) : (compFsPath) => (0, import_utils.winPath)((0, import_path.join)(compFsPath, "style"));
|
|
38
|
+
return function handleImports(opts) {
|
|
39
|
+
const { imports, rawCode } = opts;
|
|
40
|
+
if ((imports == null ? void 0 : imports.length) > 0) {
|
|
41
|
+
let addToMatches = function(moduleFsPath) {
|
|
42
|
+
const unAliasedModulePath = (0, import_getAliasedPath.getAliasedPathWithLoopDetect)({
|
|
43
|
+
value: (0, import_utils.winPath)(moduleFsPath),
|
|
44
|
+
alias: opts.alias
|
|
45
|
+
});
|
|
46
|
+
retMatched.push({
|
|
47
|
+
isMatch: true,
|
|
48
|
+
value: unAliasedModulePath,
|
|
49
|
+
replaceValue: `${mfName}/${unAliasedModulePath}`,
|
|
50
|
+
version
|
|
51
|
+
});
|
|
52
|
+
const unAliasedStylePath = (0, import_getAliasedPath.getAliasedPathWithLoopDetect)({
|
|
53
|
+
value: stylePathFromCompPath(moduleFsPath),
|
|
54
|
+
alias: opts.alias
|
|
55
|
+
});
|
|
56
|
+
retMatched.push({
|
|
57
|
+
isMatch: true,
|
|
58
|
+
value: unAliasedStylePath,
|
|
59
|
+
replaceValue: `${mfName}/${unAliasedStylePath}`,
|
|
60
|
+
version
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const version = opts.pathToVersion(libraryName);
|
|
64
|
+
const importSnippets = imports.map(({ ss, se }) => {
|
|
65
|
+
return rawCode.slice(ss, se + 1);
|
|
66
|
+
}).join("\n");
|
|
67
|
+
const retMatched = [];
|
|
68
|
+
const parsedImports = (0, import_importParser.default)(importSnippets);
|
|
69
|
+
const importedVariable = /* @__PURE__ */ new Set();
|
|
70
|
+
for (const i of parsedImports) {
|
|
71
|
+
i.imports.forEach((v) => {
|
|
72
|
+
if (v === "*") {
|
|
73
|
+
errorLogForSpaceImport(libraryName);
|
|
74
|
+
}
|
|
75
|
+
importedVariable.add(v);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const mfName = opts.mfName;
|
|
79
|
+
for (const v of importedVariable.entries()) {
|
|
80
|
+
const importVariableName = v[0];
|
|
81
|
+
if (importVariableName === "default") {
|
|
82
|
+
addToMatches((0, import_path.join)(libraryName, libraryDirectory));
|
|
83
|
+
continue;
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
const transformedName = transformName(importVariableName);
|
|
86
|
+
const importFsPath = (0, import_path.join)(libraryName, libraryDirectory, transformedName);
|
|
87
|
+
addToMatches(importFsPath);
|
|
88
|
+
}
|
|
89
|
+
return retMatched;
|
|
90
|
+
}
|
|
91
|
+
return [];
|
|
92
|
+
};
|
|
86
93
|
}
|
|
87
|
-
exports.default = createHandle;
|
|
88
94
|
function transCamel(_str, symbol) {
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
const str = _str[0].toLowerCase() + _str.substr(1);
|
|
96
|
+
return str.replace(/([A-Z])/g, ($1) => `${symbol}${$1.toLowerCase()}`);
|
|
91
97
|
}
|
|
92
98
|
function errorLogForSpaceImport(libraryName) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
import_utils.logger.error(`"import * as ant from 'antd'" or "export * from '${libraryName}'" are not allowed in mfsu#strategy='eager'`);
|
|
100
|
+
import_utils.logger.error(`solutions:`);
|
|
101
|
+
import_utils.logger.error(` change to "import { Xxx } from '${libraryName}'" or`);
|
|
102
|
+
import_utils.logger.error(` "export { Xxx } from '${libraryName}'" syntax`);
|
|
103
|
+
import_utils.logger.error(` or use mfsu#strategy='normal' configuration`);
|
|
104
|
+
throw Error(`"import * as ant from 'antd'" not allowed in mfsu#version=4`);
|
|
99
105
|
}
|
|
106
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
+
0 && (module.exports = {});
|
|
File without changes
|