babel-plugin-hylid-bridge 0.0.2-dev.10 → 0.0.2-dev.3

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.
@@ -6,55 +6,60 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = _default;
8
8
  exports.filterWhichCanIUseJsapi = filterWhichCanIUseJsapi;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _path = _interopRequireDefault(require("path"));
10
11
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
11
12
  var _getLibraryDir = _interopRequireDefault(require("./getLibraryDir"));
12
- var _helper = require("./helper");
13
13
  // 筛选 hylid-bridge 兼容度信息
14
14
  function _default(targets, libraryDir) {
15
15
  var lib = libraryDir || (0, _getLibraryDir.default)();
16
- targets = targets.map(function (item) {
17
- return item.toLowerCase();
18
- });
19
16
  // 获取 lib 下的 bridge.js 文件
20
17
  var bridgeFile = _path.default.join(lib, 'lib', 'whichCanIUse', 'compatibilities.json');
21
18
  var compatibilities = JSON.parse(_fsExtra.default.readFileSync(bridgeFile, 'utf-8'));
22
- // 获取 hylid-bridge 版本
23
- var packageJsonFile = _path.default.join(lib, 'package.json');
24
- var _JSON$parse = JSON.parse(_fsExtra.default.readFileSync(packageJsonFile, 'utf-8')),
25
- version = _JSON$parse.version;
26
- for (var api in compatibilities) {
27
- compatibilities[api] = compatibilities[api].filter(function (item) {
28
- // 标记删除的数据不要
29
- if (item.deleteAt) return false;
30
- // 比当前 hylid-bridge 版本低的不要
31
- if (item.hylidBridgeVersion && (0, _helper.compareVersion)(version, item.hylidBridgeVersion) < 0) return false;
32
- // babel 配置中没有的平台和客户端不要
33
- if (!targets.includes((item.platformType + item.clientName).toLowerCase())) return false;
34
- return true;
19
+ var envMaps = compatibilities.envMaps;
20
+ var envs = [];
21
+ var targetsList = targets.map(function (target) {
22
+ var res = {
23
+ platform: '',
24
+ clientName: ''
25
+ };
26
+ ['Mp', 'MpWeb', 'Web'].some(function (prefix) {
27
+ if (target.startsWith(prefix)) {
28
+ res.platform = prefix.toUpperCase();
29
+ res.clientName = target.replace(prefix, '').toUpperCase();
30
+ }
35
31
  });
36
- compatibilities[api] = compatibilities[api].map(function (item) {
37
- return {
38
- clientName: item.clientName,
39
- platformType: item.platformType,
40
- clientVersion: item.clientVersion,
41
- osType: item.osType,
42
- supported: item.supported
43
- };
32
+ return res;
33
+ });
34
+ envMaps.forEach(function (env, index) {
35
+ var _env$split = env.split('_'),
36
+ _env$split2 = (0, _slicedToArray2.default)(_env$split, 3),
37
+ clientName = _env$split2[0],
38
+ _ = _env$split2[1],
39
+ platform = _env$split2[2];
40
+ if (targetsList.some(function (item) {
41
+ return item.platform === platform && item.clientName === clientName;
42
+ })) {
43
+ envs.push(index);
44
+ }
45
+ });
46
+ compatibilities.data.forEach(function (item) {
47
+ item.compatibilities = item.compatibilities.filter(function (i) {
48
+ return envs.includes(i.env);
44
49
  });
45
- }
50
+ });
51
+ compatibilities.data = compatibilities.data.filter(function (item) {
52
+ return item.compatibilities.length > 0;
53
+ });
46
54
  _fsExtra.default.writeFileSync(bridgeFile, JSON.stringify(compatibilities));
47
55
  }
48
56
  // 从 api 维度筛除数据
49
57
  function filterWhichCanIUseJsapi(apiList) {
50
58
  var lib = (0, _getLibraryDir.default)();
51
- // 获取 lib 下的 bridge.js 文件
52
59
  var bridgeFile = _path.default.join(lib, 'lib', 'whichCanIUse', 'compatibilities.json');
53
60
  var compatibilities = JSON.parse(_fsExtra.default.readFileSync(bridgeFile, 'utf-8'));
54
- Object.keys(compatibilities).forEach(function (api) {
55
- if (!apiList.includes(api)) {
56
- delete compatibilities[api];
57
- }
61
+ compatibilities.data = compatibilities.data.filter(function (item) {
62
+ return apiList.includes(item.apiName);
58
63
  });
59
64
  _fsExtra.default.writeFileSync(bridgeFile, JSON.stringify(compatibilities));
60
65
  }
package/lib/helper.js CHANGED
@@ -18,7 +18,8 @@ exports.splitTarget = splitTarget;
18
18
  var _path = _interopRequireDefault(require("path"));
19
19
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
20
20
  var utils = _interopRequireWildcard(require("./utils"));
21
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
23
  function snakeCaseTarget(input) {
23
24
  var words = input.replace(/[^a-zA-Z0-9]+/g, ' ').trim();
24
25
  var wordArray = words.split(' ');
package/lib/index.js CHANGED
@@ -18,7 +18,8 @@ var _combineExports = _interopRequireDefault(require("./combineExports"));
18
18
  var _helper = require("./helper");
19
19
  var _generateJSAPIs = _interopRequireDefault(require("./generateJSAPIs"));
20
20
  var _generateCompatibilities = _interopRequireWildcard(require("./generateCompatibilities"));
21
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
23
  /**
23
24
  * https://astexplorer.net/
24
25
  */
@@ -89,17 +90,11 @@ var _default = exports.default = function _default(core, opts) {
89
90
  if (!state.whichCanIUseJsapiList) {
90
91
  state.whichCanIUseJsapiList = [];
91
92
  }
92
- if (path.node.arguments[0].type === 'ObjectExpression') {
93
- path.node.arguments[0].properties.forEach(function (property) {
94
- if (property.type === 'ObjectProperty' && property.key.type === 'Identifier' && property.key.name === 'apiName') {
95
- if (property.value.type === 'StringLiteral') {
96
- state.whichCanIUseJsapiList.push(property.value.value);
97
- } else {
98
- // apiName 为非字符串类型,警告开发者
99
- (0, _utils.warn)('WhichCanIUse warning: apiName must be a string literal and not a variable');
100
- }
101
- }
102
- });
93
+ if (path.node.arguments[0].type === 'StringLiteral') {
94
+ state.whichCanIUseJsapiList.push(path.node.arguments[0].value);
95
+ } else {
96
+ // apiName 为非字符串类型,警告开发者
97
+ (0, _utils.warn)('WhichCanIUse warning: apiName must be a string literal and not a variable');
103
98
  }
104
99
  }
105
100
  if (path.node.callee.type !== 'MemberExpression' || !transformMy) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-plugin-hylid-bridge",
3
- "version": "0.0.2-dev.10",
3
+ "version": "0.0.2-dev.3",
4
4
  "description": "babel-plugin-hylid-bridge",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -22,7 +22,7 @@
22
22
  "devDependencies": {
23
23
  "@types/babel-plugin-tester": "^9.0.7",
24
24
  "babel-plugin-tester": "^10.1.0",
25
- "hylid-bridge": "^0.0.2-dev.10"
25
+ "hylid-bridge": "^0.0.2-dev.3"
26
26
  },
27
27
  "sideEffects": false,
28
28
  "registry": "https://registry.npmjs.org/"