@tarojs/taroize 3.7.0-alpha.26 → 3.7.0-alpha.27

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,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseModule = exports.getWXMLsource = exports.parseTemplate = exports.buildTemplateName = void 0;
4
- const t = require("babel-types");
5
- const fs = require("fs");
3
+ exports.parseModule = exports.getWXMLsource = exports.parseTemplate = exports.preParseTemplate = exports.getSrcRelPath = exports.buildTemplateName = void 0;
4
+ const t = require("@babel/types");
5
+ const helper_1 = require("@tarojs/helper");
6
6
  const path_1 = require("path");
7
7
  const global_1 = require("./global");
8
8
  const utils_1 = require("./utils");
@@ -29,28 +29,147 @@ function buildTemplateName(name, pascal = true) {
29
29
  return str.join('');
30
30
  }
31
31
  exports.buildTemplateName = buildTemplateName;
32
- function parseTemplate(path, dirPath) {
32
+ /**
33
+ * 支持import的src绝对路径转为相对路径
34
+ *
35
+ * @param dirPath 文件目录的绝对路径
36
+ * @param srcPath import的src路径
37
+ * @returns 处理后的相对路径
38
+ */
39
+ function getSrcRelPath(dirPath, srcPath) {
40
+ if (srcPath.startsWith('/')) {
41
+ const absolutPath = (0, path_1.join)(utils_1.setting.rootPath, srcPath.substr(1));
42
+ if (!helper_1.fs.existsSync(absolutPath) && !helper_1.fs.existsSync(`${absolutPath}.wxml`)) {
43
+ throw new Error(`import/include 的 src 请填入正确路径再进行转换:src="${srcPath}"`);
44
+ }
45
+ let relativePath = (0, path_1.relative)(dirPath, absolutPath);
46
+ relativePath = relativePath.replace(/\\/g, '/');
47
+ if (relativePath.indexOf('.') !== 0) {
48
+ srcPath = './' + relativePath;
49
+ return srcPath;
50
+ }
51
+ else {
52
+ return relativePath;
53
+ }
54
+ }
55
+ else {
56
+ return srcPath;
57
+ }
58
+ }
59
+ exports.getSrcRelPath = getSrcRelPath;
60
+ /**
61
+ * @description 预解析template模板
62
+ * @param path template在AST中的区域
63
+ * @returns
64
+ */
65
+ function preParseTemplate(path) {
33
66
  if (!path.container) {
34
67
  return;
35
68
  }
36
69
  const openingElement = path.get('openingElement');
37
70
  const attrs = openingElement.get('attributes');
38
- const is = attrs.find(attr => attr.get('name').isJSXIdentifier({ name: 'is' }));
39
- const data = attrs.find(attr => attr.get('name').isJSXIdentifier({ name: 'data' }));
40
- // const spread = attrs.find(attr => attr.get('name').isJSXIdentifier({ name: 'spread' }))
41
- const name = attrs.find(attr => attr.get('name').isJSXIdentifier({ name: 'name' }));
71
+ const name = attrs.find((attr) => t.isJSXAttribute(attr) &&
72
+ t.isJSXIdentifier(attr.get('name')) &&
73
+ t.isJSXAttribute(attr.node) &&
74
+ attr.node.name.name === 'name');
75
+ if (!(name && t.isJSXAttribute(name.node))) {
76
+ return;
77
+ }
78
+ // 获取template name
79
+ const value = name.node.value;
80
+ if (value === null || !t.isStringLiteral(value)) {
81
+ throw new Error('template 的 `name` 属性只能是字符串');
82
+ }
83
+ const templateName = buildTemplateName(value.value);
84
+ const templateFuncs = new Set();
85
+ const templateApplys = new Set();
86
+ path.traverse({
87
+ JSXAttribute(p) {
88
+ // 获取 template方法
89
+ const node = p.node;
90
+ if (t.isJSXExpressionContainer(node.value) &&
91
+ t.isMemberExpression(node.value.expression) &&
92
+ t.isThisExpression(node.value.expression.object) &&
93
+ t.isIdentifier(node.value.expression.property)) {
94
+ // funcName加入到funcs
95
+ const funcName = node.value.expression.property.name;
96
+ if (!templateFuncs.has(funcName)) {
97
+ templateFuncs.add(funcName);
98
+ }
99
+ }
100
+ },
101
+ JSXOpeningElement(p) {
102
+ // 获取 template调用的模板
103
+ const attrs = p.get('attributes');
104
+ const is = attrs.find((attr) => t.isJSXAttribute(attr) &&
105
+ t.isJSXIdentifier(attr.get('name')) &&
106
+ t.isJSXAttribute(attr.node) &&
107
+ attr.node.name.name === 'is');
108
+ if (!(is && t.isJSXAttribute(is.node))) {
109
+ return;
110
+ }
111
+ const value = is.node.value;
112
+ if (!value) {
113
+ throw new Error('template 的 `is` 属性不能为空');
114
+ }
115
+ // is的模板调用形式为 is="xxx", xxx为模板名或表达式
116
+ if (t.isStringLiteral(value)) {
117
+ const apply = buildTemplateName(value.value);
118
+ templateApplys.add(apply);
119
+ }
120
+ },
121
+ });
122
+ return {
123
+ name: templateName,
124
+ funcs: templateFuncs,
125
+ applys: templateApplys,
126
+ };
127
+ }
128
+ exports.preParseTemplate = preParseTemplate;
129
+ function parseTemplate(path, dirPath, wxses) {
130
+ if (!path.container || !path.isJSXElement()) {
131
+ return;
132
+ }
133
+ (0, utils_1.printToLogFile)(`package: taroize, funName: parseTemplate, path: ${path}, dirPath: ${dirPath} ${(0, utils_1.getLineBreak)()}`);
134
+ const openingElement = path.get('openingElement');
135
+ const attrs = openingElement.get('attributes');
136
+ const is = attrs.find((attr) => t.isJSXAttribute(attr) &&
137
+ t.isJSXIdentifier(attr.get('name')) &&
138
+ t.isJSXAttribute(attr.node) &&
139
+ attr.node.name.name === 'is');
140
+ const data = attrs.find((attr) => t.isJSXAttribute(attr) &&
141
+ t.isJSXIdentifier(attr.get('name')) &&
142
+ t.isJSXAttribute(attr.node) &&
143
+ attr.node.name.name === 'data');
144
+ const name = attrs.find((attr) => t.isJSXAttribute(attr) &&
145
+ t.isJSXIdentifier(attr.get('name')) &&
146
+ t.isJSXAttribute(attr.node) &&
147
+ attr.node.name.name === 'name');
42
148
  const refIds = new Set();
43
149
  const loopIds = new Set();
44
150
  const imports = [];
45
- if (name) {
151
+ if (name && t.isJSXAttribute(name.node)) {
46
152
  const value = name.node.value;
47
153
  if (value === null || !t.isStringLiteral(value)) {
48
154
  throw new Error('template 的 `name` 属性只能是字符串');
49
155
  }
156
+ // 收集template原始name, 作为map的key
157
+ const templateName = value.value;
50
158
  const className = buildTemplateName(value.value);
51
159
  path.traverse((0, wxml_1.createWxmlVistor)(loopIds, refIds, dirPath, [], imports));
160
+ // refIds中可能包含wxs模块,应从refIds中去除并单独以模块的形式导入
161
+ const usedWxses = new Set();
162
+ const refdata = refIds;
163
+ refdata.forEach((refId) => {
164
+ wxses.forEach((wxsId) => {
165
+ if (wxsId.module.includes(refId)) {
166
+ usedWxses.add(wxsId);
167
+ refIds.delete(refId);
168
+ }
169
+ });
170
+ });
52
171
  const firstId = Array.from(refIds)[0];
53
- refIds.forEach(id => {
172
+ refIds.forEach((id) => {
54
173
  if (loopIds.has(id) && id !== firstId) {
55
174
  refIds.delete(id);
56
175
  }
@@ -71,13 +190,17 @@ function parseTemplate(path, dirPath) {
71
190
  render = (0, utils_1.buildRender)(block, [], Array.from(refIds), []);
72
191
  }
73
192
  const classDecl = t.classDeclaration(t.identifier(className), t.memberExpression(t.identifier('React'), t.identifier('Component')), t.classBody([render]), []);
193
+ // 添加withWeapp装饰器
194
+ classDecl.decorators = [t.decorator(t.callExpression(t.identifier('withWeapp'), [t.objectExpression([])]))];
74
195
  path.remove();
75
196
  return {
76
197
  name: className,
77
- ast: classDecl
198
+ ast: classDecl,
199
+ tmplName: templateName,
200
+ usedWxses: usedWxses,
78
201
  };
79
202
  }
80
- else if (is) {
203
+ else if (is && t.isJSXAttribute(is.node)) {
81
204
  const value = is.node.value;
82
205
  if (!value) {
83
206
  throw new Error('template 的 `is` 属性不能为空');
@@ -85,7 +208,7 @@ function parseTemplate(path, dirPath) {
85
208
  if (t.isStringLiteral(value)) {
86
209
  const className = buildTemplateName(value.value);
87
210
  const attributes = [];
88
- if (data) {
211
+ if (data && t.isJSXAttribute(data.node)) {
89
212
  attributes.push(data.node);
90
213
  }
91
214
  path.replaceWith(t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier(className), attributes), t.jSXClosingElement(t.jSXIdentifier(className)), [], true));
@@ -94,7 +217,7 @@ function parseTemplate(path, dirPath) {
94
217
  if (t.isStringLiteral(value.expression)) {
95
218
  const className = buildTemplateName(value.expression.value);
96
219
  const attributes = [];
97
- if (data) {
220
+ if (data && t.isJSXAttribute(data.node)) {
98
221
  attributes.push(data.node);
99
222
  }
100
223
  path.replaceWith(t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier(className), attributes), t.jSXClosingElement(t.jSXIdentifier(className)), [], true));
@@ -105,11 +228,13 @@ function parseTemplate(path, dirPath) {
105
228
  throw new Error('当 template is 标签是三元表达式时,他的两个值都必须为字符串');
106
229
  }
107
230
  const attributes = [];
108
- if (data) {
231
+ if (data && t.isJSXAttribute(data.node)) {
109
232
  attributes.push(data.node);
110
233
  }
111
234
  const block = (0, utils_1.buildBlockElement)();
112
- block.children = [t.jSXExpressionContainer(t.conditionalExpression(test, t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier('Template'), attributes.concat([t.jSXAttribute(t.jSXIdentifier('is'), consequent)])), t.jSXClosingElement(t.jSXIdentifier('Template')), [], true), t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier('Template'), attributes.concat([t.jSXAttribute(t.jSXIdentifier('is'), alternate)])), t.jSXClosingElement(t.jSXIdentifier('Template')), [], true)))];
235
+ block.children = [
236
+ t.jSXExpressionContainer(t.conditionalExpression(test, t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier('Template'), attributes.concat([t.jSXAttribute(t.jSXIdentifier('is'), consequent)])), t.jSXClosingElement(t.jSXIdentifier('Template')), [], true), t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier('Template'), attributes.concat([t.jSXAttribute(t.jSXIdentifier('is'), alternate)])), t.jSXClosingElement(t.jSXIdentifier('Template')), [], true))),
237
+ ];
113
238
  path.replaceWith(block);
114
239
  }
115
240
  }
@@ -120,11 +245,11 @@ function parseTemplate(path, dirPath) {
120
245
  exports.parseTemplate = parseTemplate;
121
246
  function getWXMLsource(dirPath, src, type) {
122
247
  try {
123
- let filePath = (0, path_1.resolve)(dirPath, src);
248
+ let filePath = (0, path_1.join)(dirPath, src);
124
249
  if (!(0, path_1.extname)(filePath)) {
125
- filePath = (filePath + '.wxml');
250
+ filePath = filePath + '.wxml';
126
251
  }
127
- const file = fs.readFileSync(filePath, 'utf-8');
252
+ const file = helper_1.fs.readFileSync(filePath, 'utf-8');
128
253
  return file;
129
254
  }
130
255
  catch (e) {
@@ -134,32 +259,31 @@ function getWXMLsource(dirPath, src, type) {
134
259
  }
135
260
  exports.getWXMLsource = getWXMLsource;
136
261
  function parseModule(jsx, dirPath, type) {
262
+ (0, utils_1.printToLogFile)(`package: taroize, funName: parseModule, jsx: ${jsx}, dirPath: ${dirPath} ${(0, utils_1.getLineBreak)()}`);
137
263
  const openingElement = jsx.get('openingElement');
138
264
  const attrs = openingElement.get('attributes');
139
- const src = attrs.find(attr => attr.get('name').isJSXIdentifier({ name: 'src' }));
265
+ // const src = attrs.find(attr => t.isJSXAttribute(attr) && t.isJSXIdentifier(attr.name) && attr.name.name === 'src')
266
+ // Fix
267
+ const src = attrs.find((attr) => t.isJSXAttribute(attr) &&
268
+ t.isJSXIdentifier(attr.get('name')) &&
269
+ t.isJSXAttribute(attr.node) &&
270
+ attr.node.name.name === 'src');
140
271
  if (!src) {
141
272
  throw new Error(`${type} 标签必须包含 \`src\` 属性`);
142
273
  }
143
274
  if ((0, path_1.extname)(dirPath)) {
144
275
  dirPath = (0, path_1.dirname)(dirPath);
145
276
  }
146
- const value = src.get('value');
147
- if (!value.isStringLiteral()) {
148
- throw new Error(`${type} 标签的 src 属性值必须是一个字符串`);
277
+ if (!t.isJSXAttribute(src.node)) {
278
+ throw new Error(`${type} 标签src AST节点 必须包含node`);
149
279
  }
150
- let srcValue = value.node.value;
151
- if (srcValue.startsWith('/')) {
152
- const vpath = (0, path_1.resolve)(utils_1.setting.rootPath, srcValue.substr(1));
153
- if (!fs.existsSync(vpath)) {
154
- throw new Error(`import/include 的 src 请填入相对路径再进行转换:src="${srcValue}"`);
155
- }
156
- let relativePath = (0, path_1.relative)(dirPath, vpath);
157
- relativePath = relativePath.replace(/\\/g, '/');
158
- if (relativePath.indexOf('.') !== 0) {
159
- srcValue = './' + relativePath;
160
- }
161
- srcValue = relativePath;
280
+ const value = src.node.value;
281
+ if (!t.isStringLiteral(value)) {
282
+ throw new Error(`${type} 标签的 src 属性值必须是一个字符串`);
162
283
  }
284
+ let srcValue = value.value;
285
+ // 判断是否为绝对路径
286
+ srcValue = getSrcRelPath(dirPath, srcValue);
163
287
  if (type === 'import') {
164
288
  const wxml = getWXMLsource(dirPath, srcValue, type);
165
289
  const { imports } = (0, wxml_1.parseWXML)((0, path_1.resolve)(dirPath, srcValue), wxml, true);
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":"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"}
package/lib/src/utils.js CHANGED
@@ -1,19 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_Component_SET = exports.codeFrameError = exports.setting = exports.buildImportStatement = exports.buildRender = exports.pascalName = exports.buildBlockElement = exports.buildTemplate = exports.parseCode = exports.isValidVarName = exports.isAliasThis = void 0;
3
+ exports.printToLogFile = exports.getLineBreak = exports.isCommonjsModule = exports.DEFAULT_Component_SET = exports.codeFrameError = exports.setting = exports.buildImportStatement = exports.buildRender = exports.pascalName = exports.buildBlockElement = exports.buildTemplate = exports.parseCode = exports.isValidVarName = exports.normalizePath = exports.isAliasThis = void 0;
4
4
  const code_frame_1 = require("@babel/code-frame");
5
- const babel_core_1 = require("babel-core");
6
- const template = require("babel-template");
7
- const t = require("babel-types");
5
+ const parser_1 = require("@babel/parser");
6
+ const template_1 = require("@babel/template");
7
+ const traverse_1 = require("@babel/traverse");
8
+ const t = require("@babel/types");
9
+ const helper_1 = require("@tarojs/helper");
8
10
  const lodash_1 = require("lodash");
11
+ const global_1 = require("./global");
9
12
  function isAliasThis(p, name) {
10
13
  const binding = p.scope.getBinding(name);
11
14
  if (binding) {
12
- return binding.path.isVariableDeclarator() && binding.path.get('init').isThisExpression();
15
+ return binding.path.isVariableDeclarator() && t.isThisExpression(binding.path.get('init'));
13
16
  }
14
17
  return false;
15
18
  }
16
19
  exports.isAliasThis = isAliasThis;
20
+ /**
21
+ * 标准化传入路径
22
+ *
23
+ * @param path 如D:\\admin格式路径
24
+ * @returns 替换\\返回标准路径
25
+ */
26
+ function normalizePath(path) {
27
+ if (typeof path === 'undefined') {
28
+ return '';
29
+ }
30
+ return path.replace(/\\/g, '/');
31
+ }
32
+ exports.normalizePath = normalizePath;
17
33
  function isValidVarName(str) {
18
34
  if (typeof str !== 'string') {
19
35
  return false;
@@ -31,28 +47,69 @@ function isValidVarName(str) {
31
47
  return true;
32
48
  }
33
49
  exports.isValidVarName = isValidVarName;
34
- function parseCode(code) {
35
- return (0, babel_core_1.transform)(code, {
36
- parserOpts: {
50
+ function parseCode(code, scriptPath) {
51
+ printToLogFile(`package: taroize, funName: parseCode, scriptPath: ${scriptPath} ${getLineBreak()}`);
52
+ let ast = {};
53
+ if (typeof scriptPath !== 'undefined') {
54
+ ast = (0, parser_1.parse)(code, {
55
+ sourceFilename: scriptPath,
37
56
  sourceType: 'module',
38
57
  plugins: [
39
- 'classProperties',
40
58
  'jsx',
41
59
  'flow',
42
- 'flowComment',
43
- 'trailingFunctionCommas',
44
- 'asyncFunctions',
45
- 'exponentiationOperator',
46
- 'asyncGenerators',
47
- 'objectRestSpread',
48
- 'decorators',
49
- 'dynamicImport'
50
- ]
51
- }
52
- }).ast;
60
+ 'decorators-legacy',
61
+ ['optionalChainingAssign', { version: '2023-07' }],
62
+ 'sourcePhaseImports',
63
+ 'throwExpressions',
64
+ 'deferredImportEvaluation',
65
+ 'exportDefaultFrom'
66
+ ],
67
+ });
68
+ }
69
+ else {
70
+ ast = (0, parser_1.parse)(code, {
71
+ sourceType: 'module',
72
+ plugins: [
73
+ 'jsx',
74
+ 'flow',
75
+ 'decorators-legacy',
76
+ ['optionalChainingAssign', { version: '2023-07' }],
77
+ 'sourcePhaseImports',
78
+ 'throwExpressions',
79
+ 'deferredImportEvaluation',
80
+ 'exportDefaultFrom'
81
+ ],
82
+ });
83
+ }
84
+ // 移除Flow类型注释
85
+ (0, traverse_1.default)(ast, {
86
+ TypeAnnotation(path) {
87
+ path.remove();
88
+ },
89
+ });
90
+ return ast;
53
91
  }
54
92
  exports.parseCode = parseCode;
55
- const buildTemplate = (str) => template(str)().expression;
93
+ const buildTemplate = (str) => {
94
+ // 检查字符串中是否包含占位符
95
+ const hasPlaceholder = /{{\s*(\w+)\s*}/.test(str);
96
+ let ast;
97
+ if (hasPlaceholder) {
98
+ // 如果存在占位符,则使用模板创建AST
99
+ const astTemplate = (0, template_1.default)(str);
100
+ ast = astTemplate({});
101
+ }
102
+ else {
103
+ // 否则直接解析字符串为AST
104
+ ast = (0, parser_1.parse)(str).program.body[0];
105
+ }
106
+ if (t.isExpressionStatement(ast)) {
107
+ return ast.expression;
108
+ }
109
+ else {
110
+ throw new Error(`Invalid AST. Expected an ExpressionStatement`);
111
+ }
112
+ };
56
113
  exports.buildTemplate = buildTemplate;
57
114
  function buildBlockElement() {
58
115
  return t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier('Block'), []), t.jSXClosingElement(t.jSXIdentifier('Block')), []);
@@ -67,44 +124,58 @@ function buildRender(returned, stateKeys, propsKeys, templateType) {
67
124
  const returnStatement = [t.returnStatement(returned)];
68
125
  if (stateKeys.length) {
69
126
  const stateDecl = t.variableDeclaration('const', [
70
- t.variableDeclarator(t.objectPattern(Array.from(new Set(stateKeys)).filter(s => !propsKeys.includes(s)).map(s => t.objectProperty(t.identifier(s), t.identifier(s), false, true))), t.memberExpression(t.thisExpression(), t.identifier('data')))
127
+ t.variableDeclarator(t.objectPattern(Array.from(new Set(stateKeys))
128
+ .filter((s) => !propsKeys.includes(s))
129
+ .map((s) => t.objectProperty(t.identifier(s), t.identifier(s), false, true))), t.memberExpression(t.thisExpression(), t.identifier('data'))),
71
130
  ]);
72
131
  returnStatement.unshift(stateDecl);
73
132
  }
74
133
  if (propsKeys.length) {
75
- let patterns = t.objectPattern(Array.from(new Set(propsKeys)).map(s => t.objectProperty(t.identifier(s), t.identifier(s), false, true)));
134
+ let patterns = t.objectPattern(Array.from(new Set(propsKeys)).map((s) => t.objectProperty(t.identifier(s), t.identifier(s), false, true)));
76
135
  if (typeof templateType === 'string') {
77
136
  patterns = t.objectPattern([
78
137
  t.objectProperty(t.identifier('data'), templateType === 'wxParseData'
79
- ? t.objectPattern([t.objectProperty(t.identifier('wxParseData'), t.identifier('wxParseData'))])
80
- : t.identifier(templateType))
138
+ ? t.objectPattern([
139
+ t.objectProperty(t.identifier('wxParseData'), t.identifier('wxParseData')),
140
+ ])
141
+ : t.identifier(templateType)),
81
142
  ]);
82
143
  }
83
144
  else if (Array.isArray(templateType)) {
84
- patterns = t.objectPattern([
85
- t.objectProperty(t.identifier('data'), patterns)
86
- ]);
145
+ patterns = t.objectPattern([t.objectProperty(t.identifier('data'), patterns)]);
87
146
  }
88
147
  const stateDecl = t.variableDeclaration('const', [
89
- t.variableDeclarator(patterns, t.memberExpression(t.thisExpression(), t.identifier('props')))
148
+ t.variableDeclarator(patterns, t.memberExpression(t.thisExpression(), t.identifier('props'))),
90
149
  ]);
91
150
  returnStatement.unshift(stateDecl);
92
151
  }
93
152
  return t.classMethod('method', t.identifier('render'), [], t.blockStatement(returnStatement));
94
153
  }
95
154
  exports.buildRender = buildRender;
96
- function buildImportStatement(source, specifiers = [], defaultSpec) {
97
- return t.importDeclaration(defaultSpec ? [defaultSpec, ...specifiers].map((spec, index) => {
98
- if (index === 0) {
99
- return t.importDefaultSpecifier(t.identifier(defaultSpec));
155
+ function buildImportStatement(source, specifiers = [], defaultSpec, isCommonjsModule) {
156
+ if (isCommonjsModule) {
157
+ if (defaultSpec && specifiers.length > 0) {
158
+ throw new Error(`commomjs模块不支持同时引入default和非default模块,default:${defaultSpec}, 非default:${specifiers}`);
100
159
  }
101
- return t.importSpecifier(t.identifier(spec), t.identifier(spec));
102
- }) : specifiers.map(s => t.importSpecifier(t.identifier(s), t.identifier(s))), t.stringLiteral(source));
160
+ return t.variableDeclaration('const', [
161
+ t.variableDeclarator(defaultSpec
162
+ ? t.identifier(defaultSpec)
163
+ : t.objectPattern(specifiers.map((specifier) => t.objectProperty(t.identifier(specifier), t.identifier(specifier)))), t.callExpression(t.identifier('require'), [t.stringLiteral(source)])),
164
+ ]);
165
+ }
166
+ return t.importDeclaration(defaultSpec
167
+ ? [defaultSpec, ...specifiers].map((spec, index) => {
168
+ if (index === 0) {
169
+ return t.importDefaultSpecifier(t.identifier(defaultSpec));
170
+ }
171
+ return t.importSpecifier(t.identifier(spec), t.identifier(spec));
172
+ })
173
+ : specifiers.map((s) => t.importSpecifier(t.identifier(s), t.identifier(s))), t.stringLiteral(source));
103
174
  }
104
175
  exports.buildImportStatement = buildImportStatement;
105
176
  exports.setting = {
106
177
  sourceCode: '',
107
- rootPath: ''
178
+ rootPath: '',
108
179
  };
109
180
  function codeFrameError(node, msg) {
110
181
  let errMsg = '';
@@ -169,6 +240,62 @@ exports.DEFAULT_Component_SET = new Set([
169
240
  'NavigationBar',
170
241
  'PageMeta',
171
242
  'VoipRoom',
172
- 'AdCustom'
243
+ 'AdCustom',
173
244
  ]);
245
+ /**
246
+ * 根据关键字exports判断是否为commonjs模块
247
+ *
248
+ * @param {} bodyNode
249
+ * @returns {boolean}
250
+ */
251
+ function isCommonjsModule(bodyNode) {
252
+ return bodyNode.some((p) => {
253
+ if (t.isExpressionStatement(p) && t.isAssignmentExpression(p.expression)) {
254
+ const expression = p.expression;
255
+ // 1、module.exports.num = num 2、module.exports = {}
256
+ const isModuleExports = (expression.left.type === 'MemberExpression' &&
257
+ expression.left.object.type === 'MemberExpression' &&
258
+ expression.left.object.property.type === 'Identifier' &&
259
+ expression.left.object.property.name === 'exports') ||
260
+ (expression.left.type === 'MemberExpression' &&
261
+ expression.left.property.type === 'Identifier' &&
262
+ expression.left.property.name === 'exports');
263
+ // exports.num = num
264
+ const isExports = expression.left.type === 'MemberExpression' &&
265
+ expression.left.object.type === 'Identifier' &&
266
+ expression.left.object.name === 'exports';
267
+ return isModuleExports || isExports;
268
+ }
269
+ return false;
270
+ });
271
+ }
272
+ exports.isCommonjsModule = isCommonjsModule;
273
+ /**
274
+ * 获取不同操作系统下的换行符
275
+ *
276
+ * @returns { string } 换行符
277
+ */
278
+ function getLineBreak() {
279
+ if (process.platform === 'win32') {
280
+ return '\r\n';
281
+ }
282
+ return '\n';
283
+ }
284
+ exports.getLineBreak = getLineBreak;
285
+ /**
286
+ * 记录数据到日志文件中
287
+ *
288
+ * @param data 日志数据
289
+ */
290
+ function printToLogFile(data) {
291
+ try {
292
+ // 将参数记录到log文件
293
+ helper_1.fs.appendFile(global_1.globals.logFilePath, data);
294
+ }
295
+ catch (error) {
296
+ console.error('写日志文件异常');
297
+ throw error;
298
+ }
299
+ }
300
+ exports.printToLogFile = printToLogFile;
174
301
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}