@tarojs/taroize 4.1.4-beta.7 → 4.1.4-beta.8

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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseStyle = exports.parseContent = exports.removeEmptyTextAndComment = exports.parseWXML = exports.createWxmlVistor = exports.getWxsImports = exports.createPreWxmlVistor = exports.convertStyleUnit = exports.wxTemplateCommand = exports.WX_SHOW = exports.WX_ELSE = exports.WX_KEY = exports.WX_FOR_INDEX = exports.WX_FOR_ITEM = exports.WX_FOR = exports.WX_ELSE_IF = exports.WX_IF = exports.NodeType = void 0;
3
+ exports.parseStyle = exports.parseContent = exports.removeEmptyTextAndComment = exports.parseWXML = exports.createWxmlVisitor = exports.getWxsImports = exports.createPreWxmlVisitor = exports.convertStyleUnit = exports.wxTemplateCommand = exports.WX_SHOW = exports.WX_ELSE = exports.WX_KEY = exports.WX_FOR_INDEX = exports.WX_FOR_ITEM = exports.WX_FOR = exports.WX_ELSE_IF = exports.WX_IF = exports.NodeType = void 0;
4
4
  /* eslint-disable camelcase */
5
5
  const path = require("node:path");
6
6
  const parser_1 = require("@babel/parser");
@@ -45,18 +45,18 @@ function buildElement(name, children = [], attributes = []) {
45
45
  children,
46
46
  };
47
47
  }
48
- // 将 style 属性中属性名转小驼峰格式 并且将 {{}} 转为 ${}格式生成对应ast节点
48
+ // 将 style 属性中属性名转小驼峰格式 并且将 {{}} 转为 ${}格式生成对应 ast 节点
49
49
  function convertStyleAttrs(styleAttrsMap) {
50
50
  (0, utils_1.updateLogFileContent)(`INFO [taroize] convertStyleAttrs - 进入函数 ${(0, utils_1.getLineBreak)()}`);
51
51
  styleAttrsMap.forEach((attr) => {
52
52
  attr.attrName = (0, shared_1.toCamelCase)(attr.attrName.trim());
53
53
  // 匹配 {{}} 内部以及左右两边值
54
54
  const attrValueReg = /([^{}]*)\{\{([^{}]*)\}\}([^{}]*)/;
55
- const matchs = attrValueReg.exec(attr.value);
56
- if (matchs !== null) {
57
- const tempLeftValue = matchs[1] || '';
58
- const tempMidValue = matchs[2] || '';
59
- const tempRightValue = matchs[3] || '';
55
+ const matches = attrValueReg.exec(attr.value);
56
+ if (matches !== null) {
57
+ const tempLeftValue = matches[1] || '';
58
+ const tempMidValue = matches[2] || '';
59
+ const tempRightValue = matches[3] || '';
60
60
  // 将模版中的内容转换为 ast 节点
61
61
  const tempMidValueAst = (0, parser_1.parse)(tempMidValue).program.body[0];
62
62
  attr.value = t.templateLiteral([t.templateElement({ raw: tempLeftValue }), t.templateElement({ raw: tempRightValue }, true)], [tempMidValueAst.expression]);
@@ -78,9 +78,9 @@ function parseStyleAttrs(styleAttrsMap, attrKeyValueMap) {
78
78
  if (attr) {
79
79
  // 对含三元运算符的写法 style="width:{{ xx ? xx : xx }}" 匹配第一个 : 避免匹配三元表达式中的 : 运算符
80
80
  const reg = /([^:]+):\s*([^;]+)/;
81
- const matchs = attr.match(reg);
82
- const attrName = matchs[1];
83
- const value = matchs[2];
81
+ const matches = attr.match(reg);
82
+ const attrName = matches[1];
83
+ const value = matches[2];
84
84
  if (attrName) {
85
85
  attrKeyValueMap.push({ attrName, value });
86
86
  }
@@ -89,9 +89,9 @@ function parseStyleAttrs(styleAttrsMap, attrKeyValueMap) {
89
89
  }
90
90
  function convertStyleUnit(value) {
91
91
  let tempValue = value;
92
- // 尺寸单位转换 都转为rem : 1rpx 转为 1/40rem,,1px 转为 1/20rem
92
+ // 尺寸单位转换 都转为 rem : 1rpx 转为 1/40rem,,1px 转为 1/20rem
93
93
  if (tempValue.indexOf('px') !== -1) {
94
- // 把 xxx="...[数字]rpx/px" 的尺寸单位都转为 rem, 转换方法类似postcss-taro-unit-transform
94
+ // 把 xxx="...[数字]rpx/px" 的尺寸单位都转为 rem, 转换方法类似 postcss-taro-unit-transform
95
95
  try {
96
96
  tempValue = tempValue
97
97
  .replace(/\s*-?([0-9.]+)(px)\b/gi, function (match, size, unit) {
@@ -106,10 +106,10 @@ function convertStyleUnit(value) {
106
106
  }
107
107
  return match.replace(size, parseFloat(size) / 40 + '').replace(unit, 'rem');
108
108
  });
109
- // 把 xx="...{{参数}}rpx/px"的尺寸单位都转为rem,比如"{{参数}}rpx" -> "{{参数/40}}rem"
109
+ // 把 xx="...{{参数}}rpx/px"的尺寸单位都转为 rem,比如"{{参数}}rpx" -> "{{参数/40}}rem"
110
110
  tempValue = tempValue
111
111
  .replace(/\{\{([^{}]*)\}\}(px)/gi, function (match, size, unit) {
112
- // 判断{{}}是否包含加减乘除算式和三元表达式, 是的话得加括号
112
+ // 判断{{}}是否包含加减乘除算式和三元表达式,是的话得加括号
113
113
  if (match.match(/[+\-*/?]/g)) {
114
114
  return match.replace(size, '(' + size + ')/20').replace(unit, 'rem');
115
115
  }
@@ -123,23 +123,23 @@ function convertStyleUnit(value) {
123
123
  });
124
124
  }
125
125
  catch (error) {
126
- (0, utils_1.createErrorCodeMsg)('WxmlUnitConversionError', `wxml内px/rpx单位转换失败: ${error}`, tempValue, global_1.globals.currentParseFile);
127
- (0, helper_1.printLog)("error" /* processTypeEnum.ERROR */, `wxml内px/rpx单位转换失败: ${error}`);
128
- (0, utils_1.updateLogFileContent)(`WARN [taroize] convertStyleUnit - wxml内px/rpx单位转换异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
126
+ (0, utils_1.createErrorCodeMsg)('WxmlUnitConversionError', `wxml px/rpx 单位转换失败:${error}`, tempValue, global_1.globals.currentParseFile);
127
+ (0, helper_1.printLog)("error" /* processTypeEnum.ERROR */, `wxml px/rpx 单位转换失败:${error}`);
128
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] convertStyleUnit - wxml px/rpx 单位转换异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
129
129
  }
130
130
  }
131
131
  return tempValue;
132
132
  }
133
133
  exports.convertStyleUnit = convertStyleUnit;
134
134
  /**
135
- * 预解析,收集wxml所有的模板信息
135
+ * 预解析,收集 wxml 所有的模板信息
136
136
  *
137
- * @param { any[] } templates wxml页面下的模板信息
137
+ * @param { any[] } templates wxml 页面下的模板信息
138
138
  * @returns Visitor
139
139
  */
140
- const createPreWxmlVistor = (templates) => {
141
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createPreWxmlVistor - 入参 ${(0, utils_1.getLineBreak)()}templates: ${templates} ${(0, utils_1.getLineBreak)()}`);
142
- // const Applys = new Map<string, string[]>()
140
+ const createPreWxmlVisitor = (templates) => {
141
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createPreWxmlVisitor - 入参 ${(0, utils_1.getLineBreak)()}templates: ${templates} ${(0, utils_1.getLineBreak)()}`);
142
+ // const Appls = new Map<string, string[]>()
143
143
  return {
144
144
  JSXElement: {
145
145
  enter(path) {
@@ -156,22 +156,22 @@ const createPreWxmlVistor = (templates) => {
156
156
  if (templateInfo) {
157
157
  templates.set(templateInfo.name, {
158
158
  funcs: templateInfo.funcs,
159
- applyTemplates: templateInfo.applys,
159
+ applyTemplates: templateInfo.applies,
160
160
  });
161
161
  }
162
162
  },
163
163
  },
164
164
  };
165
165
  };
166
- exports.createPreWxmlVistor = createPreWxmlVistor;
166
+ exports.createPreWxmlVisitor = createPreWxmlVisitor;
167
167
  /**
168
- * 根据template中使用的wxs组装需要导入的wxs语句
169
- * 如: import xxx from '../xxx.wxs.js'
168
+ * 根据 template 中使用的 wxs 组装需要导入的 wxs 语句
169
+ * 如:import xxx from '../xxx.wxs.js'
170
170
  *
171
- * @param templateFileName template模版文件名
172
- * @param usedWxses template中使用的变量是wxs模块的集合
171
+ * @param templateFileName template 模版文件名
172
+ * @param usedWxses template 中使用的变量是 wxs 模块的集合
173
173
  * @param dirPath 当前解析文件的路径
174
- * @returns 需要导入的wxs语句集合
174
+ * @returns 需要导入的 wxs 语句集合
175
175
  */
176
176
  function getWxsImports(templateFileName, usedWxses, dirPath) {
177
177
  const templatePath = path.join(global_1.globals.rootPath, 'imports', `${templateFileName}.js`);
@@ -184,10 +184,10 @@ function getWxsImports(templateFileName, usedWxses, dirPath) {
184
184
  return wxsImports;
185
185
  }
186
186
  exports.getWxsImports = getWxsImports;
187
- const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], templates) => {
188
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 入参 ${(0, utils_1.getLineBreak)()}dirPath: ${dirPath} ${(0, utils_1.getLineBreak)()}`);
187
+ const createWxmlVisitor = (loopIds, refIds, dirPath, wxses = [], imports = [], templates) => {
188
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 入参 ${(0, utils_1.getLineBreak)()}dirPath: ${dirPath} ${(0, utils_1.getLineBreak)()}`);
189
189
  const jsxAttrVisitor = (path) => {
190
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析JSXAttribute ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
190
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 JSXAttribute ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
191
191
  const name = path.node.name;
192
192
  const jsx = path.findParent((p) => p.isJSXElement());
193
193
  // 把 hidden 转换为 wxif
@@ -199,7 +199,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
199
199
  path.set('name', t.jSXIdentifier(exports.WX_IF));
200
200
  }
201
201
  }
202
- // 当设置图片mode="",则改为默认值(且taro不支持mode空值)
202
+ // 当设置图片 mode="",则改为默认值 (且 taro 不支持 mode 空值)
203
203
  if (name.name === 'mode' && path.node.value === null) {
204
204
  path.set('value', t.stringLiteral('scaleToFill'));
205
205
  }
@@ -225,20 +225,20 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
225
225
  };
226
226
  const renameJSXKey = (path) => {
227
227
  var _a, _b, _c, _d;
228
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析JSXIdentifier ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
228
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 JSXIdentifier ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
229
229
  const nodeName = path.node.name;
230
230
  if (path.parentPath.isJSXAttribute()) {
231
231
  const cacheNode = (0, lodash_1.cloneDeep)(path.parentPath.parentPath.parent);
232
232
  if (nodeName === exports.WX_SHOW) {
233
- path.replaceWith(t.jSXIdentifier(exports.WX_IF)); // wx:show转换后不支持,不频繁切换的话wx:if可替代
233
+ path.replaceWith(t.jSXIdentifier(exports.WX_IF)); // wx:show 转换后不支持,不频繁切换的话 wx:if 可替代
234
234
  const position = {
235
235
  col: ((_a = cacheNode.position) === null || _a === void 0 ? void 0 : _a.start.column) || 0,
236
236
  row: ((_b = cacheNode.position) === null || _b === void 0 ? void 0 : _b.start.line) || 0
237
237
  };
238
- (0, utils_1.createErrorCodeMsg)('uncompilableAttribute', `属性 ${nodeName}不能编译,会被替换为wx:if`, (0, utils_1.astToCode)(cacheNode) || '', global_1.globals.currentParseFile, position);
238
+ (0, utils_1.createErrorCodeMsg)('uncompilableAttribute', `属性 ${nodeName}不能编译,会被替换为 wx:if`, (0, utils_1.astToCode)(cacheNode) || '', global_1.globals.currentParseFile, position);
239
239
  // eslint-disable-next-line no-console
240
- console.log(`属性 ${nodeName}不能编译,会被替换为wx:if`);
241
- (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVistor - ${nodeName} 属性不能编译,会被替换为 wx:if ${(0, utils_1.getLineBreak)()}`);
240
+ console.log(`属性 ${nodeName}不能编译,会被替换为 wx:if`);
241
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVisitor - ${nodeName} 属性不能编译,会被替换为 wx:if ${(0, utils_1.getLineBreak)()}`);
242
242
  }
243
243
  else if (nodeName.startsWith('wx:') && !exports.wxTemplateCommand.includes(nodeName)) {
244
244
  const position = {
@@ -248,7 +248,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
248
248
  (0, utils_1.createErrorCodeMsg)('unknownScopeAttribute', `未知 wx 作用域属性: ${nodeName},该属性会被移除掉。`, (0, utils_1.astToCode)(cacheNode) || '', global_1.globals.currentParseFile, position);
249
249
  // eslint-disable-next-line no-console
250
250
  console.log(`未知 wx 作用域属性: ${nodeName},该属性会被移除掉。`);
251
- (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVistor - 未知 wx 作用域属性: ${nodeName},该属性会被移除掉 ${(0, utils_1.getLineBreak)()}`);
251
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVisitor - 未知 wx 作用域属性:${nodeName},该属性会被移除掉 ${(0, utils_1.getLineBreak)()}`);
252
252
  path.parentPath.remove();
253
253
  }
254
254
  }
@@ -258,7 +258,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
258
258
  JSXIdentifier: renameJSXKey,
259
259
  Identifier: {
260
260
  enter(path) {
261
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析Identifier ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
261
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 Identifier ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
262
262
  if (!path.isReferencedIdentifier()) {
263
263
  return;
264
264
  }
@@ -274,7 +274,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
274
274
  JSXElement: {
275
275
  enter(path) {
276
276
  var _a, _b, _c;
277
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析JSXElement ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
277
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 JSXElement ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
278
278
  const openingElement = path.get('openingElement');
279
279
  const jsxName = openingElement.get('name');
280
280
  const attrs = openingElement.get('attributes');
@@ -306,13 +306,13 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
306
306
  }
307
307
  }
308
308
  else {
309
- // 当元素设置slot标签且值为空串时,移除slot属性
309
+ // 当元素设置 slot 标签且值为空串时,移除 slot 属性
310
310
  slotAttr.remove();
311
311
  }
312
312
  }
313
313
  const tagName = jsxName.node.name;
314
314
  if (tagName === 'Slot') {
315
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - tagName: Slot ${(0, utils_1.getLineBreak)()}`);
315
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - tagName: Slot ${(0, utils_1.getLineBreak)()}`);
316
316
  const nameAttr = attrs.find((a) => t.isJSXAttribute(a.node) && a.node.name.name === 'name');
317
317
  let slotName = '';
318
318
  if (nameAttr && t.isJSXAttribute(nameAttr.node)) {
@@ -320,7 +320,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
320
320
  slotName = nameAttr.node.value.value;
321
321
  }
322
322
  else {
323
- (0, utils_1.updateLogFileContent)(`ERROR [taroize] createWxmlVistor - slot 的值不是一个字符串 ${(0, utils_1.getLineBreak)()}`);
323
+ (0, utils_1.updateLogFileContent)(`ERROR [taroize] createWxmlVisitor - slot 的值不是一个字符串 ${(0, utils_1.getLineBreak)()}`);
324
324
  // const error = codeFrameError(jsxName.node, 'slot 的值必须是一个字符串')
325
325
  // @ts-ignore
326
326
  const { line, column } = ((_b = (_a = path.node) === null || _a === void 0 ? void 0 : _a.position) === null || _b === void 0 ? void 0 : _b.start) || { line: 0, column: 0 };
@@ -333,16 +333,16 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
333
333
  path.replaceWith(path.parentPath.isJSXElement() ? t.jSXExpressionContainer(children) : children);
334
334
  }
335
335
  catch (error) {
336
- (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVistor - Slot 节点替换异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
336
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVisitor - Slot 节点替换异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
337
337
  //
338
338
  }
339
339
  }
340
340
  if (tagName === 'Wxs') {
341
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - tagName: Wxs ${(0, utils_1.getLineBreak)()}`);
341
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - tagName: Wxs ${(0, utils_1.getLineBreak)()}`);
342
342
  wxses.push(getWXS(attrs.map((a) => a.node), path, imports));
343
343
  }
344
344
  if (tagName === 'Template') {
345
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - tagName: Template ${(0, utils_1.getLineBreak)()}`);
345
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - tagName: Template ${(0, utils_1.getLineBreak)()}`);
346
346
  const template = (0, template_1.parseTemplate)(path, dirPath, wxses);
347
347
  if (template) {
348
348
  let funcs = new Set();
@@ -356,7 +356,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
356
356
  const ast = t.file(t.program([]));
357
357
  ast.program.body.unshift(taroComponentsImport, reactImport, taroImport, withWeappImport, ...wxsImports, classDecl, t.exportDefaultDeclaration(t.identifier(name)));
358
358
  const usedTemplate = new Set();
359
- // funcs的值首先来源于预解析结果
359
+ // funcs 的值首先来源于预解析结果
360
360
  if (templates) {
361
361
  const applyFuncs = (_c = templates.get(name)) === null || _c === void 0 ? void 0 : _c.funcs;
362
362
  if (applyFuncs) {
@@ -365,7 +365,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
365
365
  }
366
366
  (0, traverse_1.default)(ast, {
367
367
  JSXIdentifier(path) {
368
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析JSXIdentifier ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
368
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 JSXIdentifier ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
369
369
  const node = path.node;
370
370
  if (node.name.endsWith('Tmpl') && node.name.length > 4 && path.parentPath.isJSXOpeningElement()) {
371
371
  usedTemplate.add(node.name);
@@ -387,7 +387,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
387
387
  templateFuncs.forEach((templateFunc) => {
388
388
  const value = t.jsxExpressionContainer(t.identifier(templateFunc));
389
389
  const name = t.jsxIdentifier(templateFunc);
390
- // 传递的方法插入到Tmpl标签属性中
390
+ // 传递的方法插入到 Tmpl 标签属性中
391
391
  attributes.push(t.jsxAttribute(name, value));
392
392
  if (!funcs.has(templateFunc)) {
393
393
  funcs.add(templateFunc);
@@ -397,27 +397,27 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
397
397
  }
398
398
  },
399
399
  JSXAttribute(path) {
400
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析JSXAttribute ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
401
- // 识别template使用到的处理事件的func
400
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 JSXAttribute ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
401
+ // 识别 template 使用到的处理事件的 func
402
402
  const node = path.node;
403
403
  if (t.isJSXExpressionContainer(node.value) &&
404
404
  t.isMemberExpression(node.value.expression) &&
405
405
  t.isThisExpression(node.value.expression.object) &&
406
406
  t.isIdentifier(node.value.expression.property)) {
407
407
  const funcName = node.value.expression.property.name;
408
- // func的调用形式 this.func --> func
408
+ // func 的调用形式 this.func --> func
409
409
  path.replaceWith(t.jsxAttribute(node.name, t.jsxExpressionContainer(t.identifier(funcName))));
410
410
  }
411
411
  },
412
412
  });
413
413
  (0, traverse_1.default)(ast, {
414
- // 将使用到的处理事件的func写入到props
414
+ // 将使用到的处理事件的 func 写入到 props
415
415
  BlockStatement(path) {
416
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - 解析BlockStatement ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
416
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - 解析 BlockStatement ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
417
417
  if (funcs.size > 0) {
418
418
  const body = path.node.body;
419
419
  if (t.isVariableDeclaration(body[0])) {
420
- // 如果已经定义了props
420
+ // 如果已经定义了 props
421
421
  const declarator = body[0].declarations[0];
422
422
  if (t.isObjectPattern(declarator.id)) {
423
423
  const properties = declarator.id.properties;
@@ -456,14 +456,14 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
456
456
  }
457
457
  }
458
458
  if (tagName === 'Import') {
459
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - tagName: Import ${(0, utils_1.getLineBreak)()}`);
459
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - tagName: Import ${(0, utils_1.getLineBreak)()}`);
460
460
  const mods = (0, template_1.parseModule)(path, dirPath, 'import');
461
461
  if (mods) {
462
462
  imports.push(...mods);
463
463
  }
464
464
  }
465
465
  if (tagName === 'Include') {
466
- (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVistor - tagName: Include ${(0, utils_1.getLineBreak)()}`);
466
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] createWxmlVisitor - tagName: Include ${(0, utils_1.getLineBreak)()}`);
467
467
  (0, template_1.parseModule)(path, dirPath, 'include');
468
468
  }
469
469
  },
@@ -483,7 +483,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
483
483
  path.replaceWith(caller);
484
484
  }
485
485
  catch (error) {
486
- (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVistor - block 节点替换异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
486
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] createWxmlVisitor - block 节点替换异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
487
487
  //
488
488
  }
489
489
  }
@@ -492,7 +492,7 @@ const createWxmlVistor = (loopIds, refIds, dirPath, wxses = [], imports = [], te
492
492
  },
493
493
  };
494
494
  };
495
- exports.createWxmlVistor = createWxmlVistor;
495
+ exports.createWxmlVisitor = createWxmlVisitor;
496
496
  /**
497
497
  * @description 根据模板信息中的直接调用,遍历获取完整的调用
498
498
  * @param templates 模板信息
@@ -501,12 +501,12 @@ function templateBfs(templates) {
501
501
  var _a;
502
502
  (0, utils_1.updateLogFileContent)(`INFO [taroize] templateBfs - 进入函数 ${(0, utils_1.getLineBreak)()}`);
503
503
  const names = [];
504
- const applys = new Map();
504
+ const applies = new Map();
505
505
  for (const key of templates.keys()) {
506
506
  names.push(key);
507
507
  const templateInfo = templates.get(key);
508
508
  if (templateInfo) {
509
- applys.set(key, templateInfo.applyTemplates);
509
+ applies.set(key, templateInfo.applyTemplates);
510
510
  }
511
511
  }
512
512
  for (const name of names) {
@@ -522,11 +522,11 @@ function templateBfs(templates) {
522
522
  continue;
523
523
  }
524
524
  visited.add(template);
525
- const templateApplys = applys.get(template);
526
- if (!templateApplys || templateApplys.size === 0) {
525
+ const templateApplies = applies.get(template);
526
+ if (!templateApplies || templateApplies.size === 0) {
527
527
  continue;
528
528
  }
529
- templateApplys.forEach((item) => {
529
+ templateApplies.forEach((item) => {
530
530
  if (names.includes(item)) {
531
531
  queue.push(item);
532
532
  }
@@ -562,7 +562,7 @@ function parseWXML(dirPath, wxml, parseImport) {
562
562
  }
563
563
  }
564
564
  catch (error) {
565
- (0, utils_1.updateLogFileContent)(`WARN [taroize] parseWXML - wxml代码格式化异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
565
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] parseWXML - wxml 代码格式化异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
566
566
  //
567
567
  }
568
568
  if (!parseImport) {
@@ -591,12 +591,12 @@ function parseWXML(dirPath, wxml, parseImport) {
591
591
  if (parseResult) {
592
592
  return parseResult;
593
593
  }
594
- // 在解析wxml页面前,先进行预解析
594
+ // 在解析 wxml 页面前,先进行预解析
595
595
  // 当前预解析主要为了抽取页面下的模板信息
596
- (0, traverse_1.default)(ast, (0, exports.createPreWxmlVistor)(templates));
597
- // 获取template调用后,需要通过遍历,获取某个模板完整的调用关系
596
+ (0, traverse_1.default)(ast, (0, exports.createPreWxmlVisitor)(templates));
597
+ // 获取 template 调用后,需要通过遍历,获取某个模板完整的调用关系
598
598
  templateBfs(templates);
599
- (0, traverse_1.default)(ast, (0, exports.createWxmlVistor)(loopIds, refIds, dirPath, wxses, imports, templates));
599
+ (0, traverse_1.default)(ast, (0, exports.createWxmlVisitor)(loopIds, refIds, dirPath, wxses, imports, templates));
600
600
  refIds.forEach((id) => {
601
601
  if (loopIds.has(id) ||
602
602
  imports
@@ -660,8 +660,8 @@ function getWXS(attrs, path, imports) {
660
660
  (0, traverse_1.default)(ast, {
661
661
  CallExpression(path) {
662
662
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
663
- (0, utils_1.updateLogFileContent)(`INFO [taroize] getWXS - 解析CallExpression ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
664
- // wxs标签中getRegExp转换为new RegExp
663
+ (0, utils_1.updateLogFileContent)(`INFO [taroize] getWXS - 解析 CallExpression ${(0, utils_1.getLineBreak)()}${path} ${(0, utils_1.getLineBreak)()}`);
664
+ // wxs 标签中 getRegExp 转换为 new RegExp
665
665
  if (t.isIdentifier(path.node.callee, { name: 'getRegExp' })) {
666
666
  // 根据正则表达式是否定义了正则匹配修饰符,有则不变,没有就用默认
667
667
  if (path.node.arguments.length > 1) {
@@ -720,7 +720,7 @@ function getWXS(attrs, path, imports) {
720
720
  path.replaceWith(newExpr);
721
721
  }
722
722
  }
723
- // wxs标签中getDate()转换为new Date()
723
+ // wxs 标签中 getDate() 转换为 new Date()
724
724
  if (t.isIdentifier(path.node.callee, { name: 'getDate' })) {
725
725
  let argument = [];
726
726
  let newDate;
@@ -833,7 +833,7 @@ function transformLoop(name, attr, jsx, value) {
833
833
  node.value = t.jSXExpressionContainer(t.identifier(item.value));
834
834
  }
835
835
  else if (node.value.value === 'index') {
836
- // index表示item在数组里的下标, 并不是item的某个property, 单独抽出来处理
836
+ // index 表示 item 在数组里的下标,并不是 item 的某个 property, 单独抽出来处理
837
837
  node.value = t.jSXExpressionContainer(t.identifier(node.value.value));
838
838
  }
839
839
  else {
@@ -855,9 +855,9 @@ function transformLoop(name, attr, jsx, value) {
855
855
  jsx.replaceWith(ifBlock);
856
856
  }
857
857
  catch (error) {
858
- (0, utils_1.updateLogFileContent)(`WARN [taroize] transformLoop - wx:if和wx:for合用时父组件使用wx:if导致使用replaceWith异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
859
- // jsx外层是wx:if的转换,替换(replaceWith)时会抛出异常
860
- // catch异常后,正常替换
858
+ (0, utils_1.updateLogFileContent)(`WARN [taroize] transformLoop - wx:if wx:for 合用时父组件使用 wx:if 导致使用 replaceWith 异常 ${(0, utils_1.getLineBreak)()}${error} ${(0, utils_1.getLineBreak)()}`);
859
+ // jsx 外层是 wx:if 的转换,替换(replaceWith)时会抛出异常
860
+ // catch 异常后,正常替换
861
861
  }
862
862
  p.remove();
863
863
  }
@@ -892,7 +892,7 @@ function transformIf(name, attr, jsx, value) {
892
892
  if (jsx.node.openingElement.attributes.some((a) => t.isJSXAttribute(a) && a.name.name === 'slot')) {
893
893
  return;
894
894
  }
895
- // 考虑到wx:if和wx:for的优先级,如果同时使用,先解析wx:for
895
+ // 考虑到 wx:if wx:for 的优先级,如果同时使用,先解析 wx:for
896
896
  if (jsx.node.openingElement.attributes.some((a) => t.isJSXAttribute(a) && (a.name.name === 'wx:for' || a.name.name === 'wx:for-items'))) {
897
897
  return;
898
898
  }
@@ -1176,7 +1176,7 @@ function isAllKeyValueFormat(styleAttrsMap) {
1176
1176
  return isStringAttr;
1177
1177
  }
1178
1178
  /**
1179
- * 解析内联style属性
1179
+ * 解析内联 style 属性
1180
1180
  *
1181
1181
  * @param key 内联属性的类型
1182
1182
  * @param value 内联属性的值
@@ -1185,7 +1185,7 @@ function isAllKeyValueFormat(styleAttrsMap) {
1185
1185
  function parseStyle(key, value) {
1186
1186
  (0, utils_1.updateLogFileContent)(`INFO [taroize] parseStyle - 入参 ${(0, utils_1.getLineBreak)()}key: ${key} ${(0, utils_1.getLineBreak)()}value: ${value} ${(0, utils_1.getLineBreak)()}`);
1187
1187
  const styleAttrs = value.trim().split(';');
1188
- // 针对attrName: attrValue 格式做转换处理, 其他类型采用'+'连接符
1188
+ // 针对 attrName: attrValue 格式做转换处理,其他类型采用'+'连接符
1189
1189
  if (isAllKeyValueFormat(styleAttrs)) {
1190
1190
  const attrKeyValueMap = [];
1191
1191
  parseStyleAttrs(styleAttrs, attrKeyValueMap);
@@ -1214,7 +1214,7 @@ function parseAttribute(attr) {
1214
1214
  console.log((0, utils_1.codeFrameError)(attr, 'Taro/React 不支持 class 传入数组,此写法可能无法得到正确的 class'));
1215
1215
  }
1216
1216
  value = convertStyleUnit(value);
1217
- // 判断属性是否为style属性
1217
+ // 判断属性是否为 style 属性
1218
1218
  if (key === 'style' && value) {
1219
1219
  try {
1220
1220
  const styleParseReslut = parseStyle(key, value);
@@ -1247,7 +1247,7 @@ function parseAttribute(attr) {
1247
1247
  catch (error) {
1248
1248
  const pureContent = content.slice(1, content.length - 1);
1249
1249
  if (constant_1.reserveKeyWords.has(pureContent)) {
1250
- const err = `转换模板参数: \`${key}: ${value}\` 报错: \`${pureContent}\` 是 JavaScript 保留字,请不要使用它作为值。`;
1250
+ const err = `转换模板参数: \`${key}: ${value}\` 报错:\`${pureContent}\` 是 JavaScript 保留字,请不要使用它作为值。`;
1251
1251
  if (key === exports.WX_KEY) {
1252
1252
  expr = t.stringLiteral('');
1253
1253
  }
@@ -1290,7 +1290,7 @@ function parseAttribute(attr) {
1290
1290
  jsxValue = t.jSXExpressionContainer(t.memberExpression(t.thisExpression(), t.identifier(jsxValue.value)));
1291
1291
  }
1292
1292
  }
1293
- // 如果data-xxx自定义属性名xxx不是以-分隔的写法就要转成全小写属性名
1293
+ // 如果 data-xxx 自定义属性名 xxx 不是以 - 分隔的写法就要转成全小写属性名
1294
1294
  if (value && jsxKey.startsWith('data-')) {
1295
1295
  const realKey = jsxKey.replace(/^data-/, '');
1296
1296
  if (realKey.indexOf('-') === -1) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wxml.js","sourceRoot":"","sources":["../../src/wxml.ts"],"names":[],"mappings":"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"}