@dcloudio/uni-cli-shared 3.0.0-5010520260709002 → 3.0.0-5020320260806002
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/dom2/vue.d.ts +0 -1
- package/dist/dom2/vue.js +1 -14
- package/dist/hbx/alias.js +16 -18
- package/dist/json/app/pages/definePage.js +3 -1
- package/dist/json/mp/index.d.ts +2 -0
- package/dist/json/mp/index.js +23 -1
- package/dist/json/mp/jsonFile.d.ts +3 -2
- package/dist/json/mp/jsonFile.js +83 -13
- package/dist/json/mp/pages.d.ts +1 -0
- package/dist/json/mp/pages.js +6 -2
- package/dist/json/mp/subpackage.d.ts +26 -0
- package/dist/json/mp/subpackage.js +236 -0
- package/dist/logs/console.js +4 -1
- package/dist/messages/en.d.ts +2 -0
- package/dist/messages/en.js +2 -0
- package/dist/messages/index.d.ts +4 -0
- package/dist/messages/zh_CN.d.ts +2 -0
- package/dist/messages/zh_CN.js +2 -0
- package/dist/mp/usingComponents.d.ts +7 -5
- package/dist/mp/usingComponents.js +63 -34
- package/dist/resolve.d.ts +1 -0
- package/dist/resolve.js +9 -2
- package/dist/uts.d.ts +0 -1
- package/dist/uts.js +1 -31
- package/dist/vite/plugins/cssScoped.js +11 -2
- package/dist/vite/plugins/easycom.js +3 -1
- package/dist/vite/plugins/inject.js +7 -2
- package/dist/vite/plugins/jsonJs.js +41 -3
- package/dist/vite/plugins/sfc.js +4 -1
- package/dist/vite/plugins/vitejs/plugins/asset.js +14 -1
- package/dist/vite/plugins/vitejs/plugins/css.js +35 -1
- package/dist/vue/transforms/index.js +1 -1
- package/dist/x.d.ts +1 -0
- package/dist/x.js +5 -1
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.cjs.js +11 -9
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.cjs.prod.js +11 -9
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.d.ts +13 -1
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.esm-bundler.js +8 -7
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.cjs.js +1 -1
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +1 -1
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.esm-browser.js +8 -7
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.esm-browser.prod.js +5 -5
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js +1 -1
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.global.js +8 -7
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.global.prod.js +5 -5
- package/lib/dom2/app/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +4772 -1513
- package/lib/dom2/app/@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js +3209 -1754
- package/lib/dom2/app/@vue/compiler-vapor/dist/compiler-vapor.cjs.js +1471 -395
- package/lib/dom2/app/@vue/compiler-vapor/dist/compiler-vapor.d.ts +143 -119
- package/lib/dom2/app/@vue/compiler-vapor/dist/compiler-vapor.esm-browser.js +1576 -470
- package/lib/dom2/app/@vue/compiler-vapor-dom2/dist/compiler-vapor-dom2.cjs.js +1 -1
- package/lib/dom2/app/@vue/shared/dist/shared.cjs.js +77 -2
- package/lib/dom2/app/@vue/shared/dist/shared.cjs.prod.js +77 -2
- package/lib/dom2/app/@vue/shared/dist/shared.d.ts +89 -2
- package/lib/dom2/app/@vue/shared/dist/shared.esm-bundler.js +74 -3
- package/package.json +5 -5
|
@@ -0,0 +1,236 @@
|
|
|
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.parseIndependentVirtualRoot = exports.parseIndependentMainRoot = exports.formatIndependentVirtualId = exports.hasIndependentRoot = exports.withoutIndependentRoot = exports.withIndependentRoot = exports.parseIndependentRoot = exports.normalizeIndependentRoot = exports.stringifyIndependentRoots = exports.isAppPagesJson = exports.isInIndependentRoot = exports.withIndependentRootIfNeeded = exports.resolveIndependentRoot = exports.getIndependentRootByFilename = exports.getIndependentRoots = exports.getIndependentSubPackages = exports.setIndependentSubPackages = exports.parseIndependentSubPackages = exports.MP_INDEPENDENT_VIRTUAL_ROOT_QUERY = exports.MP_INDEPENDENT_MAIN_PREFIX = exports.MP_INDEPENDENT_ROOT_QUERY = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
exports.MP_INDEPENDENT_ROOT_QUERY = 'uni_mp_independent_root';
|
|
10
|
+
exports.MP_INDEPENDENT_MAIN_PREFIX = '\0uni:mp-independent-main';
|
|
11
|
+
exports.MP_INDEPENDENT_VIRTUAL_ROOT_QUERY = 'root';
|
|
12
|
+
function parseIndependentSubPackages(pagesJson) {
|
|
13
|
+
if (!pagesJson) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const subPackages = pagesJson.subPackages || pagesJson.subpackages || [];
|
|
17
|
+
if (!Array.isArray(subPackages)) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
return subPackages.reduce((packages, subPackage) => {
|
|
21
|
+
if (!subPackage || subPackage.independent !== true) {
|
|
22
|
+
return packages;
|
|
23
|
+
}
|
|
24
|
+
const root = normalizeSubPackageRoot(subPackage.root);
|
|
25
|
+
const pages = normalizeSubPackagePages(subPackage.pages);
|
|
26
|
+
if (!root || !pages.length) {
|
|
27
|
+
return packages;
|
|
28
|
+
}
|
|
29
|
+
packages.push({
|
|
30
|
+
root,
|
|
31
|
+
pages,
|
|
32
|
+
independent: true,
|
|
33
|
+
});
|
|
34
|
+
return packages;
|
|
35
|
+
}, []);
|
|
36
|
+
}
|
|
37
|
+
exports.parseIndependentSubPackages = parseIndependentSubPackages;
|
|
38
|
+
let independentSubPackages = [];
|
|
39
|
+
let independentRootMatchers = [];
|
|
40
|
+
function setIndependentSubPackages(packages) {
|
|
41
|
+
independentSubPackages = packages.reduce((result, pkg) => {
|
|
42
|
+
const root = normalizeIndependentRoot(pkg.root);
|
|
43
|
+
if (root) {
|
|
44
|
+
result.push({
|
|
45
|
+
...pkg,
|
|
46
|
+
root,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}, []);
|
|
51
|
+
independentRootMatchers = independentSubPackages
|
|
52
|
+
.map(({ root }) => ({
|
|
53
|
+
root,
|
|
54
|
+
normalizedRoot: root,
|
|
55
|
+
}))
|
|
56
|
+
.sort((a, b) => b.normalizedRoot.length - a.normalizedRoot.length);
|
|
57
|
+
}
|
|
58
|
+
exports.setIndependentSubPackages = setIndependentSubPackages;
|
|
59
|
+
function getIndependentSubPackages() {
|
|
60
|
+
return independentSubPackages;
|
|
61
|
+
}
|
|
62
|
+
exports.getIndependentSubPackages = getIndependentSubPackages;
|
|
63
|
+
function getIndependentRoots() {
|
|
64
|
+
return new Set(independentSubPackages.map(({ root }) => root));
|
|
65
|
+
}
|
|
66
|
+
exports.getIndependentRoots = getIndependentRoots;
|
|
67
|
+
function getIndependentRootByFilename(filename, inputDir) {
|
|
68
|
+
const cleanFilename = splitIdQuery(withoutIndependentRoot(filename)).filename;
|
|
69
|
+
if (!inputDir || !path_1.default.isAbsolute(cleanFilename)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const relativeFilename = (0, utils_1.normalizePath)(path_1.default.relative(inputDir, cleanFilename));
|
|
73
|
+
const matcher = independentRootMatchers.find(({ normalizedRoot }) => {
|
|
74
|
+
return (relativeFilename === normalizedRoot ||
|
|
75
|
+
relativeFilename.startsWith(`${normalizedRoot}/`));
|
|
76
|
+
});
|
|
77
|
+
return matcher?.root;
|
|
78
|
+
}
|
|
79
|
+
exports.getIndependentRootByFilename = getIndependentRootByFilename;
|
|
80
|
+
function resolveIndependentRoot(id, importer, inputDir, platform) {
|
|
81
|
+
if (!platform?.startsWith('mp-')) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const root = parseIndependentRoot(id) ||
|
|
85
|
+
(importer
|
|
86
|
+
? parseIndependentRoot(importer) ||
|
|
87
|
+
getIndependentRootByFilename(importer, inputDir)
|
|
88
|
+
: undefined);
|
|
89
|
+
const normalizedRoot = root && normalizeIndependentRoot(root);
|
|
90
|
+
if (normalizedRoot && getIndependentRoots().has(normalizedRoot)) {
|
|
91
|
+
return normalizedRoot;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.resolveIndependentRoot = resolveIndependentRoot;
|
|
95
|
+
function withIndependentRootIfNeeded(id, root, inputDir) {
|
|
96
|
+
if (!root ||
|
|
97
|
+
!inputDir ||
|
|
98
|
+
parseIndependentRoot(id) ||
|
|
99
|
+
isIndependentStyleRequest(id)) {
|
|
100
|
+
return id;
|
|
101
|
+
}
|
|
102
|
+
if (isInIndependentRoot(id, inputDir, root) || isAppPagesJson(id, inputDir)) {
|
|
103
|
+
return withIndependentRoot(id, root);
|
|
104
|
+
}
|
|
105
|
+
return id;
|
|
106
|
+
}
|
|
107
|
+
exports.withIndependentRootIfNeeded = withIndependentRootIfNeeded;
|
|
108
|
+
function isInIndependentRoot(filename, inputDir, root) {
|
|
109
|
+
const cleanFilename = (0, utils_1.normalizePath)(withoutIndependentRoot(filename)).split('?')[0];
|
|
110
|
+
const normalizedInputDir = (0, utils_1.normalizePath)(inputDir);
|
|
111
|
+
const normalizedRoot = normalizeIndependentRoot(root);
|
|
112
|
+
const rootDir = `${normalizedInputDir}/${normalizedRoot}`;
|
|
113
|
+
return cleanFilename === rootDir || cleanFilename.startsWith(`${rootDir}/`);
|
|
114
|
+
}
|
|
115
|
+
exports.isInIndependentRoot = isInIndependentRoot;
|
|
116
|
+
function isAppPagesJson(filename, inputDir) {
|
|
117
|
+
const cleanFilename = (0, utils_1.normalizePath)(withoutIndependentRoot(filename)).split('?')[0];
|
|
118
|
+
const pagesJson = (0, utils_1.normalizePath)(path_1.default.join(inputDir, 'pages.json'));
|
|
119
|
+
// uni-app x 的 UTS resolver 会把 JSON 文件映射为 .json.ts 参与类型编译。
|
|
120
|
+
return cleanFilename === pagesJson || cleanFilename === `${pagesJson}.ts`;
|
|
121
|
+
}
|
|
122
|
+
exports.isAppPagesJson = isAppPagesJson;
|
|
123
|
+
function stringifyIndependentRoots(packages) {
|
|
124
|
+
return packages
|
|
125
|
+
.map(({ root }) => normalizeIndependentRoot(root))
|
|
126
|
+
.filter(Boolean)
|
|
127
|
+
.sort()
|
|
128
|
+
.join('\n');
|
|
129
|
+
}
|
|
130
|
+
exports.stringifyIndependentRoots = stringifyIndependentRoots;
|
|
131
|
+
function normalizeIndependentRoot(root) {
|
|
132
|
+
return (0, utils_1.normalizePath)(root).replace(/^\/+|\/+$/g, '');
|
|
133
|
+
}
|
|
134
|
+
exports.normalizeIndependentRoot = normalizeIndependentRoot;
|
|
135
|
+
function isIndependentStyleRequest(id) {
|
|
136
|
+
const cleanId = withoutIndependentRoot(id);
|
|
137
|
+
// 这里保持独立判断,避免 json/mp 基础能力反向依赖 Vite CSS 插件实现。
|
|
138
|
+
return /\.(?:css|less|sass|scss|styl|stylus|pcss|postcss)(?:$|\?)/.test(cleanId);
|
|
139
|
+
}
|
|
140
|
+
function normalizeSubPackageRoot(root) {
|
|
141
|
+
if (typeof root !== 'string') {
|
|
142
|
+
return '';
|
|
143
|
+
}
|
|
144
|
+
return normalizeIndependentRoot(root.trim());
|
|
145
|
+
}
|
|
146
|
+
function normalizeSubPackagePages(pages) {
|
|
147
|
+
if (!Array.isArray(pages)) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
return pages.reduce((paths, page) => {
|
|
151
|
+
if (typeof page === 'string' && page) {
|
|
152
|
+
paths.push((0, utils_1.normalizePath)(page));
|
|
153
|
+
}
|
|
154
|
+
else if (page && typeof page.path === 'string' && page.path) {
|
|
155
|
+
paths.push((0, utils_1.normalizePath)(page.path));
|
|
156
|
+
}
|
|
157
|
+
return paths;
|
|
158
|
+
}, []);
|
|
159
|
+
}
|
|
160
|
+
function parseIndependentRoot(id) {
|
|
161
|
+
const query = splitIdQuery(id).query;
|
|
162
|
+
if (!query) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
for (const item of query.split('&')) {
|
|
166
|
+
const [name, value = ''] = splitQueryItem(item);
|
|
167
|
+
if (name === exports.MP_INDEPENDENT_ROOT_QUERY) {
|
|
168
|
+
return decodeURIComponent(value);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.parseIndependentRoot = parseIndependentRoot;
|
|
173
|
+
function withIndependentRoot(id, root) {
|
|
174
|
+
const cleanId = withoutIndependentRoot(id);
|
|
175
|
+
const { filename, query } = splitIdQuery(cleanId);
|
|
176
|
+
const rootQuery = `${exports.MP_INDEPENDENT_ROOT_QUERY}=${encodeURIComponent(root)}`;
|
|
177
|
+
return `${(0, utils_1.normalizePath)(filename)}?${query ? query + '&' : ''}${rootQuery}`;
|
|
178
|
+
}
|
|
179
|
+
exports.withIndependentRoot = withIndependentRoot;
|
|
180
|
+
function withoutIndependentRoot(id) {
|
|
181
|
+
const { filename, query } = splitIdQuery(id);
|
|
182
|
+
if (!query) {
|
|
183
|
+
return id;
|
|
184
|
+
}
|
|
185
|
+
const nextQuery = query
|
|
186
|
+
.split('&')
|
|
187
|
+
.filter((item) => splitQueryItem(item)[0] !== exports.MP_INDEPENDENT_ROOT_QUERY)
|
|
188
|
+
.join('&');
|
|
189
|
+
return nextQuery ? `${filename}?${nextQuery}` : filename;
|
|
190
|
+
}
|
|
191
|
+
exports.withoutIndependentRoot = withoutIndependentRoot;
|
|
192
|
+
function hasIndependentRoot(id) {
|
|
193
|
+
return parseIndependentRoot(id) !== undefined;
|
|
194
|
+
}
|
|
195
|
+
exports.hasIndependentRoot = hasIndependentRoot;
|
|
196
|
+
function formatIndependentVirtualId(prefix, root) {
|
|
197
|
+
return `${prefix}?${exports.MP_INDEPENDENT_VIRTUAL_ROOT_QUERY}=${encodeURIComponent(root)}`;
|
|
198
|
+
}
|
|
199
|
+
exports.formatIndependentVirtualId = formatIndependentVirtualId;
|
|
200
|
+
function parseIndependentMainRoot(id) {
|
|
201
|
+
return parseIndependentVirtualRoot(id, exports.MP_INDEPENDENT_MAIN_PREFIX);
|
|
202
|
+
}
|
|
203
|
+
exports.parseIndependentMainRoot = parseIndependentMainRoot;
|
|
204
|
+
function parseIndependentVirtualRoot(id, prefix) {
|
|
205
|
+
if (!id.startsWith(`${prefix}?`)) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const { query } = splitIdQuery(id);
|
|
209
|
+
if (!query) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
for (const item of query.split('&')) {
|
|
213
|
+
const [name, value = ''] = splitQueryItem(item);
|
|
214
|
+
if (name === exports.MP_INDEPENDENT_VIRTUAL_ROOT_QUERY) {
|
|
215
|
+
return decodeURIComponent(value);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
exports.parseIndependentVirtualRoot = parseIndependentVirtualRoot;
|
|
220
|
+
function splitIdQuery(id) {
|
|
221
|
+
const queryIndex = id.indexOf('?');
|
|
222
|
+
if (queryIndex === -1) {
|
|
223
|
+
return { filename: id, query: '' };
|
|
224
|
+
}
|
|
225
|
+
return {
|
|
226
|
+
filename: id.slice(0, queryIndex),
|
|
227
|
+
query: id.slice(queryIndex + 1),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function splitQueryItem(item) {
|
|
231
|
+
const equalIndex = item.indexOf('=');
|
|
232
|
+
if (equalIndex === -1) {
|
|
233
|
+
return [item, ''];
|
|
234
|
+
}
|
|
235
|
+
return [item.slice(0, equalIndex), item.slice(equalIndex + 1)];
|
|
236
|
+
}
|
package/dist/logs/console.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.appendConsoleExpr = exports.restoreConsoleExpr = exports.rewriteConsoleExpr = void 0;
|
|
7
7
|
const magic_string_1 = __importDefault(require("magic-string"));
|
|
8
8
|
const utils_1 = require("../utils");
|
|
9
|
+
const x_1 = require("../x");
|
|
9
10
|
function rewriteConsoleExpr(method, id, filename, code, sourceMap = false) {
|
|
10
11
|
filename = (0, utils_1.normalizePath)(filename);
|
|
11
12
|
const re = /(console\.(log|info|debug|warn|error))\s*\(([^)]+)\)/g;
|
|
@@ -19,7 +20,9 @@ function rewriteConsoleExpr(method, id, filename, code, sourceMap = false) {
|
|
|
19
20
|
if (s.hasChanged()) {
|
|
20
21
|
return {
|
|
21
22
|
code: s.toString(),
|
|
22
|
-
map: sourceMap
|
|
23
|
+
map: sourceMap
|
|
24
|
+
? s.generateMap({ hires: (0, x_1.shouldUseHighResolutionSourceMap)() })
|
|
25
|
+
: { mappings: '' },
|
|
23
26
|
};
|
|
24
27
|
}
|
|
25
28
|
return { code, map: null };
|
package/dist/messages/en.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ declare const _default: {
|
|
|
4
4
|
readonly 'view.render.compiler.target.bytecode': "bytecode";
|
|
5
5
|
readonly 'view.render.compiler.target.nativecode': "nativecode";
|
|
6
6
|
readonly 'style.isolation.version': "Style isolation version: {version}";
|
|
7
|
+
readonly 'style.isolation.version.upgrade': "Style isolation version: {version}. Upgrading to 2.0 is recommended.";
|
|
7
8
|
readonly compiling: "Compiling...";
|
|
8
9
|
readonly 'dev.performance': "Please note that in running mode, due to log output, sourcemap, and uncompressed source code, the performance and package size are not as good as release mode.";
|
|
9
10
|
readonly 'dev.performance.nvue': "Especially the sourcemap of app-nvue has a greater impact";
|
|
@@ -15,6 +16,7 @@ declare const _default: {
|
|
|
15
16
|
readonly 'dev.watching.end.pages': "DONE Build complete. PAGES:{pages}";
|
|
16
17
|
readonly 'dev.watching.end.files': "DONE Build complete. FILES:{files}";
|
|
17
18
|
readonly 'dev.watching.restart.vapor': "DONE Restart required. Switching vapor mode requires restarting to take effect.";
|
|
19
|
+
readonly 'dev.watching.restart.independentSubPackages': "DONE Restart required. Changing independent subpackage roots requires restarting to take effect.";
|
|
18
20
|
readonly 'dev.watching.vapor.render.target': "vapor-render-target in manifest.json was changed to {manifestTarget}, but the running console is still {runtimeTarget}.";
|
|
19
21
|
readonly 'build.failed': "DONE Build failed.";
|
|
20
22
|
readonly 'compiler.build.failed': "Build failed with errors.";
|
package/dist/messages/en.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.default = {
|
|
|
6
6
|
'view.render.compiler.target.bytecode': 'bytecode',
|
|
7
7
|
'view.render.compiler.target.nativecode': 'nativecode',
|
|
8
8
|
'style.isolation.version': 'Style isolation version: {version}',
|
|
9
|
+
'style.isolation.version.upgrade': 'Style isolation version: {version}. Upgrading to 2.0 is recommended.',
|
|
9
10
|
compiling: 'Compiling...',
|
|
10
11
|
'dev.performance': 'Please note that in running mode, due to log output, sourcemap, and uncompressed source code, the performance and package size are not as good as release mode.',
|
|
11
12
|
'dev.performance.nvue': 'Especially the sourcemap of app-nvue has a greater impact',
|
|
@@ -17,6 +18,7 @@ exports.default = {
|
|
|
17
18
|
'dev.watching.end.pages': 'DONE Build complete. PAGES:{pages}',
|
|
18
19
|
'dev.watching.end.files': 'DONE Build complete. FILES:{files}',
|
|
19
20
|
'dev.watching.restart.vapor': 'DONE Restart required. Switching vapor mode requires restarting to take effect.',
|
|
21
|
+
'dev.watching.restart.independentSubPackages': 'DONE Restart required. Changing independent subpackage roots requires restarting to take effect.',
|
|
20
22
|
'dev.watching.vapor.render.target': 'vapor-render-target in manifest.json was changed to {manifestTarget}, but the running console is still {runtimeTarget}.',
|
|
21
23
|
'build.failed': 'DONE Build failed.',
|
|
22
24
|
'compiler.build.failed': 'Build failed with errors.',
|
package/dist/messages/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const M: {
|
|
|
4
4
|
readonly 'view.render.compiler.target.bytecode': "字节码";
|
|
5
5
|
readonly 'view.render.compiler.target.nativecode': "机器码";
|
|
6
6
|
readonly 'style.isolation.version': "当前样式隔离策略:{version}。详见:https://doc.dcloud.net.cn/uni-app-x/css/common/style-isolation.html";
|
|
7
|
+
readonly 'style.isolation.version.upgrade': "当前样式隔离策略:{version}。推荐升级为 2.0。详见:https://doc.dcloud.net.cn/uni-app-x/css/common/style-isolation.html";
|
|
7
8
|
readonly compiling: "正在编译中...";
|
|
8
9
|
readonly 'dev.performance': "请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。";
|
|
9
10
|
readonly 'dev.performance.nvue': "尤其是 app-nvue 的 sourcemap 影响较大";
|
|
@@ -15,6 +16,7 @@ export declare const M: {
|
|
|
15
16
|
readonly 'dev.watching.end.pages': "DONE Build complete. PAGES:{pages}";
|
|
16
17
|
readonly 'dev.watching.end.files': "DONE Build complete. FILES:{files}";
|
|
17
18
|
readonly 'dev.watching.restart.vapor': "DONE Restart required. 切换蒸汽模式需要重新运行才能生效。";
|
|
19
|
+
readonly 'dev.watching.restart.independentSubPackages': "DONE Restart required. 独立分包 root 列表变化需要重新运行才能生效。";
|
|
18
20
|
readonly 'dev.watching.vapor.render.target': "manifest.json 中更改了视图层编译目标为{manifestTarget},但注意运行控制台还是{runtimeTarget}。";
|
|
19
21
|
readonly 'build.failed': "DONE Build failed.";
|
|
20
22
|
readonly 'compiler.build.failed': "编译失败";
|
|
@@ -62,6 +64,7 @@ export declare const M: {
|
|
|
62
64
|
readonly 'view.render.compiler.target.bytecode': "bytecode";
|
|
63
65
|
readonly 'view.render.compiler.target.nativecode': "nativecode";
|
|
64
66
|
readonly 'style.isolation.version': "Style isolation version: {version}";
|
|
67
|
+
readonly 'style.isolation.version.upgrade': "Style isolation version: {version}. Upgrading to 2.0 is recommended.";
|
|
65
68
|
readonly compiling: "Compiling...";
|
|
66
69
|
readonly 'dev.performance': "Please note that in running mode, due to log output, sourcemap, and uncompressed source code, the performance and package size are not as good as release mode.";
|
|
67
70
|
readonly 'dev.performance.nvue': "Especially the sourcemap of app-nvue has a greater impact";
|
|
@@ -73,6 +76,7 @@ export declare const M: {
|
|
|
73
76
|
readonly 'dev.watching.end.pages': "DONE Build complete. PAGES:{pages}";
|
|
74
77
|
readonly 'dev.watching.end.files': "DONE Build complete. FILES:{files}";
|
|
75
78
|
readonly 'dev.watching.restart.vapor': "DONE Restart required. Switching vapor mode requires restarting to take effect.";
|
|
79
|
+
readonly 'dev.watching.restart.independentSubPackages': "DONE Restart required. Changing independent subpackage roots requires restarting to take effect.";
|
|
76
80
|
readonly 'dev.watching.vapor.render.target': "vapor-render-target in manifest.json was changed to {manifestTarget}, but the running console is still {runtimeTarget}.";
|
|
77
81
|
readonly 'build.failed': "DONE Build failed.";
|
|
78
82
|
readonly 'compiler.build.failed': "Build failed with errors.";
|
package/dist/messages/zh_CN.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ declare const _default: {
|
|
|
4
4
|
readonly 'view.render.compiler.target.bytecode': "字节码";
|
|
5
5
|
readonly 'view.render.compiler.target.nativecode': "机器码";
|
|
6
6
|
readonly 'style.isolation.version': "当前样式隔离策略:{version}。详见:https://doc.dcloud.net.cn/uni-app-x/css/common/style-isolation.html";
|
|
7
|
+
readonly 'style.isolation.version.upgrade': "当前样式隔离策略:{version}。推荐升级为 2.0。详见:https://doc.dcloud.net.cn/uni-app-x/css/common/style-isolation.html";
|
|
7
8
|
readonly compiling: "正在编译中...";
|
|
8
9
|
readonly 'dev.performance': "请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。";
|
|
9
10
|
readonly 'dev.performance.nvue': "尤其是 app-nvue 的 sourcemap 影响较大";
|
|
@@ -15,6 +16,7 @@ declare const _default: {
|
|
|
15
16
|
readonly 'dev.watching.end.pages': "DONE Build complete. PAGES:{pages}";
|
|
16
17
|
readonly 'dev.watching.end.files': "DONE Build complete. FILES:{files}";
|
|
17
18
|
readonly 'dev.watching.restart.vapor': "DONE Restart required. 切换蒸汽模式需要重新运行才能生效。";
|
|
19
|
+
readonly 'dev.watching.restart.independentSubPackages': "DONE Restart required. 独立分包 root 列表变化需要重新运行才能生效。";
|
|
18
20
|
readonly 'dev.watching.vapor.render.target': "manifest.json 中更改了视图层编译目标为{manifestTarget},但注意运行控制台还是{runtimeTarget}。";
|
|
19
21
|
readonly 'build.failed': "DONE Build failed.";
|
|
20
22
|
readonly 'compiler.build.failed': "编译失败";
|
package/dist/messages/zh_CN.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.default = {
|
|
|
6
6
|
'view.render.compiler.target.bytecode': '字节码',
|
|
7
7
|
'view.render.compiler.target.nativecode': '机器码',
|
|
8
8
|
'style.isolation.version': '当前样式隔离策略:{version}。详见:https://doc.dcloud.net.cn/uni-app-x/css/common/style-isolation.html',
|
|
9
|
+
'style.isolation.version.upgrade': '当前样式隔离策略:{version}。推荐升级为 2.0。详见:https://doc.dcloud.net.cn/uni-app-x/css/common/style-isolation.html',
|
|
9
10
|
compiling: '正在编译中...',
|
|
10
11
|
'dev.performance': '请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。',
|
|
11
12
|
'dev.performance.nvue': '尤其是 app-nvue 的 sourcemap 影响较大',
|
|
@@ -17,6 +18,7 @@ exports.default = {
|
|
|
17
18
|
'dev.watching.end.pages': 'DONE Build complete. PAGES:{pages}',
|
|
18
19
|
'dev.watching.end.files': 'DONE Build complete. FILES:{files}',
|
|
19
20
|
'dev.watching.restart.vapor': 'DONE Restart required. 切换蒸汽模式需要重新运行才能生效。',
|
|
21
|
+
'dev.watching.restart.independentSubPackages': 'DONE Restart required. 独立分包 root 列表变化需要重新运行才能生效。',
|
|
20
22
|
'dev.watching.vapor.render.target': 'manifest.json 中更改了视图层编译目标为{manifestTarget},但注意运行控制台还是{runtimeTarget}。',
|
|
21
23
|
'build.failed': 'DONE Build failed.',
|
|
22
24
|
'compiler.build.failed': '编译失败',
|
|
@@ -10,17 +10,18 @@ interface MainDescriptor {
|
|
|
10
10
|
script: string;
|
|
11
11
|
template: string;
|
|
12
12
|
}
|
|
13
|
-
export declare function parseMainDescriptor(filename: string, ast: Program, resolve: ParseDescriptor['resolve']): Promise<MainDescriptor>;
|
|
14
|
-
export declare function updateMiniProgramComponentsByScriptFilename(scriptFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
|
|
15
|
-
export declare function updateMiniProgramComponentsByTemplateFilename(templateFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
|
|
16
|
-
export declare function updateMiniProgramGlobalComponents(filename: string, ast: Program, { inputDir, resolve, normalizeComponentName, }: {
|
|
13
|
+
export declare function parseMainDescriptor(filename: string, ast: Program, resolve: ParseDescriptor['resolve'], root?: string): Promise<MainDescriptor>;
|
|
14
|
+
export declare function updateMiniProgramComponentsByScriptFilename(scriptFilename: string, inputDir: string, normalizeComponentName: (name: string) => string, root?: string): void;
|
|
15
|
+
export declare function updateMiniProgramComponentsByTemplateFilename(templateFilename: string, inputDir: string, normalizeComponentName: (name: string) => string, root?: string): void;
|
|
16
|
+
export declare function updateMiniProgramGlobalComponents(filename: string, ast: Program, { inputDir, resolve, normalizeComponentName, root, }: {
|
|
17
17
|
inputDir: string;
|
|
18
18
|
resolve: ParseDescriptor['resolve'];
|
|
19
19
|
normalizeComponentName: (name: string) => string;
|
|
20
|
+
root?: string;
|
|
20
21
|
}): Promise<{
|
|
21
22
|
imports: ImportDeclaration[];
|
|
22
23
|
}>;
|
|
23
|
-
export declare function updateMiniProgramComponentsByMainFilename(mainFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
|
|
24
|
+
export declare function updateMiniProgramComponentsByMainFilename(mainFilename: string, inputDir: string, normalizeComponentName: (name: string) => string, root?: string): void;
|
|
24
25
|
export interface TemplateDescriptor {
|
|
25
26
|
bindingComponents: BindingComponents;
|
|
26
27
|
imports: ImportDeclaration[];
|
|
@@ -37,6 +38,7 @@ export declare function parseTemplateDescriptor(filename: string, ast: Program,
|
|
|
37
38
|
interface ParseDescriptor {
|
|
38
39
|
resolve: PluginContext['resolve'];
|
|
39
40
|
isExternal: boolean;
|
|
41
|
+
root?: string;
|
|
40
42
|
}
|
|
41
43
|
export interface ScriptDescriptor extends TemplateDescriptor {
|
|
42
44
|
setupBindingComponents: BindingComponents;
|
|
@@ -14,9 +14,12 @@ const constants_1 = require("../constants");
|
|
|
14
14
|
const utils_1 = require("../utils");
|
|
15
15
|
const utils_2 = require("../vite/utils");
|
|
16
16
|
const jsonFile_1 = require("../json/mp/jsonFile");
|
|
17
|
+
const subpackage_1 = require("../json/mp/subpackage");
|
|
17
18
|
const mainDescriptors = new Map();
|
|
18
19
|
const scriptDescriptors = new Map();
|
|
19
20
|
const templateDescriptors = new Map();
|
|
21
|
+
const scriptDescriptorMainMap = new Map();
|
|
22
|
+
const templateDescriptorMainMap = new Map();
|
|
20
23
|
// 存储全局组件名到完整源文件路径的映射
|
|
21
24
|
const globalComponentSourceMap = new Map();
|
|
22
25
|
function getGlobalComponentSource(componentName) {
|
|
@@ -36,60 +39,83 @@ function findImportScriptSource(ast) {
|
|
|
36
39
|
return importDeclaration.source.value;
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
|
-
async function resolveSource(filename, source, resolve) {
|
|
42
|
+
async function resolveSource(filename, source, resolve, root) {
|
|
40
43
|
if (!source) {
|
|
41
44
|
return;
|
|
42
45
|
}
|
|
43
|
-
const resolveId = await resolve(source, filename);
|
|
46
|
+
const resolveId = await resolve(source, root ? (0, subpackage_1.withIndependentRoot)(filename, root) : filename);
|
|
44
47
|
if (resolveId) {
|
|
45
48
|
return resolveId.id;
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
|
-
async function parseMainDescriptor(filename, ast, resolve) {
|
|
49
|
-
const script = await resolveSource(filename, findImportScriptSource(ast), resolve);
|
|
50
|
-
const template = await resolveSource(filename, findImportTemplateSource(ast), resolve);
|
|
51
|
-
const imports = await parseVueComponentImports(filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), resolve);
|
|
51
|
+
async function parseMainDescriptor(filename, ast, resolve, root) {
|
|
52
|
+
const script = await resolveSource(filename, findImportScriptSource(ast), resolve, root);
|
|
53
|
+
const template = await resolveSource(filename, findImportTemplateSource(ast), resolve, root);
|
|
54
|
+
const imports = await parseVueComponentImports(root ? (0, subpackage_1.withIndependentRoot)(filename, root) : filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), resolve);
|
|
52
55
|
if (!script) {
|
|
53
56
|
// inline script
|
|
54
|
-
await parseScriptDescriptor(filename, ast, {
|
|
57
|
+
await parseScriptDescriptor(filename, ast, {
|
|
58
|
+
resolve,
|
|
59
|
+
isExternal: false,
|
|
60
|
+
root,
|
|
61
|
+
});
|
|
55
62
|
}
|
|
56
63
|
if (!template) {
|
|
57
64
|
// inline template
|
|
58
|
-
await parseTemplateDescriptor(filename, ast, {
|
|
65
|
+
await parseTemplateDescriptor(filename, ast, {
|
|
66
|
+
resolve,
|
|
67
|
+
isExternal: false,
|
|
68
|
+
root,
|
|
69
|
+
});
|
|
59
70
|
}
|
|
60
71
|
const descriptor = {
|
|
61
72
|
imports,
|
|
62
|
-
script: script
|
|
63
|
-
|
|
73
|
+
script: script
|
|
74
|
+
? createDescriptorKey((0, utils_2.parseVueRequest)(script).filename, (0, subpackage_1.parseIndependentRoot)(script) || root)
|
|
75
|
+
: createDescriptorKey(filename, root),
|
|
76
|
+
template: template
|
|
77
|
+
? createDescriptorKey((0, utils_2.parseVueRequest)(template).filename, (0, subpackage_1.parseIndependentRoot)(template) || root)
|
|
78
|
+
: createDescriptorKey(filename, root),
|
|
64
79
|
};
|
|
65
|
-
|
|
80
|
+
const mainDescriptorKey = createDescriptorKey(filename, root);
|
|
81
|
+
updateMainDescriptorIndex(mainDescriptorKey, descriptor);
|
|
66
82
|
return descriptor;
|
|
67
83
|
}
|
|
68
84
|
exports.parseMainDescriptor = parseMainDescriptor;
|
|
69
|
-
function
|
|
70
|
-
const
|
|
85
|
+
function updateMainDescriptorIndex(mainDescriptorKey, descriptor) {
|
|
86
|
+
const oldDescriptor = mainDescriptors.get(mainDescriptorKey);
|
|
87
|
+
if (oldDescriptor && oldDescriptor.script !== descriptor.script) {
|
|
88
|
+
scriptDescriptorMainMap.delete(oldDescriptor.script);
|
|
89
|
+
}
|
|
90
|
+
if (oldDescriptor && oldDescriptor.template !== descriptor.template) {
|
|
91
|
+
templateDescriptorMainMap.delete(oldDescriptor.template);
|
|
92
|
+
}
|
|
93
|
+
mainDescriptors.set(mainDescriptorKey, descriptor);
|
|
94
|
+
scriptDescriptorMainMap.set(descriptor.script, mainDescriptorKey);
|
|
95
|
+
templateDescriptorMainMap.set(descriptor.template, mainDescriptorKey);
|
|
96
|
+
}
|
|
97
|
+
function updateMiniProgramComponentsByScriptFilename(scriptFilename, inputDir, normalizeComponentName, root) {
|
|
98
|
+
const mainFilename = findMainFilenameByScriptFilename(createDescriptorKey(scriptFilename, root));
|
|
71
99
|
if (mainFilename) {
|
|
72
|
-
updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName);
|
|
100
|
+
updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName, root);
|
|
73
101
|
}
|
|
74
102
|
}
|
|
75
103
|
exports.updateMiniProgramComponentsByScriptFilename = updateMiniProgramComponentsByScriptFilename;
|
|
76
|
-
function updateMiniProgramComponentsByTemplateFilename(templateFilename, inputDir, normalizeComponentName) {
|
|
77
|
-
const mainFilename = findMainFilenameByTemplateFilename(templateFilename);
|
|
104
|
+
function updateMiniProgramComponentsByTemplateFilename(templateFilename, inputDir, normalizeComponentName, root) {
|
|
105
|
+
const mainFilename = findMainFilenameByTemplateFilename(createDescriptorKey(templateFilename, root));
|
|
78
106
|
if (mainFilename) {
|
|
79
|
-
updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName);
|
|
107
|
+
updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName, root);
|
|
80
108
|
}
|
|
81
109
|
}
|
|
82
110
|
exports.updateMiniProgramComponentsByTemplateFilename = updateMiniProgramComponentsByTemplateFilename;
|
|
83
111
|
function findMainFilenameByScriptFilename(scriptFilename) {
|
|
84
|
-
|
|
85
|
-
return keys.find((key) => mainDescriptors.get(key).script === scriptFilename);
|
|
112
|
+
return scriptDescriptorMainMap.get(scriptFilename);
|
|
86
113
|
}
|
|
87
114
|
function findMainFilenameByTemplateFilename(templateFilename) {
|
|
88
|
-
|
|
89
|
-
return keys.find((key) => mainDescriptors.get(key).template === templateFilename);
|
|
115
|
+
return templateDescriptorMainMap.get(templateFilename);
|
|
90
116
|
}
|
|
91
|
-
async function updateMiniProgramGlobalComponents(filename, ast, { inputDir, resolve, normalizeComponentName, }) {
|
|
92
|
-
const { bindingComponents, imports } = await parseGlobalDescriptor(filename, ast, resolve);
|
|
117
|
+
async function updateMiniProgramGlobalComponents(filename, ast, { inputDir, resolve, normalizeComponentName, root, }) {
|
|
118
|
+
const { bindingComponents, imports } = await parseGlobalDescriptor(filename, ast, resolve, root);
|
|
93
119
|
// 存储全局组件名到完整源文件路径的映射
|
|
94
120
|
imports.forEach(({ source: { value }, specifiers: [specifier] }) => {
|
|
95
121
|
const { name } = specifier.local;
|
|
@@ -97,7 +123,7 @@ async function updateMiniProgramGlobalComponents(filename, ast, { inputDir, reso
|
|
|
97
123
|
return;
|
|
98
124
|
}
|
|
99
125
|
if (!globalComponentSourceMap.has(bindingComponents[name].tag)) {
|
|
100
|
-
globalComponentSourceMap.set(bindingComponents[name].tag, value);
|
|
126
|
+
globalComponentSourceMap.set(bindingComponents[name].tag, (0, subpackage_1.withoutIndependentRoot)(value));
|
|
101
127
|
}
|
|
102
128
|
});
|
|
103
129
|
(0, jsonFile_1.addMiniProgramUsingComponents)('app', createUsingComponents(bindingComponents, imports, inputDir, normalizeComponentName));
|
|
@@ -115,13 +141,13 @@ function createUsingComponents(bindingComponents, imports, inputDir, normalizeCo
|
|
|
115
141
|
}
|
|
116
142
|
const componentName = normalizeComponentName((0, shared_1.hyphenate)(bindingComponents[name].tag));
|
|
117
143
|
if (!usingComponents[componentName]) {
|
|
118
|
-
usingComponents[componentName] = (0, uni_shared_1.addLeadingSlash)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)(value, inputDir)));
|
|
144
|
+
usingComponents[componentName] = (0, uni_shared_1.addLeadingSlash)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)((0, subpackage_1.withoutIndependentRoot)(value), inputDir)));
|
|
119
145
|
}
|
|
120
146
|
});
|
|
121
147
|
return usingComponents;
|
|
122
148
|
}
|
|
123
|
-
function updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName) {
|
|
124
|
-
const mainDescriptor = mainDescriptors.get(mainFilename);
|
|
149
|
+
function updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName, root) {
|
|
150
|
+
const mainDescriptor = mainDescriptors.get(createDescriptorKey(mainFilename, root));
|
|
125
151
|
if (!mainDescriptor) {
|
|
126
152
|
return;
|
|
127
153
|
}
|
|
@@ -138,7 +164,7 @@ function updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, norma
|
|
|
138
164
|
...scriptDescriptor.setupBindingComponents,
|
|
139
165
|
}, scriptDescriptor.bindingComponents);
|
|
140
166
|
const imports = parseImports(mainDescriptor.imports, scriptDescriptor.imports, templateDescriptor.imports);
|
|
141
|
-
(0, jsonFile_1.addMiniProgramUsingComponents)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)(mainFilename, inputDir)), createUsingComponents(bindingComponents, imports, inputDir, normalizeComponentName));
|
|
167
|
+
(0, jsonFile_1.addMiniProgramUsingComponents)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)((0, subpackage_1.withoutIndependentRoot)(mainFilename), inputDir)), createUsingComponents(bindingComponents, imports, inputDir, normalizeComponentName));
|
|
142
168
|
}
|
|
143
169
|
exports.updateMiniProgramComponentsByMainFilename = updateMiniProgramComponentsByMainFilename;
|
|
144
170
|
function findBindingComponent(tag, bindingComponents) {
|
|
@@ -189,19 +215,19 @@ function parseImports(mainImports, scriptImports, templateImports) {
|
|
|
189
215
|
async function parseTemplateDescriptor(filename, ast, options) {
|
|
190
216
|
// 外置时查找所有 vue component import
|
|
191
217
|
const imports = options.isExternal
|
|
192
|
-
? await parseVueComponentImports(filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), options.resolve)
|
|
218
|
+
? await parseVueComponentImports(options.root ? (0, subpackage_1.withIndependentRoot)(filename, options.root) : filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), options.resolve)
|
|
193
219
|
: [];
|
|
194
220
|
const descriptor = {
|
|
195
221
|
bindingComponents: findBindingComponents(ast.body),
|
|
196
222
|
imports,
|
|
197
223
|
};
|
|
198
|
-
templateDescriptors.set(filename, descriptor);
|
|
224
|
+
templateDescriptors.set(createDescriptorKey(filename, options.root), descriptor);
|
|
199
225
|
return descriptor;
|
|
200
226
|
}
|
|
201
227
|
exports.parseTemplateDescriptor = parseTemplateDescriptor;
|
|
202
|
-
async function parseGlobalDescriptor(filename, ast, resolve) {
|
|
228
|
+
async function parseGlobalDescriptor(filename, ast, resolve, root) {
|
|
203
229
|
// 外置时查找所有 vue component import
|
|
204
|
-
const imports = (await parseVueComponentImports(filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), resolve)).filter((item) => !(0, utils_1.isAppVue)((0, utils_2.cleanUrl)(item.source.value)));
|
|
230
|
+
const imports = (await parseVueComponentImports(root ? (0, subpackage_1.withIndependentRoot)(filename, root) : filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), resolve)).filter((item) => !(0, utils_1.isAppVue)((0, utils_2.cleanUrl)(item.source.value)));
|
|
205
231
|
return {
|
|
206
232
|
bindingComponents: parseGlobalComponents(ast),
|
|
207
233
|
imports,
|
|
@@ -218,14 +244,14 @@ async function parseGlobalDescriptor(filename, ast, resolve) {
|
|
|
218
244
|
async function parseScriptDescriptor(filename, ast, options) {
|
|
219
245
|
// 外置时查找所有 vue component import
|
|
220
246
|
const imports = options.isExternal
|
|
221
|
-
? await parseVueComponentImports(filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), options.resolve)
|
|
247
|
+
? await parseVueComponentImports(options.root ? (0, subpackage_1.withIndependentRoot)(filename, options.root) : filename, ast.body.filter((node) => (0, types_1.isImportDeclaration)(node)), options.resolve)
|
|
222
248
|
: [];
|
|
223
249
|
const descriptor = {
|
|
224
250
|
bindingComponents: parseComponents(ast),
|
|
225
251
|
setupBindingComponents: findBindingComponents(ast.body),
|
|
226
252
|
imports,
|
|
227
253
|
};
|
|
228
|
-
scriptDescriptors.set(filename, descriptor);
|
|
254
|
+
scriptDescriptors.set(createDescriptorKey(filename, options.root), descriptor);
|
|
229
255
|
return descriptor;
|
|
230
256
|
}
|
|
231
257
|
exports.parseScriptDescriptor = parseScriptDescriptor;
|
|
@@ -395,6 +421,9 @@ async function parseVueComponentImports(importer, imports, resolve) {
|
|
|
395
421
|
}
|
|
396
422
|
return vueComponentImports;
|
|
397
423
|
}
|
|
424
|
+
function createDescriptorKey(filename, root) {
|
|
425
|
+
return root ? (0, subpackage_1.withIndependentRoot)(filename, root) : filename;
|
|
426
|
+
}
|
|
398
427
|
/**
|
|
399
428
|
* static import => dynamic import
|
|
400
429
|
* @param code
|
package/dist/resolve.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare function requireResolve(filename: string, basedir: string): string;
|
|
2
|
+
export declare function resolveMainUtsName(): string;
|
|
2
3
|
export declare function relativeFile(from: string, to: string): string;
|
|
3
4
|
export declare const resolveMainPathOnce: (inputDir: string) => string;
|
|
4
5
|
export declare function getBuiltInPaths(): string[];
|
package/dist/resolve.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.resolveComponentsLibDirs = exports.resolveComponentsLibPath = exports.resolveVueI18nRuntime = exports.resolveBuiltIn = exports.getBuiltInPaths = exports.resolveMainPathOnce = exports.relativeFile = exports.requireResolve = void 0;
|
|
6
|
+
exports.resolveComponentsLibDirs = exports.resolveComponentsLibPath = exports.resolveVueI18nRuntime = exports.resolveBuiltIn = exports.getBuiltInPaths = exports.resolveMainPathOnce = exports.relativeFile = exports.resolveMainUtsName = exports.requireResolve = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const debug_1 = __importDefault(require("debug"));
|
|
@@ -24,6 +24,13 @@ function resolveWithSymlinks(id, basedir) {
|
|
|
24
24
|
preserveSymlinks: true,
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
+
function resolveMainUtsName() {
|
|
28
|
+
if (process.env.UNI_COMPILE_TARGET === 'ext-api') {
|
|
29
|
+
return process.env.UNI_COMPILE_EXT_API_UVUE_ENTRY || 'main.uts';
|
|
30
|
+
}
|
|
31
|
+
return 'main.uts';
|
|
32
|
+
}
|
|
33
|
+
exports.resolveMainUtsName = resolveMainUtsName;
|
|
27
34
|
function relativeFile(from, to) {
|
|
28
35
|
const relativePath = (0, utils_1.normalizePath)(path_1.default.relative(path_1.default.dirname(from), to));
|
|
29
36
|
return relativePath.startsWith('.') ? relativePath : './' + relativePath;
|
|
@@ -31,7 +38,7 @@ function relativeFile(from, to) {
|
|
|
31
38
|
exports.relativeFile = relativeFile;
|
|
32
39
|
exports.resolveMainPathOnce = (0, uni_shared_1.once)((inputDir) => {
|
|
33
40
|
if (process.env.UNI_APP_X === 'true') {
|
|
34
|
-
const mainUTSPath = path_1.default.resolve(inputDir,
|
|
41
|
+
const mainUTSPath = path_1.default.resolve(inputDir, resolveMainUtsName());
|
|
35
42
|
if (fs_1.default.existsSync(mainUTSPath)) {
|
|
36
43
|
return (0, utils_1.normalizePath)(mainUTSPath);
|
|
37
44
|
}
|
package/dist/uts.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ import type { EasycomMatcher } from './easycom';
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function resolveUTSAppModule(platform: typeof process.env.UNI_UTS_PLATFORM, id: string, importer: string, includeUTSSDK?: boolean): string | undefined;
|
|
13
13
|
export declare function resolveUTSModule(id: string, importer: string, includeUTSSDK?: boolean): string | undefined;
|
|
14
|
-
export declare function hasUTSModulePlatformFile(pluginDir: string, platform: typeof process.env.UNI_UTS_PLATFORM): boolean;
|
|
15
14
|
export declare function resolveUTSCompiler(throwError?: boolean): typeof UTSCompiler;
|
|
16
15
|
export declare function resolveUTSCompilerVersion(): string;
|
|
17
16
|
interface UTSComponentMeta {
|