@cloudbase/cals 1.0.49 → 1.0.51

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.
@@ -134,11 +134,11 @@ export default function({event, data}) {
134
134
  // 普通模块-没有上下文,无法直接获取 state 信息
135
135
  [types_1.ECodeType.NORMAL_MODULE]: `
136
136
  /*
137
- * 函数里面访问:通过 app.common.[name].xxx 访问这里定义的方法或值
138
- * 函数外面访问:通过 import(如在页面的 handler 引用的例子:import { xxx } from '../../common/[name]')
137
+ * 函数里面访问:通过 app.common.[name] 访问这里定义的方法或值
138
+ * 函数外面访问:通过 import(如在页面的 handler 引用的例子:import sayHi from '../../common/[name]')
139
139
  */
140
140
 
141
- export function sayHi() {
141
+ export default function sayHi() {
142
142
  console.log('Hi LowCode')
143
143
  }
144
144
  `,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/cals",
3
- "version": "1.0.49",
3
+ "version": "1.0.51",
4
4
  "description": "Common application specifications",
5
5
  "main": "lib/utils/index.js",
6
6
  "source": "src/utils/index.ts",
@@ -44,7 +44,7 @@
44
44
  "postcss-less": "^6.0.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@tcwd/dev-tools": "workspace:^",
47
+ "@tcwd/dev-tools": "^1.0.1",
48
48
  "@types/acorn": "^4.0.5",
49
49
  "@types/jest": "^27.4.0",
50
50
  "@types/lodash": "^4.14.168",
@@ -63,4 +63,4 @@
63
63
  "typescript": "^4.7.4",
64
64
  "typescript-json-schema": "^0.53.0"
65
65
  }
66
- }
66
+ }
@@ -1,5 +0,0 @@
1
- export declare function semverComp(a: string, b: string): number;
2
- export declare function toFixed(num: number, precision: number): number;
3
- export declare const OFFICIAL_COMPONENT_LIB_NAME = "CLOUDBASE_STANDARD";
4
- export declare const OFFICIAL_MATERIAL_LIB_NAME = "gsd-h5-react";
5
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/version-migrations/common.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAChE,eAAO,MAAM,0BAA0B,iBAAiB,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OFFICIAL_MATERIAL_LIB_NAME = exports.OFFICIAL_COMPONENT_LIB_NAME = exports.toFixed = exports.semverComp = void 0;
4
- function semverComp(a, b) {
5
- const pa = a.split('.');
6
- const pb = b.split('.');
7
- for (let i = 0; i < 3; i++) {
8
- const na = Number(pa[i]);
9
- const nb = Number(pb[i]);
10
- if (na > nb)
11
- return 1;
12
- if (nb > na)
13
- return -1;
14
- if (!isNaN(na) && isNaN(nb))
15
- return 1;
16
- if (isNaN(na) && !isNaN(nb))
17
- return -1;
18
- }
19
- return 0;
20
- }
21
- exports.semverComp = semverComp;
22
- function toFixed(num, precision) {
23
- const multiplier = Math.pow(10, (precision + 1));
24
- const wholeNumber = Math.floor(num * multiplier);
25
- return (Math.round(wholeNumber / 10) * 10) / multiplier;
26
- }
27
- exports.toFixed = toFixed;
28
- exports.OFFICIAL_COMPONENT_LIB_NAME = 'CLOUDBASE_STANDARD';
29
- exports.OFFICIAL_MATERIAL_LIB_NAME = 'gsd-h5-react';
@@ -1,3 +0,0 @@
1
- import type { IPlatformApp } from '../../types';
2
- export declare function version4(cals: IPlatformApp, isUpgrade: boolean, setSchemaVersionCallback?: (version: string | undefined) => void): IPlatformApp;
3
- //# sourceMappingURL=version4.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version4.d.ts","sourceRoot":"","sources":["../../../src/utils/version-migrations/version4.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAGhE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,OAAO,EAClB,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAC/D,YAAY,CAEd"}
@@ -1,199 +0,0 @@
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.version4 = void 0;
7
- const postcss_1 = __importDefault(require("postcss"));
8
- const postcss_less_1 = __importDefault(require("postcss-less"));
9
- const __1 = require("..");
10
- const common_1 = require("./common");
11
- function version4(cals, isUpgrade, setSchemaVersionCallback) {
12
- return transformPxLowcodeCompAndSourceComp(cals, isUpgrade, setSchemaVersionCallback);
13
- }
14
- exports.version4 = version4;
15
- const transformPxLowcodeCompAndSourceComp = (cals, isUpgrade, setSchemaVersionCallback) => {
16
- var _a, _b, _c, _d;
17
- {
18
- function transformCals(items, isUpgradeToPx) {
19
- return items.map((item) => {
20
- var _a;
21
- // 对于表单操作区的按钮组件的父容器添加.wd-form__action, 兼容组件规范化按钮升级样式
22
- if ((item === null || item === void 0 ? void 0 : item.module) === common_1.OFFICIAL_COMPONENT_LIB_NAME && (item === null || item === void 0 ? void 0 : item.component) === 'Form') {
23
- item = addClassToButtonContainer(item);
24
- }
25
- if ((_a = item === null || item === void 0 ? void 0 : item.extra) === null || _a === void 0 ? void 0 : _a.commonStyle) {
26
- item.extra.commonStyle = convertCommonStyle(item.extra.commonStyle, isUpgradeToPx);
27
- if (item.extra.commonStyle.self) {
28
- // 处理 margin padding shorthand 同步
29
- const newSelf = (0, __1.processCommonStyle2CSSProperties)(item.extra.commonStyle, {
30
- toRem: false,
31
- ignoreSelf: true,
32
- addPXUnit: true,
33
- });
34
- ['margin', 'padding', 'border'].forEach((k) => {
35
- if (item.extra.commonStyle.self[k]) {
36
- item.extra.commonStyle.self[k] = newSelf[k];
37
- }
38
- });
39
- }
40
- }
41
- if (item === null || item === void 0 ? void 0 : item.resources) {
42
- item.resources = item.resources.map((n) => {
43
- if (n.codeType === 'style') {
44
- n = convertLowCodesStyle(n, isUpgradeToPx);
45
- return n;
46
- }
47
- return n;
48
- });
49
- }
50
- if (item.items) {
51
- item.items = transformCals(item.items, isUpgradeToPx);
52
- }
53
- return item;
54
- });
55
- }
56
- let pages = cals['items'];
57
- let isDivision;
58
- if (isUpgrade && (0, common_1.semverComp)((_a = cals['schemaVersion']) !== null && _a !== void 0 ? _a : '3.0.0', '4.0.0') < 0) {
59
- // 组件库版本高于目标版本,且schemaVersion小于4, 将应用 CALS 数据中的 CSS 和 style 中的无单位和有单位的小写 px统一改写为 1/2 px
60
- isDivision = true;
61
- pages = transformCals(pages, isDivision);
62
- cals.resources = (_b = cals.resources) === null || _b === void 0 ? void 0 : _b.map((n) => {
63
- if (n.codeType === 'style') {
64
- n = convertLowCodesStyle(n, isDivision);
65
- return n;
66
- }
67
- return n;
68
- });
69
- cals['schemaVersion'] = '4.0.0';
70
- setSchemaVersionCallback === null || setSchemaVersionCallback === void 0 ? void 0 : setSchemaVersionCallback('4.0.0');
71
- }
72
- else if (!isUpgrade && (0, common_1.semverComp)((_c = cals['schemaVersion']) !== null && _c !== void 0 ? _c : '3.0.0', '4.0.0') >= 0) {
73
- // 组件库低于目标版本,并且schemaVersion大于4 将应用 CALS 数据中的 CSS 和 style 中的无单位和有单位的小写 px统一改写为 2倍 px
74
- isDivision = false;
75
- pages = transformCals(pages, isDivision);
76
- cals.resources = (_d = cals.resources) === null || _d === void 0 ? void 0 : _d.map((n) => {
77
- if (n.codeType === 'style') {
78
- n = convertLowCodesStyle(n, isDivision);
79
- return n;
80
- }
81
- return n;
82
- });
83
- delete cals['schemaVersion'];
84
- setSchemaVersionCallback === null || setSchemaVersionCallback === void 0 ? void 0 : setSchemaVersionCallback(undefined);
85
- }
86
- cals['items'] = pages;
87
- return cals;
88
- }
89
- };
90
- function hasSubmitButton(item) {
91
- var _a;
92
- if ((_a = item === null || item === void 0 ? void 0 : item.items) === null || _a === void 0 ? void 0 : _a.length) {
93
- const children = item.items;
94
- return children.some((i) => { var _a; return (i === null || i === void 0 ? void 0 : i.module) === common_1.OFFICIAL_COMPONENT_LIB_NAME && i.component === 'Button' && ((_a = i === null || i === void 0 ? void 0 : i.attributes) === null || _a === void 0 ? void 0 : _a.formType) === 'submit'; });
95
- }
96
- return false;
97
- }
98
- function addClassToButtonContainer(item) {
99
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
100
- if ((item === null || item === void 0 ? void 0 : item.module) === common_1.OFFICIAL_MATERIAL_LIB_NAME && item.component === 'Container') {
101
- if (hasSubmitButton(item)) {
102
- if (((_a = item.attributes) === null || _a === void 0 ? void 0 : _a.class) && !((_b = item.attributes) === null || _b === void 0 ? void 0 : _b.class.includes('wd-form__action'))) {
103
- if (typeof ((_c = item.attributes) === null || _c === void 0 ? void 0 : _c.class) === 'string') {
104
- item.attributes = Object.assign(Object.assign({}, item.attributes), { class: `${(_d = item.attributes) === null || _d === void 0 ? void 0 : _d.class} wd-form__action` });
105
- }
106
- else if (Array.isArray((_e = item.attributes) === null || _e === void 0 ? void 0 : _e.class)) {
107
- item.attributes = Object.assign(Object.assign({}, item.attributes), { class: [...(_f = item.attributes) === null || _f === void 0 ? void 0 : _f.class, 'wd-form__action'] });
108
- }
109
- }
110
- else if (!((_g = item.attributes) === null || _g === void 0 ? void 0 : _g.class)) {
111
- item.attributes = Object.assign(Object.assign({}, item.attributes), { class: 'wd-form__action' });
112
- }
113
- // 移除旧的padding配置
114
- if ((_j = (_h = item === null || item === void 0 ? void 0 : item.extra) === null || _h === void 0 ? void 0 : _h.commonStyle) === null || _j === void 0 ? void 0 : _j.padding) {
115
- delete item.extra.commonStyle.padding;
116
- }
117
- }
118
- }
119
- if ((_k = item === null || item === void 0 ? void 0 : item.items) === null || _k === void 0 ? void 0 : _k.length) {
120
- item.items = item.items.map((i) => addClassToButtonContainer(i));
121
- }
122
- return item;
123
- }
124
- function jsonTranverse(json, reviver) {
125
- return JSON.parse(JSON.stringify(json, reviver, 2));
126
- }
127
- function convertCommonStyle(value, isUpgrade) {
128
- return jsonTranverse(value, (key, value) => {
129
- if (__1.isUnitlessNumber[key]) {
130
- return value;
131
- }
132
- if (typeof value === 'number') {
133
- if (isUpgrade) {
134
- value = value / 2;
135
- }
136
- else {
137
- value = value * 2;
138
- }
139
- }
140
- else if (/^((\d+\.)?\d+)(px)?$/.test(value)) {
141
- value = !value ? value : value === null || value === void 0 ? void 0 : value.replace('px', '');
142
- if (isUpgrade) {
143
- // console.log(key, value, Number(value) / 2);
144
- value = !value ? value : `${(0, common_1.toFixed)(Number(value) / 2, 3)}px`;
145
- }
146
- else {
147
- value = !value ? value : `${Number(value) * 2}px`;
148
- }
149
- }
150
- return value;
151
- });
152
- }
153
- const rem2PxPlugin = (opts) => {
154
- const rem2pxSym = Symbol('rem2pxSym');
155
- const { isUpgrade } = opts;
156
- return {
157
- postcssPlugin: 'postcss-rem2px',
158
- Declaration(decl, rule) {
159
- // Modified From https://github.com/cuth/postcss-pxtorem/blob/122649015322214f8e9d1ac852eb11c0791b634b/lib/pixel-unit-regex.js#L9
160
- // eslint-disable-next-line no-useless-escape
161
- const pxRegex = /"[^"]+"|'[^']+'|(\d*\.?\d+)px/gm;
162
- if (decl.value.indexOf('px') < 0) {
163
- return;
164
- }
165
- if (decl[rem2pxSym]) {
166
- return;
167
- }
168
- if (isUpgrade) {
169
- const value = decl.value.replace(pxRegex, (match, p1) => {
170
- if (p1 !== null && p1 !== undefined) {
171
- const r = (0, common_1.toFixed)(Number(p1) / 2, 3);
172
- const rs = r.toString();
173
- return `${rs}px`;
174
- }
175
- return match;
176
- });
177
- decl.value = value;
178
- }
179
- else {
180
- const value = decl.value.replace(pxRegex, (match, p1) => {
181
- if (p1 !== null && p1 !== undefined) {
182
- return `${Number(p1) * 2}px`;
183
- }
184
- return match;
185
- });
186
- decl.value = value;
187
- }
188
- decl[rem2pxSym] = true;
189
- },
190
- };
191
- };
192
- rem2PxPlugin.postcss = true;
193
- function convertLowCodesStyle(value, isUpgrade) {
194
- const result = (0, postcss_1.default)([rem2PxPlugin({ isUpgrade })]).process(value.code, {
195
- syntax: postcss_less_1.default,
196
- });
197
- value.code = result.css;
198
- return value;
199
- }