@tarojs/taroize 3.6.18 → 3.6.19

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.
@@ -56,6 +56,6 @@ exports.reserveKeyWords = new Set([
56
56
  'super',
57
57
  'synchronized',
58
58
  'throws',
59
- 'transient'
59
+ 'transient',
60
60
  ]);
61
61
  //# sourceMappingURL=constant.js.map
package/lib/src/events.js CHANGED
@@ -24,10 +24,37 @@ exports.specialEvents.set('bindlongpress', 'onLongPress');
24
24
  exports.specialEvents.set('bindlongclick', 'onLongClick');
25
25
  exports.specialEvents.set('bindtransitionend', 'onTransitionEnd');
26
26
  exports.specialEvents.set('bindanimationstart', 'onAnimationStart');
27
- exports.specialEvents.set('bindanimationtteration', 'onAnimationIteration');
27
+ exports.specialEvents.set('bindanimationiteration', 'onAnimationIteration');
28
28
  exports.specialEvents.set('bindanimationend', 'onAnimationEnd');
29
29
  exports.specialEvents.set('bindtouchforcechange', 'onTouchForceChange');
30
30
  exports.specialEvents.set('bindtap', 'onClick');
31
+ // 支持bind:和catch:写法
32
+ exports.specialEvents.set('bind:timeupdate', 'onTimeUpdate');
33
+ exports.specialEvents.set('bind:getphoneNumber', 'onGetPhoneNumber');
34
+ exports.specialEvents.set('bind:chooseavatar', 'onChooseAvatar');
35
+ exports.specialEvents.set('bind:getrealnameauthinfo', 'onGetRealnameAuthInfo');
36
+ exports.specialEvents.set('bind:opensetting', 'onOpenSetting');
37
+ exports.specialEvents.set('bind:scancode', 'onScanCode');
38
+ exports.specialEvents.set('bind:statechange', 'onStateChange');
39
+ exports.specialEvents.set('bind:htouchmove', 'onHTouchMove');
40
+ exports.specialEvents.set('bind:vtouchmove', 'onVTouchMove');
41
+ exports.specialEvents.set('bind:columnchange', 'onColumnChange');
42
+ exports.specialEvents.set('bind:scrolltoupper', 'onScrollToUpper');
43
+ exports.specialEvents.set('bind:scrolltolower', 'onScrollToLower');
44
+ exports.specialEvents.set('bind:animationfinish', 'onAnimationFinish');
45
+ exports.specialEvents.set('bind:fullscreenchange', 'onFullscreenChange');
46
+ exports.specialEvents.set('bind:touchstart', 'onTouchStart');
47
+ exports.specialEvents.set('bind:touchmove', 'onTouchMove');
48
+ exports.specialEvents.set('bind:touchcancel', 'onTouchCancel');
49
+ exports.specialEvents.set('bind:touchend', 'onTouchEnd');
50
+ exports.specialEvents.set('bind:longpress', 'onLongPress');
51
+ exports.specialEvents.set('bind:longclick', 'onLongClick');
52
+ exports.specialEvents.set('bind:transitionend', 'onTransitionEnd');
53
+ exports.specialEvents.set('bind:animationstart', 'onAnimationStart');
54
+ exports.specialEvents.set('bind:animationiteration', 'onAnimationIteration');
55
+ exports.specialEvents.set('bind:animationend', 'onAnimationEnd');
56
+ exports.specialEvents.set('bind:touchforcechange', 'onTouchForceChange');
57
+ exports.specialEvents.set('bind:tap', 'onClick');
31
58
  exports.specialEvents.forEach((value, key) => {
32
59
  exports.specialEvents.set(key.replace(/^bind/, 'catch'), value);
33
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AACtD,qBAAa,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;AACnD,qBAAa,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAC3D,qBAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;AACvD,qBAAa,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAA;AACrE,qBAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;AACrD,qBAAa,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;AAC/C,qBAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;AACrD,qBAAa,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;AACnD,qBAAa,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;AACnD,qBAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;AACvD,qBAAa,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AACzD,qBAAa,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AACzD,qBAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;AAC7D,qBAAa,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;AAC/D,qBAAa,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;AACnD,qBAAa,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;AACjD,qBAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;AACrD,qBAAa,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;AAC/C,qBAAa,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;AACjD,qBAAa,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;AACjD,qBAAa,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AACzD,qBAAa,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAC3D,qBAAa,CAAC,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAA;AACnE,qBAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;AACvD,qBAAa,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;AAC/D,qBAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AACvC,qBAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnC,qBAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
package/lib/src/global.js CHANGED
@@ -4,11 +4,15 @@ exports.resetGlobals = exports.THIRD_PARTY_COMPONENTS = exports.globals = export
4
4
  exports.usedComponents = new Set();
5
5
  exports.errors = [];
6
6
  exports.globals = {
7
- hasCatchTrue: false
7
+ rootPath: '',
8
+ hasCatchTrue: false,
9
+ logFilePath: '',
8
10
  };
9
11
  exports.THIRD_PARTY_COMPONENTS = new Set();
10
- const resetGlobals = () => {
12
+ const resetGlobals = (rootPath, logFilePath) => {
13
+ exports.globals.rootPath = rootPath;
11
14
  exports.globals.hasCatchTrue = false;
15
+ exports.globals.logFilePath = logFilePath;
12
16
  exports.THIRD_PARTY_COMPONENTS.clear();
13
17
  };
14
18
  exports.resetGlobals = resetGlobals;
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/global.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;AAElC,QAAA,MAAM,GAAa,EAAE,CAAA;AAErB,QAAA,OAAO,GAAG;IACrB,YAAY,EAAE,KAAK;CACpB,CAAA;AAEY,QAAA,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAA;AAEhD,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,eAAO,CAAC,YAAY,GAAG,KAAK,CAAA;IAC5B,8BAAsB,CAAC,KAAK,EAAE,CAAA;AAChC,CAAC,CAAA;AAHY,QAAA,YAAY,gBAGxB"}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/global.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;AAElC,QAAA,MAAM,GAAa,EAAE,CAAA;AAErB,QAAA,OAAO,GAAG;IACrB,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,EAAE;CAChB,CAAA;AAEY,QAAA,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAA;AAEhD,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;IACpD,eAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC3B,eAAO,CAAC,YAAY,GAAG,KAAK,CAAA;IAC5B,eAAO,CAAC,WAAW,GAAG,WAAW,CAAA;IACjC,8BAAsB,CAAC,KAAK,EAAE,CAAA;AAChC,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
package/lib/src/index.js CHANGED
@@ -7,7 +7,7 @@ const utils_1 = require("./utils");
7
7
  const vue_1 = require("./vue");
8
8
  const wxml_1 = require("./wxml");
9
9
  function parse(option) {
10
- (0, global_1.resetGlobals)();
10
+ (0, global_1.resetGlobals)(option.rootPath, option.logFilePath);
11
11
  utils_1.setting.rootPath = option.rootPath;
12
12
  if (option.json) {
13
13
  const config = JSON.parse(option.json);
@@ -26,11 +26,11 @@ function parse(option) {
26
26
  }
27
27
  const { wxml, wxses, imports, refIds } = (0, wxml_1.parseWXML)(option.path, option.wxml);
28
28
  utils_1.setting.sourceCode = option.script;
29
- const ast = (0, script_1.parseScript)(option.script, wxml, wxses, refIds, option.isApp);
29
+ const ast = (0, script_1.parseScript)(option.script, option.scriptPath, wxml, wxses, refIds, option.isApp);
30
30
  return {
31
31
  ast,
32
32
  imports,
33
- errors: global_1.errors
33
+ errors: global_1.errors,
34
34
  };
35
35
  }
36
36
  exports.parse = parse;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAEA,qCAAuE;AACvE,qCAAsC;AACtC,mCAAiC;AACjC,+BAAgC;AAChC,iCAAkC;AAYlC,SAAgB,KAAK,CAAE,MAAc;IACnC,IAAA,qBAAY,GAAE,CAAA;IACd,eAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClC,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC9C,IAAI,eAAe,EAAE;YACnB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;gBACjC,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,+BAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iBAChC;aACF;SACF;KACF;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAA,cAAQ,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QACtE,uCACK,MAAM,KACT,MAAM,EAAN,eAAM,IACP;KACF;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5E,eAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAO,CAAA;IACnC,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,MAAM,EAAE,IAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACzF,OAAO;QACL,GAAG;QACH,OAAO;QACP,MAAM,EAAN,eAAM;KACP,CAAA;AACH,CAAC;AA/BD,sBA+BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAEA,qCAAuE;AACvE,qCAAsC;AACtC,mCAAiC;AACjC,+BAAgC;AAChC,iCAAkC;AAclC,SAAgB,KAAK,CAAE,MAAc;IACnC,IAAA,qBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IACjD,eAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClC,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC9C,IAAI,eAAe,EAAE;YACnB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;gBACjC,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,+BAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iBAChC;aACF;SACF;KACF;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAA,cAAQ,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QACtE,uCACK,MAAM,KACT,MAAM,EAAN,eAAM,IACP;KACF;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5E,eAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAO,CAAA;IACnC,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAE5G,OAAO;QACL,GAAG;QACH,OAAO;QACP,MAAM,EAAN,eAAM;KACP,CAAA;AACH,CAAC;AAhCD,sBAgCC"}
package/lib/src/script.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseScript = exports.replaceMemberExpression = exports.replaceIdentifier = void 0;
4
- const babel_traverse_1 = require("babel-traverse");
5
- const t = require("babel-types");
4
+ const traverse_1 = require("@babel/traverse");
5
+ const t = require("@babel/types");
6
6
  const global_1 = require("./global");
7
7
  const utils_1 = require("./utils");
8
8
  const defaultClassName = '_C';
@@ -20,23 +20,24 @@ function replaceIdentifier(callee) {
20
20
  }
21
21
  }
22
22
  exports.replaceIdentifier = replaceIdentifier;
23
+ // babel 6升级babel 7适配
23
24
  function replaceMemberExpression(callee) {
24
25
  if (callee.isMemberExpression()) {
25
26
  const object = callee.get('object');
26
- if (object.isIdentifier({ name: 'wx' })) {
27
+ if (t.isIdentifier(object.node, { name: 'wx' })) {
27
28
  object.replaceWith(t.identifier('Taro'));
28
29
  }
29
30
  }
30
31
  }
31
32
  exports.replaceMemberExpression = replaceMemberExpression;
32
- function parseScript(script, returned, wxses = [], refId, isApp = false) {
33
+ function parseScript(script, scriptPath, returned, wxses = [], refId, isApp = false) {
33
34
  script = script || 'Page({})';
34
35
  if (t.isJSXText(returned)) {
35
36
  const block = (0, utils_1.buildBlockElement)();
36
37
  block.children = [returned];
37
38
  returned = block;
38
39
  }
39
- let ast = (0, utils_1.parseCode)(script);
40
+ let ast = (0, utils_1.parseCode)(script, scriptPath);
40
41
  let classDecl;
41
42
  let foundWXInstance = false;
42
43
  const vistor = {
@@ -58,24 +59,44 @@ function parseScript(script, returned, wxses = [], refId, isApp = false) {
58
59
  foundWXInstance = true;
59
60
  const componentType = callee.node.name;
60
61
  classDecl = parsePage(path, returned || t.nullLiteral(), componentType, refId, wxses, isApp);
61
- ast.program.body.push(classDecl, t.exportDefaultDeclaration(t.identifier(componentType !== 'App' ? defaultClassName : 'App')));
62
- // path.insertAfter(t.exportDefaultDeclaration(t.identifier(defaultClassName)))
63
- path.remove();
62
+ // 将类组件进行导出
63
+ if ((0, utils_1.isCommonjsModule)(ast.program.body)) {
64
+ // 组件导出格式为module.exports =
65
+ ast.program.body.push(classDecl, t.expressionStatement(t.assignmentExpression('=', t.memberExpression(t.identifier('module'), t.identifier('exports')), t.identifier(componentType !== 'App' ? defaultClassName : 'App'))));
66
+ }
67
+ else {
68
+ // 组件导出格式为export default
69
+ ast.program.body.push(classDecl, t.exportDefaultDeclaration(t.identifier(componentType !== 'App' ? defaultClassName : 'App')));
70
+ }
64
71
  }
65
- }
72
+ },
66
73
  };
67
- (0, babel_traverse_1.default)(ast, vistor);
74
+ (0, traverse_1.default)(ast, vistor);
68
75
  if (!foundWXInstance) {
69
76
  ast = (0, utils_1.parseCode)(script + ';Component({})');
70
- (0, babel_traverse_1.default)(ast, vistor);
77
+ (0, traverse_1.default)(ast, vistor);
71
78
  }
72
- const taroComponentsImport = (0, utils_1.buildImportStatement)('@tarojs/components', [
73
- ...global_1.usedComponents
79
+ const requirewithWeapp = t.variableDeclaration('const', [
80
+ t.variableDeclarator(t.objectPattern([
81
+ t.objectProperty(t.identifier('default'), t.identifier('withWeapp'), false, true),
82
+ ]), t.callExpression(t.identifier('require'), [t.stringLiteral('@tarojs/with-weapp')])),
74
83
  ]);
75
- const taroImport = (0, utils_1.buildImportStatement)('@tarojs/taro', [], 'Taro');
76
- const reactImport = (0, utils_1.buildImportStatement)('react', [], 'React');
77
- const withWeappImport = (0, utils_1.buildImportStatement)('@tarojs/with-weapp', [], 'withWeapp');
78
- ast.program.body.unshift(taroComponentsImport, reactImport, taroImport, withWeappImport, ...wxses.filter(wxs => !wxs.src.startsWith('./wxs__')).map(wxs => (0, utils_1.buildImportStatement)(wxs.src, [], wxs.module)));
84
+ if ((0, utils_1.isCommonjsModule)(ast.program.body)) {
85
+ const taroComponentsImport = (0, utils_1.buildImportStatement)('@tarojs/components', [...global_1.usedComponents], '', true);
86
+ const taroImport = (0, utils_1.buildImportStatement)('@tarojs/taro', [], 'Taro', true);
87
+ const reactImport = (0, utils_1.buildImportStatement)('react', [], 'React', true);
88
+ ast.program.body.unshift(taroComponentsImport, reactImport, taroImport, requirewithWeapp, ...wxses
89
+ .filter((wxs) => !wxs.src.startsWith('./wxs__'))
90
+ .map((wxs) => (0, utils_1.buildImportStatement)(wxs.src, [], wxs.module, true)));
91
+ }
92
+ else {
93
+ const taroComponentsImport = (0, utils_1.buildImportStatement)('@tarojs/components', [...global_1.usedComponents]);
94
+ const taroImport = (0, utils_1.buildImportStatement)('@tarojs/taro', [], 'Taro');
95
+ const reactImport = (0, utils_1.buildImportStatement)('react', [], 'React');
96
+ ast.program.body.unshift(taroComponentsImport, reactImport, taroImport, requirewithWeapp, ...wxses
97
+ .filter((wxs) => !wxs.src.startsWith('./wxs__'))
98
+ .map((wxs) => (0, utils_1.buildImportStatement)(wxs.src, [], wxs.module)));
99
+ }
79
100
  return ast;
80
101
  }
81
102
  exports.parseScript = parseScript;
@@ -86,30 +107,25 @@ function parsePage(pagePath, returned, componentType, refId, wxses, isApp = fals
86
107
  const callee = path.get('callee');
87
108
  replaceIdentifier(callee);
88
109
  replaceMemberExpression(callee);
89
- }
110
+ },
90
111
  });
91
112
  if (refId) {
92
- refId.forEach(id => {
113
+ refId.forEach((id) => {
93
114
  if (!stateKeys.includes(id)) {
94
115
  stateKeys.push(id);
95
116
  }
96
117
  });
97
118
  }
98
119
  const propsKeys = [];
99
- const arg = pagePath.get('arguments')[0];
100
120
  const classBody = [];
101
- if (arg.isObjectExpression() || arg.isIdentifier()) {
102
- //
103
- }
104
- else {
105
- throw (0, utils_1.codeFrameError)(arg.node, `${componentType || '组件'} 的第一个参数必须是一个对象或变量才能转换。`);
106
- }
107
- const wxsNames = new Set(wxses ? wxses.map(w => w.module) : []);
121
+ const wxsNames = new Set(wxses ? wxses.map((w) => w.module) : []);
108
122
  const renderFunc = (0, utils_1.buildRender)(componentType === 'App'
109
123
  ? t.memberExpression(t.memberExpression(t.thisExpression(), t.identifier('props')), t.identifier('children'))
110
- : returned, stateKeys.filter(s => !wxsNames.has(s)), propsKeys);
124
+ : returned, stateKeys.filter((s) => !wxsNames.has(s)), propsKeys);
111
125
  const classDecl = t.classDeclaration(t.identifier(componentType === 'App' ? 'App' : defaultClassName), t.memberExpression(t.identifier('React'), t.identifier('Component')), t.classBody(classBody.concat(renderFunc)), []);
112
- classDecl.decorators = [buildDecorator(arg.node, isApp)];
126
+ // @withWeapp 通过调用 cacheOptions.getOptionsFromCache() 获取 options
127
+ const withWeappArgmentNode = t.callExpression(t.memberExpression(t.identifier('cacheOptions'), t.identifier('getOptionsFromCache')), []);
128
+ classDecl.decorators = [buildDecorator(withWeappArgmentNode, isApp)];
113
129
  return classDecl;
114
130
  }
115
131
  //# sourceMappingURL=script.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/script.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
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");
3
+ exports.parseModule = exports.getWXMLsource = exports.parseTemplate = exports.preParseTemplate = exports.buildTemplateName = void 0;
4
+ const t = require("@babel/types");
5
5
  const fs = require("fs");
6
6
  const path_1 = require("path");
7
7
  const global_1 = require("./global");
@@ -29,28 +29,119 @@ function buildTemplateName(name, pascal = true) {
29
29
  return str.join('');
30
30
  }
31
31
  exports.buildTemplateName = buildTemplateName;
32
- function parseTemplate(path, dirPath) {
32
+ /**
33
+ * @description 预解析template模板
34
+ * @param path template在AST中的区域
35
+ * @returns
36
+ */
37
+ function preParseTemplate(path) {
33
38
  if (!path.container) {
34
39
  return;
35
40
  }
36
41
  const openingElement = path.get('openingElement');
37
42
  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' }));
43
+ const name = attrs.find((attr) => t.isJSXAttribute(attr) &&
44
+ t.isJSXIdentifier(attr.get('name')) &&
45
+ t.isJSXAttribute(attr.node) &&
46
+ attr.node.name.name === 'name');
47
+ if (!(name && t.isJSXAttribute(name.node))) {
48
+ return;
49
+ }
50
+ // 获取template name
51
+ const value = name.node.value;
52
+ if (value === null || !t.isStringLiteral(value)) {
53
+ throw new Error('template 的 `name` 属性只能是字符串');
54
+ }
55
+ const templateName = buildTemplateName(value.value);
56
+ const templateFuncs = new Set();
57
+ const templateApplys = new Set();
58
+ path.traverse({
59
+ JSXAttribute(p) {
60
+ // 获取 template方法
61
+ const node = p.node;
62
+ if (t.isJSXExpressionContainer(node.value) &&
63
+ t.isMemberExpression(node.value.expression) &&
64
+ t.isThisExpression(node.value.expression.object) &&
65
+ t.isIdentifier(node.value.expression.property)) {
66
+ // funcName加入到funcs
67
+ const funcName = node.value.expression.property.name;
68
+ if (!templateFuncs.has(funcName)) {
69
+ templateFuncs.add(funcName);
70
+ }
71
+ }
72
+ },
73
+ JSXOpeningElement(p) {
74
+ // 获取 template调用的模板
75
+ const attrs = p.get('attributes');
76
+ const is = attrs.find((attr) => t.isJSXAttribute(attr) &&
77
+ t.isJSXIdentifier(attr.get('name')) &&
78
+ t.isJSXAttribute(attr.node) &&
79
+ attr.node.name.name === 'is');
80
+ if (!(is && t.isJSXAttribute(is.node))) {
81
+ return;
82
+ }
83
+ const value = is.node.value;
84
+ if (!value) {
85
+ throw new Error('template 的 `is` 属性不能为空');
86
+ }
87
+ // is的模板调用形式为 is="xxx", xxx为模板名或表达式
88
+ if (t.isStringLiteral(value)) {
89
+ const apply = buildTemplateName(value.value);
90
+ templateApplys.add(apply);
91
+ }
92
+ },
93
+ });
94
+ return {
95
+ name: templateName,
96
+ funcs: templateFuncs,
97
+ applys: templateApplys,
98
+ };
99
+ }
100
+ exports.preParseTemplate = preParseTemplate;
101
+ function parseTemplate(path, dirPath, wxses) {
102
+ if (!path.container || !path.isJSXElement()) {
103
+ return;
104
+ }
105
+ (0, utils_1.printToLogFile)(`funName: parseTemplate, path: ${path}, dirPath: ${dirPath} ${(0, utils_1.getLineBreak)()}`);
106
+ const openingElement = path.get('openingElement');
107
+ const attrs = openingElement.get('attributes');
108
+ const is = attrs.find((attr) => t.isJSXAttribute(attr) &&
109
+ t.isJSXIdentifier(attr.get('name')) &&
110
+ t.isJSXAttribute(attr.node) &&
111
+ attr.node.name.name === 'is');
112
+ const data = attrs.find((attr) => t.isJSXAttribute(attr) &&
113
+ t.isJSXIdentifier(attr.get('name')) &&
114
+ t.isJSXAttribute(attr.node) &&
115
+ attr.node.name.name === 'data');
116
+ const name = attrs.find((attr) => t.isJSXAttribute(attr) &&
117
+ t.isJSXIdentifier(attr.get('name')) &&
118
+ t.isJSXAttribute(attr.node) &&
119
+ attr.node.name.name === 'name');
42
120
  const refIds = new Set();
43
121
  const loopIds = new Set();
44
122
  const imports = [];
45
- if (name) {
123
+ if (name && t.isJSXAttribute(name.node)) {
46
124
  const value = name.node.value;
47
125
  if (value === null || !t.isStringLiteral(value)) {
48
126
  throw new Error('template 的 `name` 属性只能是字符串');
49
127
  }
128
+ // 收集template原始name, 作为map的key
129
+ const templateName = value.value;
50
130
  const className = buildTemplateName(value.value);
51
131
  path.traverse((0, wxml_1.createWxmlVistor)(loopIds, refIds, dirPath, [], imports));
132
+ // refIds中可能包含wxs模块,应从refIds中去除并单独以模块的形式导入
133
+ const usedWxses = new Set;
134
+ const refdata = refIds;
135
+ refdata.forEach((refId) => {
136
+ wxses.forEach((wxsId) => {
137
+ if (wxsId.module.includes(refId)) {
138
+ usedWxses.add(wxsId);
139
+ refIds.delete(refId);
140
+ }
141
+ });
142
+ });
52
143
  const firstId = Array.from(refIds)[0];
53
- refIds.forEach(id => {
144
+ refIds.forEach((id) => {
54
145
  if (loopIds.has(id) && id !== firstId) {
55
146
  refIds.delete(id);
56
147
  }
@@ -71,13 +162,17 @@ function parseTemplate(path, dirPath) {
71
162
  render = (0, utils_1.buildRender)(block, [], Array.from(refIds), []);
72
163
  }
73
164
  const classDecl = t.classDeclaration(t.identifier(className), t.memberExpression(t.identifier('React'), t.identifier('Component')), t.classBody([render]), []);
165
+ // 添加withWeapp装饰器
166
+ classDecl.decorators = [t.decorator(t.callExpression(t.identifier('withWeapp'), [t.objectExpression([])]))];
74
167
  path.remove();
75
168
  return {
76
169
  name: className,
77
- ast: classDecl
170
+ ast: classDecl,
171
+ tmplName: templateName,
172
+ usedWxses: usedWxses,
78
173
  };
79
174
  }
80
- else if (is) {
175
+ else if (is && t.isJSXAttribute(is.node)) {
81
176
  const value = is.node.value;
82
177
  if (!value) {
83
178
  throw new Error('template 的 `is` 属性不能为空');
@@ -85,7 +180,7 @@ function parseTemplate(path, dirPath) {
85
180
  if (t.isStringLiteral(value)) {
86
181
  const className = buildTemplateName(value.value);
87
182
  const attributes = [];
88
- if (data) {
183
+ if (data && t.isJSXAttribute(data.node)) {
89
184
  attributes.push(data.node);
90
185
  }
91
186
  path.replaceWith(t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier(className), attributes), t.jSXClosingElement(t.jSXIdentifier(className)), [], true));
@@ -94,7 +189,7 @@ function parseTemplate(path, dirPath) {
94
189
  if (t.isStringLiteral(value.expression)) {
95
190
  const className = buildTemplateName(value.expression.value);
96
191
  const attributes = [];
97
- if (data) {
192
+ if (data && t.isJSXAttribute(data.node)) {
98
193
  attributes.push(data.node);
99
194
  }
100
195
  path.replaceWith(t.jSXElement(t.jSXOpeningElement(t.jSXIdentifier(className), attributes), t.jSXClosingElement(t.jSXIdentifier(className)), [], true));
@@ -105,11 +200,13 @@ function parseTemplate(path, dirPath) {
105
200
  throw new Error('当 template is 标签是三元表达式时,他的两个值都必须为字符串');
106
201
  }
107
202
  const attributes = [];
108
- if (data) {
203
+ if (data && t.isJSXAttribute(data.node)) {
109
204
  attributes.push(data.node);
110
205
  }
111
206
  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)))];
207
+ block.children = [
208
+ 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))),
209
+ ];
113
210
  path.replaceWith(block);
114
211
  }
115
212
  }
@@ -122,7 +219,7 @@ function getWXMLsource(dirPath, src, type) {
122
219
  try {
123
220
  let filePath = (0, path_1.resolve)(dirPath, src);
124
221
  if (!(0, path_1.extname)(filePath)) {
125
- filePath = (filePath + '.wxml');
222
+ filePath = filePath + '.wxml';
126
223
  }
127
224
  const file = fs.readFileSync(filePath, 'utf-8');
128
225
  return file;
@@ -136,29 +233,40 @@ exports.getWXMLsource = getWXMLsource;
136
233
  function parseModule(jsx, dirPath, type) {
137
234
  const openingElement = jsx.get('openingElement');
138
235
  const attrs = openingElement.get('attributes');
139
- const src = attrs.find(attr => attr.get('name').isJSXIdentifier({ name: 'src' }));
236
+ // const src = attrs.find(attr => t.isJSXAttribute(attr) && t.isJSXIdentifier(attr.name) && attr.name.name === 'src')
237
+ // Fix
238
+ const src = attrs.find((attr) => t.isJSXAttribute(attr) &&
239
+ t.isJSXIdentifier(attr.get('name')) &&
240
+ t.isJSXAttribute(attr.node) &&
241
+ attr.node.name.name === 'src');
140
242
  if (!src) {
141
243
  throw new Error(`${type} 标签必须包含 \`src\` 属性`);
142
244
  }
143
245
  if ((0, path_1.extname)(dirPath)) {
144
246
  dirPath = (0, path_1.dirname)(dirPath);
145
247
  }
146
- const value = src.get('value');
147
- if (!value.isStringLiteral()) {
248
+ if (!t.isJSXAttribute(src.node)) {
249
+ throw new Error(`${type} 标签src AST节点 必须包含node`);
250
+ }
251
+ const value = src.node.value;
252
+ if (!t.isStringLiteral(value)) {
148
253
  throw new Error(`${type} 标签的 src 属性值必须是一个字符串`);
149
254
  }
150
- let srcValue = value.node.value;
255
+ let srcValue = value.value;
256
+ // 判断是否为绝对路径
151
257
  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}"`);
258
+ const absolutPath = (0, path_1.resolve)(utils_1.setting.rootPath, srcValue.substr(1));
259
+ if (!fs.existsSync(absolutPath) && !fs.existsSync(`${absolutPath}.wxml`)) {
260
+ throw new Error(`import/include 的 src 请填入正确路径再进行转换:src="${srcValue}"`);
155
261
  }
156
- let relativePath = (0, path_1.relative)(dirPath, vpath);
262
+ let relativePath = (0, path_1.relative)(dirPath, absolutPath);
157
263
  relativePath = relativePath.replace(/\\/g, '/');
158
264
  if (relativePath.indexOf('.') !== 0) {
159
265
  srcValue = './' + relativePath;
160
266
  }
161
- srcValue = relativePath;
267
+ else {
268
+ srcValue = relativePath;
269
+ }
162
270
  }
163
271
  if (type === 'import') {
164
272
  const wxml = getWXMLsource(dirPath, srcValue, type);
@@ -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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"}