@dcloudio/uni-cli-shared 3.0.0-3080420230531001 → 3.0.0-3080720230703001

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.
Files changed (43) hide show
  1. package/dist/checkUpdate.d.ts +2 -29
  2. package/dist/checkUpdate.js +47 -240
  3. package/dist/constants.d.ts +2 -0
  4. package/dist/constants.js +3 -1
  5. package/dist/easycom.d.ts +1 -0
  6. package/dist/easycom.js +2 -1
  7. package/dist/hbx/alias.js +3 -3
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +3 -1
  10. package/dist/json/app/pages/definePage.js +1 -1
  11. package/dist/json/index.d.ts +1 -0
  12. package/dist/json/index.js +3 -0
  13. package/dist/json/mp/jsonFile.d.ts +1 -1
  14. package/dist/json/pages.js +9 -0
  15. package/dist/json/uniAppX.d.ts +1 -0
  16. package/dist/json/uniAppX.js +75 -0
  17. package/dist/messages/en.d.ts +4 -1
  18. package/dist/messages/en.js +4 -1
  19. package/dist/messages/index.d.ts +8 -2
  20. package/dist/messages/zh_CN.d.ts +4 -1
  21. package/dist/messages/zh_CN.js +4 -1
  22. package/dist/postcss/plugins/uniapp.d.ts +2 -1
  23. package/dist/postcss/plugins/uniapp.js +4 -2
  24. package/dist/preprocess/context.d.ts +2 -1
  25. package/dist/preprocess/context.js +17 -2
  26. package/dist/preprocess/index.d.ts +4 -0
  27. package/dist/preprocess/index.js +11 -1
  28. package/dist/resolve.js +4 -0
  29. package/dist/uni_modules.d.ts +3 -3
  30. package/dist/uni_modules.js +74 -50
  31. package/dist/utils.d.ts +1 -1
  32. package/dist/uts.d.ts +15 -2
  33. package/dist/uts.js +94 -10
  34. package/dist/vite/plugins/index.d.ts +1 -0
  35. package/dist/vite/plugins/index.js +1 -0
  36. package/dist/vite/plugins/mainJs.js +3 -1
  37. package/dist/vite/plugins/utsPlugin.d.ts +8 -0
  38. package/dist/vite/plugins/utsPlugin.js +88 -0
  39. package/dist/vite/plugins/vitejs/plugins/css.d.ts +3 -1
  40. package/dist/vite/plugins/vitejs/plugins/css.js +23 -7
  41. package/dist/vite/utils/plugin.d.ts +1 -0
  42. package/dist/vite/utils/plugin.js +9 -1
  43. package/package.json +8 -8
@@ -1,30 +1,3 @@
1
- interface CheckUpdateOptions {
2
- inputDir: string;
3
- compilerVersion: string;
4
- versionType: 'a' | 'r';
5
- }
6
- interface CheckUpdatePlatform {
7
- appid?: string;
8
- dev: number;
9
- build: number;
10
- }
11
- interface CheckUpdateCache {
12
- vid: string;
13
- lastCheck: number;
14
- newVersion?: string;
15
- note?: string;
16
- [name: string]: CheckUpdatePlatform | undefined | string | number;
17
- }
18
- export declare function checkUpdate(options: CheckUpdateOptions): Promise<void>;
19
- /**
20
- * 检查本地缓存,返回 false 表示需要执行云端检查,返回 true 表示,无需云端检查,返回 string 表示,无需云端检测,且有更新
21
- * @param inputDir
22
- * @param compilerVersion
23
- * @param interval
24
- * @returns
25
- */
26
- export declare function checkLocalCache(updateCache: CheckUpdateCache, compilerVersion: string, interval?: number): string | boolean;
27
- export declare function md5(str: string): string;
28
- export declare function getMac(): string;
29
- export declare function createPostData({ versionType, compilerVersion }: CheckUpdateOptions, manifestJson: Record<string, any>, updateCache: CheckUpdateCache): string;
1
+ declare function checkUpdate1(options: any): Promise<undefined>;
2
+ export declare const checkUpdate: typeof checkUpdate1;
30
3
  export {};
@@ -1,254 +1,61 @@
1
+ /* eslint-disable */
2
+ // @ts-ignore
1
3
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
4
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createPostData = exports.getMac = exports.md5 = exports.checkLocalCache = exports.checkUpdate = void 0;
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const os_1 = __importDefault(require("os"));
9
- const path_1 = __importDefault(require("path"));
10
- const debug_1 = __importDefault(require("debug"));
11
- const crypto_1 = __importDefault(require("crypto"));
12
- const https_1 = require("https");
13
- const compare_versions_1 = __importDefault(require("compare-versions"));
14
- const shared_1 = require("@vue/shared");
15
- const json_1 = require("./json");
16
- const hbx_1 = require("./hbx");
17
- const debugCheckUpdate = (0, debug_1.default)('uni:check-update');
18
- const INTERVAL = 1000 * 60 * 60 * 24;
19
- async function checkUpdate(options) {
20
- if (process.env.CI) {
21
- debugCheckUpdate('isInCI');
22
- return;
23
- }
24
- if ((0, hbx_1.isInHBuilderX)()) {
25
- debugCheckUpdate('isInHBuilderX');
26
- return;
27
- }
28
- const { inputDir, compilerVersion } = options;
29
- const updateCache = readCheckUpdateCache(inputDir);
30
- debugCheckUpdate('read.cache', updateCache);
31
- const res = checkLocalCache(updateCache, compilerVersion);
32
- if (res) {
33
- if ((0, shared_1.isString)(res)) {
34
- console.log();
35
- console.log(res);
36
- }
37
- }
38
- else {
39
- await checkVersion(options, normalizeUpdateCache(updateCache, (0, json_1.parseManifestJsonOnce)(inputDir)));
40
- }
41
- writeCheckUpdateCache(inputDir, statUpdateCache(normalizeUpdateCache(updateCache)));
42
- }
43
- exports.checkUpdate = checkUpdate;
44
- function normalizeUpdateCache(updateCache, manifestJson) {
45
- const platform = process.env.UNI_PLATFORM;
46
- if (!updateCache[platform]) {
47
- updateCache[platform] = {
48
- appid: '',
49
- dev: 0,
50
- build: 0,
51
- };
52
- }
53
- if (manifestJson) {
54
- const platformOptions = manifestJson[platform === 'app' ? 'app-plus' : platform];
55
- updateCache[platform].appid = platformOptions
56
- ? platformOptions.appid || platformOptions.package || ''
57
- : '';
58
- }
59
- return updateCache;
60
- }
61
- function statUpdateCache(updateCache) {
62
- debugCheckUpdate('stat.before', updateCache);
63
- const platform = process.env.UNI_PLATFORM;
64
- const type = process.env.NODE_ENV === 'production' ? 'build' : 'dev';
65
- const platformOptions = updateCache[platform];
66
- platformOptions[type] = (platformOptions[type] || 0) + 1;
67
- debugCheckUpdate('stat.after', updateCache);
68
- return updateCache;
69
- }
70
- function getFilepath(inputDir, filename) {
71
- return path_1.default.resolve(os_1.default.tmpdir(), 'uni-app-cli', md5(inputDir), filename);
72
- }
73
- function getCheckUpdateFilepath(inputDir) {
74
- return getFilepath(inputDir, 'check-update.json');
75
- }
76
- function generateVid() {
77
- let result = '';
78
- for (let i = 0; i < 4; i++) {
79
- result += ((65536 * (1 + Math.random())) | 0).toString(16).substring(1);
80
- }
81
- return 'UNI_' + result.toUpperCase();
82
- }
83
- function createCheckUpdateCache(vid = generateVid()) {
84
- return {
85
- vid: generateVid(),
86
- lastCheck: 0,
87
- };
88
- }
89
- function readCheckUpdateCache(inputDir) {
90
- const updateFilepath = getCheckUpdateFilepath(inputDir);
91
- debugCheckUpdate('read:', updateFilepath);
92
- if (fs_extra_1.default.existsSync(updateFilepath)) {
93
- try {
94
- return require(updateFilepath);
95
- }
96
- catch (e) {
97
- debugCheckUpdate('read.error', e);
98
- }
99
- }
100
- return createCheckUpdateCache();
101
- }
102
- /**
103
- * 检查本地缓存,返回 false 表示需要执行云端检查,返回 true 表示,无需云端检查,返回 string 表示,无需云端检测,且有更新
104
- * @param inputDir
105
- * @param compilerVersion
106
- * @param interval
107
- * @returns
108
- */
109
- function checkLocalCache(updateCache, compilerVersion, interval = INTERVAL) {
110
- if (!updateCache.lastCheck) {
111
- debugCheckUpdate('cache: lastCheck not found');
112
- return false;
113
- }
114
- if (Date.now() - updateCache.lastCheck > interval) {
115
- debugCheckUpdate('cache: lastCheck > interval');
116
- return false;
117
- }
118
- if (updateCache.newVersion &&
119
- (0, compare_versions_1.default)(updateCache.newVersion, compilerVersion) > 0) {
120
- debugCheckUpdate('cache: find new version');
121
- return updateCache.note;
122
- }
123
- return true;
124
- }
125
- exports.checkLocalCache = checkLocalCache;
126
- function writeCheckUpdateCache(inputDir, updateCache) {
127
- const filepath = getCheckUpdateFilepath(inputDir);
128
- debugCheckUpdate('write:', filepath, updateCache);
5
+ exports.checkUpdate = void 0;
6
+ var __importDefault = this && this.__importDefault || function (mod) { return mod && mod.__esModule ? mod : { default: mod }; };
7
+ Object.defineProperty(exports, "__esModule", { value: !0 }), exports.createPostData = exports.getMac = exports.md5 = exports.checkLocalCache = exports.checkUpdate1 = void 0;
8
+ const fs_extra_1 = __importDefault(require("fs-extra")), os_1 = __importDefault(require("os")), path_1 = __importDefault(require("path")), debug_1 = __importDefault(require("debug")), crypto_1 = __importDefault(require("crypto")), https_1 = require("https"), compare_versions_1 = __importDefault(require("compare-versions")), shared_1 = require("@vue/shared"), json_1 = require("./json"), hbx_1 = require("./hbx"), debugCheckUpdate = (0, debug_1.default)("uni:check-update"), INTERVAL = 864e5;
9
+ async function checkUpdate1(options) { if (process.env.CI)
10
+ return void debugCheckUpdate("isInCI"); if ((0, hbx_1.isInHBuilderX)())
11
+ return void debugCheckUpdate("isInHBuilderX"); const { inputDir: inputDir, compilerVersion: compilerVersion } = options, updateCache = readCheckUpdateCache(inputDir); debugCheckUpdate("read.cache", updateCache); const res = checkLocalCache(updateCache, compilerVersion); res ? (0, shared_1.isString)(res) && (console.log(), console.log(res)) : await checkVersion(options, normalizeUpdateCache(updateCache, (0, json_1.parseManifestJsonOnce)(inputDir))), writeCheckUpdateCache(inputDir, statUpdateCache(normalizeUpdateCache(updateCache))); }
12
+ function normalizeUpdateCache(updateCache, manifestJson) { const platform = process.env.UNI_PLATFORM; if (updateCache[platform] || (updateCache[platform] = { appid: "", dev: 0, build: 0 }), manifestJson) {
13
+ const platformOptions = manifestJson["app" === platform ? "app-plus" : platform];
14
+ updateCache[platform].appid = platformOptions && (platformOptions.appid || platformOptions.package) || "";
15
+ } return updateCache; }
16
+ function statUpdateCache(updateCache) { debugCheckUpdate("stat.before", updateCache); const platform = process.env.UNI_PLATFORM, type = "production" === process.env.NODE_ENV ? "build" : "dev", platformOptions = updateCache[platform]; return platformOptions[type] = (platformOptions[type] || 0) + 1, debugCheckUpdate("stat.after", updateCache), updateCache; }
17
+ function getFilepath(inputDir, filename) { return path_1.default.resolve(os_1.default.tmpdir(), "uni-app-cli", md5(inputDir), filename); }
18
+ function getCheckUpdateFilepath(inputDir) { return getFilepath(inputDir, "check-update.json"); }
19
+ function generateVid() { let result = ""; for (let i = 0; i < 4; i++)
20
+ result += (65536 * (1 + Math.random()) | 0).toString(16).substring(1); return "UNI_" + result.toUpperCase(); }
21
+ function createCheckUpdateCache(vid = generateVid()) { return { vid: generateVid(), lastCheck: 0 }; }
22
+ function readCheckUpdateCache(inputDir) { const updateFilepath = getCheckUpdateFilepath(inputDir); if (debugCheckUpdate("read:", updateFilepath), fs_extra_1.default.existsSync(updateFilepath))
129
23
  try {
130
- fs_extra_1.default.outputFileSync(filepath, JSON.stringify(updateCache));
24
+ return require(updateFilepath);
131
25
  }
132
26
  catch (e) {
133
- debugCheckUpdate('write.error', e);
134
- }
135
- }
136
- function md5(str) {
137
- return crypto_1.default.createHash('md5').update(str).digest('hex');
138
- }
139
- exports.md5 = md5;
140
- function getMac() {
141
- let mac = '';
142
- const network = os_1.default.networkInterfaces();
143
- for (const key in network) {
144
- const array = network[key];
145
- for (let i = 0; i < array.length; i++) {
146
- const item = array[i];
147
- if (!item.family || (item.mac && item.mac === '00:00:00:00:00:00')) {
148
- continue;
149
- }
150
- if (
151
- // Node < v18
152
- (0, shared_1.isString)(item.family) &&
153
- (item.family === 'IPv4' || item.family === 'IPv6')) {
27
+ debugCheckUpdate("read.error", e);
28
+ } return createCheckUpdateCache(); }
29
+ function checkLocalCache(updateCache, compilerVersion, interval = INTERVAL) { return updateCache.lastCheck ? Date.now() - updateCache.lastCheck > interval ? (debugCheckUpdate("cache: lastCheck > interval"), !1) : !(updateCache.newVersion && (0, compare_versions_1.default)(updateCache.newVersion, compilerVersion) > 0) || (debugCheckUpdate("cache: find new version"), updateCache.note) : (debugCheckUpdate("cache: lastCheck not found"), !1); }
30
+ function writeCheckUpdateCache(inputDir, updateCache) { const filepath = getCheckUpdateFilepath(inputDir); debugCheckUpdate("write:", filepath, updateCache); try {
31
+ fs_extra_1.default.outputFileSync(filepath, JSON.stringify(updateCache));
32
+ }
33
+ catch (e) {
34
+ debugCheckUpdate("write.error", e);
35
+ } }
36
+ function md5(str) { return crypto_1.default.createHash("md5").update(str).digest("hex"); }
37
+ function getMac() { let mac = ""; const network = os_1.default.networkInterfaces(); for (const key in network) {
38
+ const array = network[key];
39
+ for (let i = 0; i < array.length; i++) {
40
+ const item = array[i];
41
+ if (item.family && (!item.mac || "00:00:00:00:00:00" !== item.mac)) {
42
+ if ((0, shared_1.isString)(item.family) && ("IPv4" === item.family || "IPv6" === item.family)) {
154
43
  mac = item.mac;
155
44
  break;
156
45
  }
157
- else if (
158
- // Node >= v18
159
- typeof item.family === 'number' &&
160
- // @ts-ignore
161
- (item.family === 4 || item.family === 6)) {
46
+ if ("number" == typeof item.family && (4 === item.family || 6 === item.family)) {
162
47
  mac = item.mac;
163
48
  break;
164
49
  }
165
50
  }
166
51
  }
167
- return mac;
168
- }
169
- exports.getMac = getMac;
170
- function createPostData({ versionType, compilerVersion }, manifestJson, updateCache) {
171
- const data = {
172
- vv: 3,
173
- device: md5(getMac()),
174
- vtype: versionType,
175
- vcode: compilerVersion,
176
- };
177
- if (manifestJson.appid) {
178
- data.appid = manifestJson.appid;
179
- }
180
- else {
181
- data.vid = updateCache.vid;
182
- }
183
- Object.keys(updateCache).forEach((name) => {
184
- const value = updateCache[name];
185
- if ((0, shared_1.isPlainObject)(value) &&
186
- ((0, shared_1.hasOwn)(value, 'dev') || (0, shared_1.hasOwn)(value, 'build'))) {
187
- data[name] = value;
188
- }
189
- });
190
- return JSON.stringify(data);
191
- }
192
- exports.createPostData = createPostData;
193
- function handleCheckVersion({ code, isUpdate, newVersion, note }, updateCache) {
194
- if (code !== 0) {
195
- return;
196
- }
197
- // clear
198
- Object.keys(updateCache).forEach((key) => {
199
- if (key !== 'vid')
200
- delete updateCache[key];
201
- });
202
- updateCache.lastCheck = Date.now();
203
- if (isUpdate) {
204
- updateCache.note = note;
205
- updateCache.newVersion = newVersion;
206
- }
207
- else {
208
- delete updateCache.note;
209
- delete updateCache.newVersion;
210
- }
211
- }
212
- const HOSTNAME = 'uniapp.dcloud.net.cn';
213
- const PATH = '/update/cli';
214
- function checkVersion(options, updateCache) {
215
- return new Promise((resolve) => {
216
- const postData = JSON.stringify({
217
- id: createPostData(options, (0, json_1.parseManifestJsonOnce)(options.inputDir), updateCache),
218
- });
219
- let responseData = '';
220
- const req = (0, https_1.request)({
221
- hostname: HOSTNAME,
222
- path: PATH,
223
- port: 443,
224
- method: 'POST',
225
- headers: {
226
- 'Content-Type': 'application/json',
227
- 'Content-Length': postData.length,
228
- },
229
- }, (res) => {
230
- res.setEncoding('utf8');
231
- res.on('data', (chunk) => {
232
- responseData += chunk;
233
- });
234
- res.on('end', () => {
235
- debugCheckUpdate('response: ', responseData);
236
- try {
237
- handleCheckVersion(JSON.parse(responseData), updateCache);
238
- }
239
- catch (e) { }
240
- resolve(true);
241
- });
242
- res.on('error', (e) => {
243
- debugCheckUpdate('response.error:', e);
244
- resolve(false);
245
- });
246
- }).on('error', (e) => {
247
- debugCheckUpdate('request.error:', e);
248
- resolve(false);
249
- });
250
- debugCheckUpdate('request: ', postData);
251
- req.write(postData);
252
- req.end();
253
- });
52
+ } return mac; }
53
+ function createPostData({ versionType: versionType, compilerVersion: compilerVersion }, manifestJson, updateCache) { const data = { vv: 3, device: md5(getMac()), vtype: versionType, vcode: compilerVersion }; return manifestJson.appid ? data.appid = manifestJson.appid : data.vid = updateCache.vid, Object.keys(updateCache).forEach((name => { const value = updateCache[name]; (0, shared_1.isPlainObject)(value) && ((0, shared_1.hasOwn)(value, "dev") || (0, shared_1.hasOwn)(value, "build")) && (data[name] = value); })), JSON.stringify(data); }
54
+ function handleCheckVersion({ code: code, isUpdate: isUpdate, newVersion: newVersion, note: note }, updateCache) { 0 === code && (Object.keys(updateCache).forEach((key => { "vid" !== key && delete updateCache[key]; })), updateCache.lastCheck = Date.now(), isUpdate ? (updateCache.note = note, updateCache.newVersion = newVersion) : (delete updateCache.note, delete updateCache.newVersion)); }
55
+ exports.checkUpdate1 = checkUpdate1, exports.checkLocalCache = checkLocalCache, exports.md5 = md5, exports.getMac = getMac, exports.createPostData = createPostData;
56
+ const HOSTNAME = "uniapp.dcloud.net.cn", PATH = "/update/cli";
57
+ function checkVersion(options, updateCache) { return new Promise((resolve => { const postData = JSON.stringify({ id: createPostData(options, (0, json_1.parseManifestJsonOnce)(options.inputDir), updateCache) }); let responseData = ""; const req = (0, https_1.request)({ hostname: HOSTNAME, path: PATH, port: 443, method: "POST", headers: { "Content-Type": "application/json", "Content-Length": postData.length } }, (res => { res.setEncoding("utf8"), res.on("data", (chunk => { responseData += chunk; })), res.on("end", (() => { debugCheckUpdate("response: ", responseData); try {
58
+ handleCheckVersion(JSON.parse(responseData), updateCache);
254
59
  }
60
+ catch (e) { } resolve(!0); })), res.on("error", (e => { debugCheckUpdate("response.error:", e), resolve(!1); })); })).on("error", (e => { debugCheckUpdate("request.error:", e), resolve(!1); })); debugCheckUpdate("request: ", postData), req.write(postData), req.end(); })); }
61
+ exports.checkUpdate = checkUpdate1;
@@ -8,7 +8,9 @@ export declare const EXTNAME_JS_RE: RegExp;
8
8
  export declare const EXTNAME_TS_RE: RegExp;
9
9
  export declare const extensions: string[];
10
10
  export declare const PAGES_JSON_JS = "pages-json-js";
11
+ export declare const PAGES_JSON_UTS = "pages-json-uts";
11
12
  export declare const MANIFEST_JSON_JS = "manifest-json-js";
13
+ export declare const MANIFEST_JSON_UTS = "manifest-json-uts";
12
14
  export declare const JSON_JS_MAP: {
13
15
  readonly 'pages.json': "pages-json-js";
14
16
  readonly 'manifest.json': "manifest-json-js";
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEXT_STYLE = exports.DEFAULT_ASSETS_RE = exports.KNOWN_ASSET_TYPES = exports.COMMON_EXCLUDE = exports.BASE_COMPONENTS_STYLE_PATH = exports.H5_COMPONENTS_STYLE_PATH = exports.H5_FRAMEWORK_STYLE_PATH = exports.H5_API_STYLE_PATH = exports.PAGE_EXTNAME = exports.PAGE_EXTNAME_APP = exports.BINDING_COMPONENTS = exports.APP_CONFIG_SERVICE = exports.APP_CONFIG = exports.APP_SERVICE_FILENAME = exports.ASSETS_INLINE_LIMIT = exports.JSON_JS_MAP = exports.MANIFEST_JSON_JS = exports.PAGES_JSON_JS = exports.extensions = exports.EXTNAME_TS_RE = exports.EXTNAME_JS_RE = exports.EXTNAME_VUE_RE = exports.EXTNAME_VUE_TEMPLATE = exports.EXTNAME_VUE = exports.EXTNAME_TS = exports.EXTNAME_JS = exports.PUBLIC_DIR = void 0;
3
+ exports.TEXT_STYLE = exports.DEFAULT_ASSETS_RE = exports.KNOWN_ASSET_TYPES = exports.COMMON_EXCLUDE = exports.BASE_COMPONENTS_STYLE_PATH = exports.H5_COMPONENTS_STYLE_PATH = exports.H5_FRAMEWORK_STYLE_PATH = exports.H5_API_STYLE_PATH = exports.PAGE_EXTNAME = exports.PAGE_EXTNAME_APP = exports.BINDING_COMPONENTS = exports.APP_CONFIG_SERVICE = exports.APP_CONFIG = exports.APP_SERVICE_FILENAME = exports.ASSETS_INLINE_LIMIT = exports.JSON_JS_MAP = exports.MANIFEST_JSON_UTS = exports.MANIFEST_JSON_JS = exports.PAGES_JSON_UTS = exports.PAGES_JSON_JS = exports.extensions = exports.EXTNAME_TS_RE = exports.EXTNAME_JS_RE = exports.EXTNAME_VUE_RE = exports.EXTNAME_VUE_TEMPLATE = exports.EXTNAME_VUE = exports.EXTNAME_TS = exports.EXTNAME_JS = exports.PUBLIC_DIR = void 0;
4
4
  exports.PUBLIC_DIR = 'static';
5
5
  exports.EXTNAME_JS = ['.js', '.ts', '.jsx', '.tsx'];
6
6
  exports.EXTNAME_TS = ['.ts', '.tsx'];
@@ -19,7 +19,9 @@ exports.extensions = [
19
19
  '.json',
20
20
  ].concat(exports.EXTNAME_VUE);
21
21
  exports.PAGES_JSON_JS = 'pages-json-js';
22
+ exports.PAGES_JSON_UTS = 'pages-json-uts';
22
23
  exports.MANIFEST_JSON_JS = 'manifest-json-js';
24
+ exports.MANIFEST_JSON_UTS = 'manifest-json-uts';
23
25
  exports.JSON_JS_MAP = {
24
26
  'pages.json': exports.PAGES_JSON_JS,
25
27
  'manifest.json': exports.MANIFEST_JSON_JS,
package/dist/easycom.d.ts CHANGED
@@ -6,6 +6,7 @@ interface EasycomOption {
6
6
  custom?: EasycomCustom;
7
7
  }
8
8
  export interface EasycomMatcher {
9
+ name: string;
9
10
  pattern: RegExp;
10
11
  replacement: string;
11
12
  }
package/dist/easycom.js CHANGED
@@ -48,7 +48,7 @@ function initEasycoms(inputDir, { dirs, platform }) {
48
48
  const options = initEasycomOptions((0, pages_1.parsePagesJsonOnce)(inputDir, platform));
49
49
  const initUTSEasycom = () => {
50
50
  (0, uts_1.initUTSComponents)(inputDir, platform).forEach((item) => {
51
- const index = easycoms.findIndex((easycom) => item.pattern.toString() === easycom.pattern.toString());
51
+ const index = easycoms.findIndex((easycom) => item.name === easycom.name);
52
52
  if (index > -1) {
53
53
  easycoms.splice(index, 1, item);
54
54
  }
@@ -110,6 +110,7 @@ function initEasycom({ dirs, rootDir, custom, extensions = ['.vue', '.jsx', '.ts
110
110
  }
111
111
  Object.keys(easycomsObj).forEach((name) => {
112
112
  easycoms.push({
113
+ name: name.startsWith('^') && name.endsWith('$') ? name.slice(1, -1) : name,
113
114
  pattern: new RegExp(name),
114
115
  replacement: easycomsObj[name],
115
116
  });
package/dist/hbx/alias.js CHANGED
@@ -17,15 +17,15 @@ const hbxPlugins = {
17
17
  };
18
18
  function initModuleAlias() {
19
19
  const compilerSfcPath = require.resolve('@vue/compiler-sfc');
20
- // const serverRendererPath = require.resolve('@vue/server-renderer')
20
+ const serverRendererPath = require.resolve('@vue/server-renderer');
21
21
  module_alias_1.default.addAliases({
22
22
  '@vue/shared': require.resolve('@vue/shared'),
23
23
  '@vue/shared/dist/shared.esm-bundler.js': require.resolve('@vue/shared/dist/shared.esm-bundler.js'),
24
24
  '@vue/compiler-dom': require.resolve('@vue/compiler-dom'),
25
25
  '@vue/compiler-sfc': compilerSfcPath,
26
- // '@vue/server-renderer': serverRendererPath,
26
+ '@vue/server-renderer': serverRendererPath,
27
27
  'vue/compiler-sfc': compilerSfcPath,
28
- // 'vue/server-renderer': serverRendererPath,
28
+ 'vue/server-renderer': serverRendererPath,
29
29
  });
30
30
  if (process.env.VITEST) {
31
31
  module_alias_1.default.addAliases({
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export * from './esbuild';
21
21
  export * from './resolve';
22
22
  export * from './scripts';
23
23
  export * from './platform';
24
- export { parseUniExtApis } from './uni_modules';
24
+ export { parseUniExtApis, parseInjects } from './uni_modules';
25
25
  export { M } from './messages';
26
26
  export * from './exports';
27
27
  export { checkUpdate } from './checkUpdate';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.checkUpdate = exports.M = exports.parseUniExtApis = void 0;
17
+ exports.checkUpdate = exports.M = exports.parseInjects = exports.parseUniExtApis = void 0;
18
18
  __exportStar(require("./fs"), exports);
19
19
  __exportStar(require("./mp"), exports);
20
20
  __exportStar(require("./url"), exports);
@@ -40,8 +40,10 @@ __exportStar(require("./scripts"), exports);
40
40
  __exportStar(require("./platform"), exports);
41
41
  var uni_modules_1 = require("./uni_modules");
42
42
  Object.defineProperty(exports, "parseUniExtApis", { enumerable: true, get: function () { return uni_modules_1.parseUniExtApis; } });
43
+ Object.defineProperty(exports, "parseInjects", { enumerable: true, get: function () { return uni_modules_1.parseInjects; } });
43
44
  var messages_1 = require("./messages");
44
45
  Object.defineProperty(exports, "M", { enumerable: true, get: function () { return messages_1.M; } });
45
46
  __exportStar(require("./exports"), exports);
47
+ // @ts-ignore
46
48
  var checkUpdate_1 = require("./checkUpdate");
47
49
  Object.defineProperty(exports, "checkUpdate", { enumerable: true, get: function () { return checkUpdate_1.checkUpdate; } });
@@ -34,7 +34,7 @@ function defineNVuePageCode(pagesJson) {
34
34
  }
35
35
  const pagePathWithExtname = (0, utils_1.normalizePagePath)(page.path, 'app');
36
36
  if (pagePathWithExtname) {
37
- importNVuePagesCode.push(`import('./${pagePathWithExtname}').then(()=>{})`);
37
+ importNVuePagesCode.push(`import('./${pagePathWithExtname}').then((res)=>{res.length})`);
38
38
  }
39
39
  });
40
40
  return importNVuePagesCode.join('\n');
@@ -4,3 +4,4 @@ export * from './json';
4
4
  export * from './pages';
5
5
  export * from './manifest';
6
6
  export * from './theme';
7
+ export { normalizeUniAppXAppPagesJson } from './uniAppX';
@@ -14,9 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.normalizeUniAppXAppPagesJson = void 0;
17
18
  __exportStar(require("./mp"), exports);
18
19
  __exportStar(require("./app"), exports);
19
20
  __exportStar(require("./json"), exports);
20
21
  __exportStar(require("./pages"), exports);
21
22
  __exportStar(require("./manifest"), exports);
22
23
  __exportStar(require("./theme"), exports);
24
+ var uniAppX_1 = require("./uniAppX");
25
+ Object.defineProperty(exports, "normalizeUniAppXAppPagesJson", { enumerable: true, get: function () { return uniAppX_1.normalizeUniAppXAppPagesJson; } });
@@ -3,7 +3,7 @@ export declare function isMiniProgramPageFile(file: string, inputDir?: string):
3
3
  export declare function isMiniProgramPageSfcFile(file: string, inputDir?: string): boolean;
4
4
  export declare function hasJsonFile(filename: string): boolean;
5
5
  export declare function getComponentJsonFilenames(): string[];
6
- export declare function findJsonFile(filename: string): ComponentJson | PageWindowOptions | Record<string, any> | undefined;
6
+ export declare function findJsonFile(filename: string): Record<string, any> | ComponentJson | PageWindowOptions | undefined;
7
7
  export declare function findUsingComponents(filename: string): UsingComponents | undefined;
8
8
  export declare function normalizeJsonFilename(filename: string): string;
9
9
  export declare function findChangedJsonFiles(supportGlobalUsingComponents?: boolean): Map<string, string>;
@@ -127,6 +127,15 @@ function validatePages(pagesJson, jsonStr) {
127
127
  else if (!pagesJson.pages.length) {
128
128
  throw new Error(`[uni-app] Error: pages.json->pages must contain at least 1 page.`);
129
129
  }
130
+ else {
131
+ const pages = [];
132
+ pagesJson.pages.forEach((page) => {
133
+ if (pages.indexOf(page.path) !== -1) {
134
+ throw new Error(`[uni-app] Error: pages.json->${page.path} duplication.`);
135
+ }
136
+ pages.push(page.path);
137
+ });
138
+ }
130
139
  }
131
140
  exports.validatePages = validatePages;
132
141
  function normalizePages(pages, platform) {
@@ -0,0 +1 @@
1
+ export declare function normalizeUniAppXAppPagesJson(jsonStr: string): UniApp.PagesJson;
@@ -0,0 +1,75 @@
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.normalizeUniAppXAppPagesJson = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const shared_1 = require("@vue/shared");
9
+ const json_1 = require("./json");
10
+ const pages_1 = require("./pages");
11
+ const utils_1 = require("../utils");
12
+ function normalizeUniAppXAppPagesJson(jsonStr) {
13
+ const pagesJson = {
14
+ pages: [],
15
+ globalStyle: {},
16
+ };
17
+ let userPagesJson = {
18
+ pages: [],
19
+ globalStyle: {},
20
+ };
21
+ // preprocess
22
+ try {
23
+ userPagesJson = (0, json_1.parseJson)(jsonStr, true);
24
+ }
25
+ catch (e) {
26
+ console.error(`[vite] Error: pages.json parse failed.\n`, jsonStr, e);
27
+ }
28
+ // pages
29
+ (0, pages_1.validatePages)(userPagesJson, jsonStr);
30
+ userPagesJson.subPackages =
31
+ userPagesJson.subPackages || userPagesJson.subpackages;
32
+ // subPackages
33
+ if (userPagesJson.subPackages) {
34
+ userPagesJson.pages.push(...normalizeSubPackages(userPagesJson.subPackages));
35
+ }
36
+ pagesJson.pages = userPagesJson.pages;
37
+ // pageStyle
38
+ normalizePages(pagesJson.pages);
39
+ // globalStyle
40
+ pagesJson.globalStyle = normalizePageStyle(userPagesJson.globalStyle);
41
+ // tabBar
42
+ if (userPagesJson.tabBar) {
43
+ pagesJson.tabBar = userPagesJson.tabBar;
44
+ }
45
+ return pagesJson;
46
+ }
47
+ exports.normalizeUniAppXAppPagesJson = normalizeUniAppXAppPagesJson;
48
+ function normalizeSubPackages(subPackages) {
49
+ const pages = [];
50
+ if ((0, shared_1.isArray)(subPackages)) {
51
+ subPackages.forEach(({ root, pages: subPages }) => {
52
+ if (root && subPages.length) {
53
+ subPages.forEach((subPage) => {
54
+ subPage.path = (0, utils_1.normalizePath)(path_1.default.join(root, subPage.path));
55
+ subPage.style = subPage.style;
56
+ pages.push(subPage);
57
+ });
58
+ }
59
+ });
60
+ }
61
+ return pages;
62
+ }
63
+ function normalizePages(pages) {
64
+ pages.forEach((page) => {
65
+ page.style = normalizePageStyle(page.style);
66
+ });
67
+ }
68
+ function normalizePageStyle(pageStyle) {
69
+ if (pageStyle) {
70
+ (0, shared_1.extend)(pageStyle, pageStyle['app']);
71
+ (0, pages_1.removePlatformStyle)(pageStyle);
72
+ return pageStyle;
73
+ }
74
+ return {};
75
+ }
@@ -31,10 +31,13 @@ declare const _default: {
31
31
  readonly 'prompt.run.devtools.mp--kuaishou': "Kuaishou Mini Program Devtools";
32
32
  readonly 'prompt.run.devtools.mp-lark': "Lark Mini Program Devtools";
33
33
  readonly 'prompt.run.devtools.mp-qq': "QQ Mini Program Devtools";
34
- readonly 'prompt.run.devtools.mp-toutiao': "ByteDance Mini Program Devtools";
34
+ readonly 'prompt.run.devtools.mp-toutiao': "Douyin Mini Program Devtools";
35
35
  readonly 'prompt.run.devtools.mp-weixin': "Weixin Mini Program Devtools";
36
+ readonly 'prompt.run.devtools.mp-jd': "Jingdong Mini Program Devtools";
37
+ readonly 'prompt.run.devtools.mp-xhs': "Xiaohongshu Mini Program Devtools";
36
38
  readonly 'prompt.run.devtools.quickapp-webview': "Quick App Alliance Devtools | Huawei Quick App Devtools";
37
39
  readonly 'prompt.run.devtools.quickapp-webview-huawei': "Huawei Quick App Devtools";
38
40
  readonly 'prompt.run.devtools.quickapp-webview-union': "Quick App Alliance Devtools";
41
+ readonly 'uvue.unsupported': "uvue does not support {platform} platform";
39
42
  };
40
43
  export default _default;
@@ -33,9 +33,12 @@ exports.default = {
33
33
  'prompt.run.devtools.mp--kuaishou': 'Kuaishou Mini Program Devtools',
34
34
  'prompt.run.devtools.mp-lark': 'Lark Mini Program Devtools',
35
35
  'prompt.run.devtools.mp-qq': 'QQ Mini Program Devtools',
36
- 'prompt.run.devtools.mp-toutiao': 'ByteDance Mini Program Devtools',
36
+ 'prompt.run.devtools.mp-toutiao': 'Douyin Mini Program Devtools',
37
37
  'prompt.run.devtools.mp-weixin': 'Weixin Mini Program Devtools',
38
+ 'prompt.run.devtools.mp-jd': 'Jingdong Mini Program Devtools',
39
+ 'prompt.run.devtools.mp-xhs': 'Xiaohongshu Mini Program Devtools',
38
40
  'prompt.run.devtools.quickapp-webview': 'Quick App Alliance Devtools | Huawei Quick App Devtools',
39
41
  'prompt.run.devtools.quickapp-webview-huawei': 'Huawei Quick App Devtools',
40
42
  'prompt.run.devtools.quickapp-webview-union': 'Quick App Alliance Devtools',
43
+ 'uvue.unsupported': 'uvue does not support {platform} platform',
41
44
  };