@dcloudio/uni-cli-shared 3.0.0-alpha-3040620220419003 → 3.0.0-alpha-3040720220422003

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.
@@ -1,3 +1,3 @@
1
1
  export * from './pages';
2
2
  export * from './manifest';
3
- export { polyfillCode } from './pages/code';
3
+ export { polyfillCode, arrayBufferCode, restoreGlobalCode } from './pages/code';
@@ -14,8 +14,10 @@ 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.polyfillCode = void 0;
17
+ exports.restoreGlobalCode = exports.arrayBufferCode = exports.polyfillCode = void 0;
18
18
  __exportStar(require("./pages"), exports);
19
19
  __exportStar(require("./manifest"), exports);
20
20
  var code_1 = require("./pages/code");
21
21
  Object.defineProperty(exports, "polyfillCode", { enumerable: true, get: function () { return code_1.polyfillCode; } });
22
+ Object.defineProperty(exports, "arrayBufferCode", { enumerable: true, get: function () { return code_1.arrayBufferCode; } });
23
+ Object.defineProperty(exports, "restoreGlobalCode", { enumerable: true, get: function () { return code_1.restoreGlobalCode; } });
@@ -12,6 +12,7 @@ function initRecursiveMerge(manifestJson, userManifestJson) {
12
12
  code: userManifestJson.versionCode,
13
13
  },
14
14
  locale: userManifestJson.locale,
15
+ uniStatistics: userManifestJson.uniStatistics,
15
16
  }, { plus: userManifestJson['app-plus'] });
16
17
  }
17
18
  exports.initRecursiveMerge = initRecursiveMerge;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initPlus = void 0;
4
+ const shared_1 = require("@vue/shared");
5
+ const merge_1 = require("merge");
4
6
  const wxPageOrientationMapping = {
5
7
  auto: [
6
8
  'portrait-primary',
@@ -13,6 +15,7 @@ const wxPageOrientationMapping = {
13
15
  };
14
16
  function initPlus(manifestJson, pagesJson) {
15
17
  var _a;
18
+ initUniStatistics(manifestJson);
16
19
  // 转换为老版本配置
17
20
  if (manifestJson.plus.modules) {
18
21
  manifestJson.permissions = manifestJson.plus.modules;
@@ -81,3 +84,41 @@ function initPlus(manifestJson, pagesJson) {
81
84
  }
82
85
  }
83
86
  exports.initPlus = initPlus;
87
+ function initUniStatistics(manifestJson) {
88
+ var _a;
89
+ // 根节点配置了统计
90
+ if (manifestJson.uniStatistics) {
91
+ manifestJson.plus.uniStatistics = (0, merge_1.recursive)(true, manifestJson.uniStatistics, manifestJson.plus.uniStatistics);
92
+ delete manifestJson.uniStatistics;
93
+ }
94
+ if (!process.env.UNI_CLOUD_SPACES) {
95
+ return;
96
+ }
97
+ let spaces = [];
98
+ try {
99
+ spaces = JSON.parse(process.env.UNI_CLOUD_SPACES);
100
+ }
101
+ catch (e) { }
102
+ if (!(0, shared_1.isArray)(spaces) || !spaces.length) {
103
+ return;
104
+ }
105
+ const space = spaces[0];
106
+ if (!space) {
107
+ return;
108
+ }
109
+ const uniStatistics = (_a = manifestJson.plus) === null || _a === void 0 ? void 0 : _a.uniStatistics;
110
+ if (!uniStatistics) {
111
+ return;
112
+ }
113
+ if (uniStatistics.version === 2 || uniStatistics.version === '2') {
114
+ if (uniStatistics.uniCloud && uniStatistics.uniCloud.spaceId) {
115
+ return;
116
+ }
117
+ uniStatistics.uniCloud = {
118
+ provider: space.provider,
119
+ spaceId: space.id,
120
+ clientSecret: space.clientSecret,
121
+ endpoint: space.apiEndpoint,
122
+ };
123
+ }
124
+ }
@@ -1,3 +1,4 @@
1
- export declare const polyfillCode = "\nif (typeof Promise !== 'undefined' && !Promise.prototype.finally) {\n Promise.prototype.finally = function(callback) {\n const promise = this.constructor\n return this.then(\n value => promise.resolve(callback()).then(() => value),\n reason => promise.resolve(callback()).then(() => {\n throw reason\n })\n )\n }\n}\nif(uni&&uni.base64ToArrayBuffer){\n ArrayBuffer = uni.base64ToArrayBuffer('').constructor\n}\n";
1
+ export declare const arrayBufferCode = "\nif (typeof uni !== 'undefined' && uni && uni.requireGlobal) {\n const global = uni.requireGlobal()\n ArrayBuffer = global.ArrayBuffer\n Int8Array = global.Int8Array\n Uint8Array = global.Uint8Array\n Uint8ClampedArray = global.Uint8ClampedArray\n Int16Array = global.Int16Array\n Uint16Array = global.Uint16Array\n Int32Array = global.Int32Array\n Uint32Array = global.Uint32Array\n Float32Array = global.Float32Array\n Float64Array = global.Float64Array\n BigInt64Array = global.BigInt64Array\n BigUint64Array = global.BigUint64Array\n};\n";
2
+ export declare const polyfillCode: string;
2
3
  export declare const restoreGlobalCode = "\nif(uni.restoreGlobal){\n uni.restoreGlobal(Vue,weex,plus,setTimeout,clearTimeout,setInterval,clearInterval)\n}\n";
3
4
  export declare const globalCode: string;
@@ -1,6 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.globalCode = exports.restoreGlobalCode = exports.polyfillCode = void 0;
3
+ exports.globalCode = exports.restoreGlobalCode = exports.polyfillCode = exports.arrayBufferCode = void 0;
4
+ exports.arrayBufferCode = `
5
+ if (typeof uni !== 'undefined' && uni && uni.requireGlobal) {
6
+ const global = uni.requireGlobal()
7
+ ArrayBuffer = global.ArrayBuffer
8
+ Int8Array = global.Int8Array
9
+ Uint8Array = global.Uint8Array
10
+ Uint8ClampedArray = global.Uint8ClampedArray
11
+ Int16Array = global.Int16Array
12
+ Uint16Array = global.Uint16Array
13
+ Int32Array = global.Int32Array
14
+ Uint32Array = global.Uint32Array
15
+ Float32Array = global.Float32Array
16
+ Float64Array = global.Float64Array
17
+ BigInt64Array = global.BigInt64Array
18
+ BigUint64Array = global.BigUint64Array
19
+ };
20
+ `;
4
21
  exports.polyfillCode = `
5
22
  if (typeof Promise !== 'undefined' && !Promise.prototype.finally) {
6
23
  Promise.prototype.finally = function(callback) {
@@ -12,10 +29,8 @@ if (typeof Promise !== 'undefined' && !Promise.prototype.finally) {
12
29
  })
13
30
  )
14
31
  }
15
- }
16
- if(uni&&uni.base64ToArrayBuffer){
17
- ArrayBuffer = uni.base64ToArrayBuffer('').constructor
18
- }
32
+ };
33
+ ${exports.arrayBufferCode}
19
34
  `;
20
35
  exports.restoreGlobalCode = `
21
36
  if(uni.restoreGlobal){
@@ -6,7 +6,7 @@ const definePage_1 = require("./definePage");
6
6
  const uniConfig_1 = require("./uniConfig");
7
7
  const uniRoutes_1 = require("./uniRoutes");
8
8
  function normalizeAppPagesJson(pagesJson) {
9
- return code_1.polyfillCode + code_1.restoreGlobalCode + (0, definePage_1.definePageCode)(pagesJson);
9
+ return (0, definePage_1.definePageCode)(pagesJson);
10
10
  }
11
11
  exports.normalizeAppPagesJson = normalizeAppPagesJson;
12
12
  function normalizeAppNVuePagesJson(pagesJson) {
@@ -10,6 +10,7 @@ export declare const M: {
10
10
  readonly 'dev.watching.end.pages': "DONE Build complete. PAGES:{pages}";
11
11
  readonly 'dev.watching.end.files': "DONE Build complete. FILES:{files}";
12
12
  readonly 'stat.warn.appid': "当前应用未配置 appid,无法使用 uni 统计,详情参考:https://ask.dcloud.net.cn/article/36303";
13
+ readonly 'stat.warn.version': "当前应用未配置uni统计版本,默认使用1.0版本;建议使用uni统计2.0版本 ,私有部署数据更安全,代码开源可定制。详情:https://uniapp.dcloud.io/uni-stat";
13
14
  readonly 'i18n.fallbackLocale.default': "当前应用未在 manifest.json 配置 fallbackLocale,默认使用:{locale}";
14
15
  readonly 'i18n.fallbackLocale.missing': "当前应用配置的 fallbackLocale 或 locale 为:{locale},但 locale 目录缺少该语言文件";
15
16
  readonly 'easycom.conflict': "easycom组件冲突:";
@@ -13,6 +13,7 @@ exports.M = {
13
13
  'dev.watching.end.pages': 'DONE Build complete. PAGES:{pages}',
14
14
  'dev.watching.end.files': 'DONE Build complete. FILES:{files}',
15
15
  'stat.warn.appid': '当前应用未配置 appid,无法使用 uni 统计,详情参考:https://ask.dcloud.net.cn/article/36303',
16
+ 'stat.warn.version': '当前应用未配置uni统计版本,默认使用1.0版本;建议使用uni统计2.0版本 ,私有部署数据更安全,代码开源可定制。详情:https://uniapp.dcloud.io/uni-stat',
16
17
  'i18n.fallbackLocale.default': '当前应用未在 manifest.json 配置 fallbackLocale,默认使用:{locale}',
17
18
  'i18n.fallbackLocale.missing': '当前应用配置的 fallbackLocale 或 locale 为:{locale},但 locale 目录缺少该语言文件',
18
19
  'easycom.conflict': 'easycom组件冲突:',
@@ -53,6 +53,10 @@ export interface MiniProgramCompilerOptions {
53
53
  * 父组件 setData 后,子组件的 properties 是否可以同步获取,目前仅 mp-weixin,mp-qq,mp-alipay 支持
54
54
  */
55
55
  getPropertySync?: boolean;
56
+ /**
57
+ * 格式化组件名称,比如 wx-btn => weixin-btn (微信不允许以 wx 命名自定义组件)
58
+ */
59
+ normalizeName?: (name: string) => string;
56
60
  };
57
61
  directive: string;
58
62
  emitFile?: (emittedFile: EmittedAsset) => string;
@@ -10,15 +10,16 @@ interface MainDescriptor {
10
10
  template: string;
11
11
  }
12
12
  export declare function parseMainDescriptor(filename: string, ast: Program, resolve: ParseDescriptor['resolve']): Promise<MainDescriptor>;
13
- export declare function updateMiniProgramComponentsByScriptFilename(scriptFilename: string, inputDir: string): void;
14
- export declare function updateMiniProgramComponentsByTemplateFilename(templateFilename: string, inputDir: string): void;
15
- export declare function updateMiniProgramGlobalComponents(filename: string, ast: Program, { inputDir, resolve, }: {
13
+ export declare function updateMiniProgramComponentsByScriptFilename(scriptFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
14
+ export declare function updateMiniProgramComponentsByTemplateFilename(templateFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
15
+ export declare function updateMiniProgramGlobalComponents(filename: string, ast: Program, { inputDir, resolve, normalizeComponentName, }: {
16
16
  inputDir: string;
17
17
  resolve: ParseDescriptor['resolve'];
18
+ normalizeComponentName: (name: string) => string;
18
19
  }): Promise<{
19
20
  imports: ImportDeclaration[];
20
21
  }>;
21
- export declare function updateMiniProgramComponentsByMainFilename(mainFilename: string, inputDir: string): void;
22
+ export declare function updateMiniProgramComponentsByMainFilename(mainFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
22
23
  export interface TemplateDescriptor {
23
24
  bindingComponents: BindingComponents;
24
25
  imports: ImportDeclaration[];
@@ -60,17 +60,17 @@ async function parseMainDescriptor(filename, ast, resolve) {
60
60
  return descriptor;
61
61
  }
62
62
  exports.parseMainDescriptor = parseMainDescriptor;
63
- function updateMiniProgramComponentsByScriptFilename(scriptFilename, inputDir) {
63
+ function updateMiniProgramComponentsByScriptFilename(scriptFilename, inputDir, normalizeComponentName) {
64
64
  const mainFilename = findMainFilenameByScriptFilename(scriptFilename);
65
65
  if (mainFilename) {
66
- updateMiniProgramComponentsByMainFilename(mainFilename, inputDir);
66
+ updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName);
67
67
  }
68
68
  }
69
69
  exports.updateMiniProgramComponentsByScriptFilename = updateMiniProgramComponentsByScriptFilename;
70
- function updateMiniProgramComponentsByTemplateFilename(templateFilename, inputDir) {
70
+ function updateMiniProgramComponentsByTemplateFilename(templateFilename, inputDir, normalizeComponentName) {
71
71
  const mainFilename = findMainFilenameByTemplateFilename(templateFilename);
72
72
  if (mainFilename) {
73
- updateMiniProgramComponentsByMainFilename(mainFilename, inputDir);
73
+ updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName);
74
74
  }
75
75
  }
76
76
  exports.updateMiniProgramComponentsByTemplateFilename = updateMiniProgramComponentsByTemplateFilename;
@@ -82,29 +82,29 @@ function findMainFilenameByTemplateFilename(templateFilename) {
82
82
  const keys = [...mainDescriptors.keys()];
83
83
  return keys.find((key) => mainDescriptors.get(key).template === templateFilename);
84
84
  }
85
- async function updateMiniProgramGlobalComponents(filename, ast, { inputDir, resolve, }) {
85
+ async function updateMiniProgramGlobalComponents(filename, ast, { inputDir, resolve, normalizeComponentName, }) {
86
86
  const { bindingComponents, imports } = await parseGlobalDescriptor(filename, ast, resolve);
87
- (0, jsonFile_1.addMiniProgramUsingComponents)('app', createUsingComponents(bindingComponents, imports, inputDir));
87
+ (0, jsonFile_1.addMiniProgramUsingComponents)('app', createUsingComponents(bindingComponents, imports, inputDir, normalizeComponentName));
88
88
  return {
89
89
  imports,
90
90
  };
91
91
  }
92
92
  exports.updateMiniProgramGlobalComponents = updateMiniProgramGlobalComponents;
93
- function createUsingComponents(bindingComponents, imports, inputDir) {
93
+ function createUsingComponents(bindingComponents, imports, inputDir, normalizeComponentName) {
94
94
  const usingComponents = {};
95
95
  imports.forEach(({ source: { value }, specifiers: [specifier] }) => {
96
96
  const { name } = specifier.local;
97
97
  if (!bindingComponents[name]) {
98
98
  return;
99
99
  }
100
- const componentName = (0, shared_1.hyphenate)(bindingComponents[name].tag);
100
+ const componentName = normalizeComponentName((0, shared_1.hyphenate)(bindingComponents[name].tag));
101
101
  if (!usingComponents[componentName]) {
102
102
  usingComponents[componentName] = (0, uni_shared_1.addLeadingSlash)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)(value, inputDir)));
103
103
  }
104
104
  });
105
105
  return usingComponents;
106
106
  }
107
- function updateMiniProgramComponentsByMainFilename(mainFilename, inputDir) {
107
+ function updateMiniProgramComponentsByMainFilename(mainFilename, inputDir, normalizeComponentName) {
108
108
  const mainDescriptor = mainDescriptors.get(mainFilename);
109
109
  if (!mainDescriptor) {
110
110
  return;
@@ -119,7 +119,7 @@ function updateMiniProgramComponentsByMainFilename(mainFilename, inputDir) {
119
119
  }
120
120
  const bindingComponents = parseBindingComponents(templateDescriptor.bindingComponents, scriptDescriptor.bindingComponents);
121
121
  const imports = parseImports(mainDescriptor.imports, scriptDescriptor.imports, templateDescriptor.imports);
122
- (0, jsonFile_1.addMiniProgramUsingComponents)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)(mainFilename, inputDir)), createUsingComponents(bindingComponents, imports, inputDir));
122
+ (0, jsonFile_1.addMiniProgramUsingComponents)((0, utils_1.removeExt)((0, utils_1.normalizeMiniProgramFilename)(mainFilename, inputDir)), createUsingComponents(bindingComponents, imports, inputDir, normalizeComponentName));
123
123
  }
124
124
  exports.updateMiniProgramComponentsByMainFilename = updateMiniProgramComponentsByMainFilename;
125
125
  function findBindingComponent(tag, bindingComponents) {
package/lib/.DS_Store ADDED
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcloudio/uni-cli-shared",
3
- "version": "3.0.0-alpha-3040620220419003",
3
+ "version": "3.0.0-alpha-3040720220422003",
4
4
  "description": "@dcloudio/uni-cli-shared",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,8 +21,8 @@
21
21
  "@babel/core": "^7.17.9",
22
22
  "@babel/parser": "^7.17.9",
23
23
  "@babel/types": "^7.17.0",
24
- "@dcloudio/uni-i18n": "3.0.0-alpha-3040620220419003",
25
- "@dcloudio/uni-shared": "3.0.0-alpha-3040620220419003",
24
+ "@dcloudio/uni-i18n": "3.0.0-alpha-3040720220422003",
25
+ "@dcloudio/uni-shared": "3.0.0-alpha-3040720220422003",
26
26
  "@intlify/core-base": "9.1.9",
27
27
  "@intlify/shared": "9.1.9",
28
28
  "@intlify/vue-devtools": "9.1.9",