@ray-js/builder-component 0.6.21 → 0.6.22-beta-2

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.
@@ -12,4 +12,3 @@ exports.default = (0, helper_plugin_utils_1.declare)((api, options) => {
12
12
  },
13
13
  };
14
14
  });
15
- //# sourceMappingURL=index.js.map
package/lib/build.js CHANGED
@@ -77,6 +77,7 @@ function build(options) {
77
77
  outputDir,
78
78
  sourceDir,
79
79
  file,
80
+ mode: transformMode,
80
81
  });
81
82
  }
82
83
  }
@@ -106,4 +107,3 @@ function build(options) {
106
107
  });
107
108
  }
108
109
  exports.default = build;
109
- //# sourceMappingURL=build.js.map
package/lib/helper.js CHANGED
@@ -21,4 +21,3 @@ const isNativeComponent = (sourcePath) => {
21
21
  return require(sourceJsonPath).component;
22
22
  };
23
23
  exports.isNativeComponent = isNativeComponent;
24
- //# sourceMappingURL=helper.js.map
package/lib/index.js CHANGED
@@ -6,4 +6,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.build = void 0;
7
7
  const build_1 = __importDefault(require("./build"));
8
8
  exports.build = build_1.default;
9
- //# sourceMappingURL=index.js.map
@@ -1,8 +1,16 @@
1
1
  import type { Modules } from '@ray-js/babel-preset-standard';
2
2
  import { Target } from '@ray-js/types';
3
- export declare type BabelTransformOptions = {
3
+ /**
4
+ * 因匿名化需要将 tuya => thing
5
+ * 但历史项目仍需要支持
6
+ * so,在智能构建模式下不生成 .tuya.js文件,但若存在a.tuya.ts源文件的,仍认为是小程序扩展的源文件
7
+ */
8
+ export declare const legacyTarget = "tuya";
9
+ declare type TLegacyTarget = typeof legacyTarget;
10
+ export declare type TransformTarget = Target | TLegacyTarget;
11
+ declare type BabelTransformOptions = {
4
12
  modules: Modules;
5
- target?: Target;
6
- pure?: boolean;
13
+ target?: TransformTarget;
7
14
  };
8
15
  export default function babelTransform(file: string, options: BabelTransformOptions): Promise<import("@babel/core").BabelFileResult>;
16
+ export {};
@@ -12,10 +12,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.legacyTarget = void 0;
15
16
  const fs_extra_1 = __importDefault(require("fs-extra"));
16
17
  const path_1 = __importDefault(require("path"));
17
18
  const core_1 = require("@babel/core");
18
19
  const env_loader_1 = require("@ray-js/env-loader");
20
+ /**
21
+ * 因匿名化需要将 tuya => thing
22
+ * 但历史项目仍需要支持
23
+ * so,在智能构建模式下不生成 .tuya.js文件,但若存在a.tuya.ts源文件的,仍认为是小程序扩展的源文件
24
+ */
25
+ exports.legacyTarget = 'tuya';
19
26
  function babelTransform(file, options) {
20
27
  return __awaiter(this, void 0, void 0, function* () {
21
28
  options = Object.assign({ modules: 'auto' }, options);
@@ -86,4 +93,3 @@ function babelTransform(file, options) {
86
93
  });
87
94
  }
88
95
  exports.default = babelTransform;
89
- //# sourceMappingURL=babelTransform.js.map
@@ -1,17 +1,35 @@
1
- import { TransformOptions } from '@ray-js/types';
1
+ import { TransformOptions, TransformMode } from '@ray-js/types';
2
2
  export { generateDTS } from './type';
3
- export declare function replaceExt(file: string, ext: string): string;
4
- /**
3
+ /***
5
4
  * 根据原文件,移除对应生成的平台文件
5
+ * 1. 源目录 a.ts 被删除,需要判断以下情况:
6
+ * - 源目录存在a.thing.ts a.wechat.ts a.web.ts等文件,则只删除对应的a.js
7
+ * - 源目录存在a.${target}.ts,则删除除a.${target}.js外的其他相应a.{x}.js
8
+ * 2. 源目录 a.mini.ts 被删除,需要判断以下情况
9
+ * - 源目录存在a.${target}.ts,则删除除a.${target}.js外的其他相应a.{x}.js
10
+ * - 源目录存在a.ts,则a.${target}.js不删除
11
+ * 3. 源目录 a.${target}.ts 被删除,需要判断以下情况
12
+ * - 源目录存在 a.mini.ts,则不删除任何东西,否则删除 a.${target}.js
13
+ * - 源目录存在a.ts,则a.${target}.js不删除
14
+ *
6
15
  * @param options
7
16
  */
8
17
  export declare function unlinkPlatformFiles(options: {
9
18
  file: string;
10
19
  outputDir: string;
11
20
  sourceDir: string;
21
+ mode: TransformMode;
12
22
  }): void;
13
23
  /**
14
24
  * 转换器 将文件转成所需要的格式
15
25
  * ts|js 需要生成对应的平台地址
26
+ * 转换规则:
27
+ * 1. 非js文件,直接源文件输出
28
+ * 2. js文件
29
+ * 2.1 原生小程序组件
30
+ * 2.2 智能构建模式
31
+ * 2.2.1 目标平台文件(带有平台扩展的文件,如 a.thing.ts 或 a.wechat.ts 或 a.mini.ts)
32
+ * 2.2.2 非目标平台文件(未带有目标平台扩展的文件,如 a.ts,表示可跨平台)
33
+ * 2.3 非智能构建模式
16
34
  */
17
35
  export declare function transformPlatformFiles(options: TransformOptions): Promise<void>;
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -12,74 +35,130 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
36
  };
14
37
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.transformPlatformFiles = exports.unlinkPlatformFiles = exports.replaceExt = exports.generateDTS = void 0;
38
+ exports.transformPlatformFiles = exports.unlinkPlatformFiles = exports.generateDTS = void 0;
16
39
  const colors_1 = __importDefault(require("colors"));
17
40
  const fs_extra_1 = __importDefault(require("fs-extra"));
18
41
  const path_1 = __importDefault(require("path"));
19
42
  const shared_1 = require("@ray-js/shared");
20
43
  const types_1 = require("@ray-js/types");
21
- const babelTransform_1 = __importDefault(require("./babelTransform"));
44
+ const babelTransform_1 = __importStar(require("./babelTransform"));
22
45
  const helper_1 = require("../helper");
23
46
  var type_1 = require("./type");
24
47
  Object.defineProperty(exports, "generateDTS", { enumerable: true, get: function () { return type_1.generateDTS; } });
25
48
  colors_1.default.enable();
26
49
  function replaceExt(file, ext) {
27
- if (typeof file !== 'string') {
28
- return file;
29
- }
30
- if (file.length === 0) {
50
+ if (typeof file !== 'string' || !file.length) {
31
51
  return file;
32
52
  }
33
53
  const nFileName = path_1.default.basename(file, path_1.default.extname(file)) + ext;
34
54
  return path_1.default.join(path_1.default.dirname(file), nFileName);
35
55
  }
36
- exports.replaceExt = replaceExt;
37
- const transformTarget = [
38
- types_1.PlatformTarget.wechat,
39
- types_1.PlatformTarget.web,
40
- types_1.PlatformTarget.ios,
41
- types_1.PlatformTarget.android,
42
- types_1.PlatformTarget.thing,
43
- ]; // 构建的目标平台
44
- /**
56
+ const jsFileExt = ['.ts', '.tsx', '.js', '.jsx'];
57
+ // 构建的目标平台
58
+ const transformTarget = Object.keys(types_1.PlatformTarget);
59
+ const PLATFORM_EXTENSION = Object.keys(types_1.PlatformTargetPresets).concat(transformTarget, babelTransform_1.legacyTarget);
60
+ // 平台文件后缀
61
+ // .mini.js 是 ray 定义的小程序文件后缀
62
+ const REGEXP_PLATFORM_EXTENSION = new RegExp(`\\.(?<target>(${PLATFORM_EXTENSION.join('|')}))\\.(ts|js)x?$`);
63
+ function everyNotExist(f, t) {
64
+ return jsFileExt.every((e) => {
65
+ return !fs_extra_1.default.existsSync(replaceExt(f, t ? `.${t}${e}` : e));
66
+ });
67
+ }
68
+ function extraFile(f) {
69
+ return ['.d.ts', '.js.map'].map((i) => replaceExt(f, i));
70
+ }
71
+ function collectFile(platforms, src, lib, collection, plt) {
72
+ platforms.forEach((t) => {
73
+ const notExistInSrcWithPlt = everyNotExist(src, t);
74
+ const _lib = replaceExt(lib, `.${plt || t}.js`);
75
+ // 判断是否要删除输出目中的带有平台后缀的产物
76
+ if (notExistInSrcWithPlt && !collection.includes(_lib)) {
77
+ collection.push(_lib, ...extraFile(_lib));
78
+ }
79
+ });
80
+ }
81
+ /***
45
82
  * 根据原文件,移除对应生成的平台文件
83
+ * 1. 源目录 a.ts 被删除,需要判断以下情况:
84
+ * - 源目录存在a.thing.ts a.wechat.ts a.web.ts等文件,则只删除对应的a.js
85
+ * - 源目录存在a.${target}.ts,则删除除a.${target}.js外的其他相应a.{x}.js
86
+ * 2. 源目录 a.mini.ts 被删除,需要判断以下情况
87
+ * - 源目录存在a.${target}.ts,则删除除a.${target}.js外的其他相应a.{x}.js
88
+ * - 源目录存在a.ts,则a.${target}.js不删除
89
+ * 3. 源目录 a.${target}.ts 被删除,需要判断以下情况
90
+ * - 源目录存在 a.mini.ts,则不删除任何东西,否则删除 a.${target}.js
91
+ * - 源目录存在a.ts,则a.${target}.js不删除
92
+ *
46
93
  * @param options
47
94
  */
48
95
  function unlinkPlatformFiles(options) {
49
- const { sourceDir, outputDir, file } = options;
96
+ const { sourceDir, outputDir, file, mode } = options;
50
97
  const fileBase = path_1.default.relative(sourceDir, file);
51
- let fileExt;
98
+ const libFile = replaceExt(path_1.default.join(outputDir, fileBase), '.js');
99
+ let ext = path_1.default.extname(fileBase);
52
100
  if (fileBase.endsWith('.d.ts')) {
53
- fileExt = '.d.ts';
101
+ ext = '.d.ts';
54
102
  }
55
- else {
56
- fileExt = path_1.default.extname(fileBase);
103
+ const matched = REGEXP_PLATFORM_EXTENSION.exec(fileBase);
104
+ let plt;
105
+ if (matched) {
106
+ const { groups } = matched;
107
+ plt = groups.target;
57
108
  }
58
- const likePaths = [];
59
- const libFile = path_1.default.join(outputDir, fileBase);
60
- if (['.ts', '.tsx', '.js', '.jsx'].includes(fileExt) && fileExt !== '.d.ts') {
61
- likePaths.push(replaceExt(libFile, '.js'));
62
- likePaths.push(replaceExt(libFile, '.d.ts'));
63
- transformTarget.forEach((target) => {
64
- likePaths.push(replaceExt(libFile, `.${target}.js`));
65
- });
109
+ let unlinkPaths = [];
110
+ // js 文件
111
+ if (jsFileExt.includes(ext) && ext !== '.d.ts') {
112
+ if (mode == 'pure') {
113
+ unlinkPaths.push(libFile, ...extraFile(libFile));
114
+ return;
115
+ }
116
+ const srcF = plt ? file.replace(`.${plt}`, '') : file; // 无平台后缀的源文件
117
+ const libF = plt ? libFile.replace(`.${plt}`, '') : libFile; // 无平台后缀的产物
118
+ if (!plt) {
119
+ // 删除非平台后缀源文件
120
+ unlinkPaths.push(libFile, ...extraFile(libFile));
121
+ // 是否存在有平台后缀的源文件,如果不存在则收集有平台后缀的产物,待删除
122
+ collectFile(PLATFORM_EXTENSION, srcF, libF, unlinkPaths);
123
+ }
124
+ else {
125
+ const notExistInSrcWithoutPlt = everyNotExist(srcF);
126
+ // 不存在非平台后缀源文件
127
+ if (notExistInSrcWithoutPlt) {
128
+ const preset = types_1.PlatformTargetPresets[plt];
129
+ if (preset) {
130
+ // 如果删除的是 .mini.ts文件
131
+ // 是否存在有平台后缀(指小程序的后缀如.wechat.ts .thing.ts)的源文件,
132
+ // 如果不存在则收集有平台后缀的产物,待删除
133
+ collectFile(preset, srcF, libF, unlinkPaths);
134
+ }
135
+ else {
136
+ const mini = types_1.PlatformTargetPresets.mini;
137
+ if (mini.includes(plt)) {
138
+ // 删的是否具体平台后缀的源文件
139
+ collectFile(['mini'], srcF, libF, unlinkPaths, plt);
140
+ }
141
+ else {
142
+ // 删的是非小程序平台后缀源文件,人 web.ts
143
+ unlinkPaths.push(libFile, ...extraFile(libFile));
144
+ }
145
+ }
146
+ }
147
+ }
66
148
  }
67
149
  else {
68
- likePaths.push(libFile);
150
+ // 非js文件
151
+ unlinkPaths.push(libFile, ...extraFile(libFile));
69
152
  }
70
- likePaths.filter(fs_extra_1.default.existsSync).map(fs_extra_1.default.unlinkSync);
153
+ unlinkPaths.filter(fs_extra_1.default.existsSync).map(fs_extra_1.default.unlinkSync);
71
154
  }
72
155
  exports.unlinkPlatformFiles = unlinkPlatformFiles;
73
- const PLATFORM_EXTENSION = [...Object.keys(types_1.PlatformTarget), 'mini'];
74
- // 平台文件后缀
75
- // .mini.js 是 ray 定义的小程序文件后缀
76
- const REGEXP_PLATFORM_EXTENSION = new RegExp(`\\.(?<target>(${PLATFORM_EXTENSION.join('|')}))\\.(ts|js)x?$`);
77
156
  /**
78
157
  * 是否为平台文件后缀文件
79
158
  *
80
159
  * @param file
81
160
  * @example
82
- * .native.js .wechat.js .thing.js
161
+ * .web.js|.wechat.js|.thing.js|.mini.js|.tuya.js(匿名化已废弃,不建议再用,但老项目以旧兼容)
83
162
  */
84
163
  function isPlatformExtension(file) {
85
164
  const fileName = path_1.default.basename(file);
@@ -88,15 +167,16 @@ function isPlatformExtension(file) {
88
167
  function getOtherPlatformFile(file) {
89
168
  const platform = [];
90
169
  const ext = path_1.default.extname(file);
91
- PLATFORM_EXTENSION.forEach((target) => {
92
- const targetExt = `.${target}${ext}`;
170
+ PLATFORM_EXTENSION.forEach((plt) => {
171
+ const targetExt = `.${plt}${ext}`;
93
172
  const targetFile = replaceExt(file, targetExt);
94
173
  if (fs_extra_1.default.existsSync(targetFile)) {
95
- if (target in types_1.PlatformTargetPresets) {
96
- platform.push(...types_1.PlatformTargetPresets[target]);
174
+ const presetPlatform = types_1.PlatformTargetPresets[plt];
175
+ if (presetPlatform) {
176
+ platform.push(...presetPlatform);
97
177
  }
98
178
  else {
99
- platform.push(target);
179
+ platform.push(plt);
100
180
  }
101
181
  }
102
182
  });
@@ -105,107 +185,119 @@ function getOtherPlatformFile(file) {
105
185
  /**
106
186
  * 转换器 将文件转成所需要的格式
107
187
  * ts|js 需要生成对应的平台地址
188
+ * 转换规则:
189
+ * 1. 非js文件,直接源文件输出
190
+ * 2. js文件
191
+ * 2.1 原生小程序组件
192
+ * 2.2 智能构建模式
193
+ * 2.2.1 目标平台文件(带有平台扩展的文件,如 a.thing.ts 或 a.wechat.ts 或 a.mini.ts)
194
+ * 2.2.2 非目标平台文件(未带有目标平台扩展的文件,如 a.ts,表示可跨平台)
195
+ * 2.3 非智能构建模式
108
196
  */
109
197
  function transformPlatformFiles(options) {
110
198
  return __awaiter(this, void 0, void 0, function* () {
111
199
  const { file, mode, outputDir, sourceDir } = options;
112
200
  const startTime = Date.now();
113
201
  const fileBase = path_1.default.relative(sourceDir, file);
114
- let fileExt;
202
+ const logInfo = (targets) => {
203
+ shared_1.log.info(`transform`, file.cyan, targets, `${Date.now() - startTime}ms`.white);
204
+ };
205
+ let fileExt = path_1.default.extname(file);
115
206
  if (file.endsWith('.d.ts')) {
116
207
  fileExt = '.d.ts';
117
208
  }
118
- else {
119
- fileExt = path_1.default.extname(file);
209
+ // 非 js 等文件,直接拷贝输出
210
+ if (fileExt === '.d.ts' || !jsFileExt.includes(fileExt)) {
211
+ (0, shared_1.writeFileSync)(path_1.default.join(outputDir, fileBase), fs_extra_1.default.readFileSync(file));
212
+ logInfo([]);
213
+ return;
214
+ }
215
+ // 如果是Native Component
216
+ if ((0, helper_1.isNativeComponent)(file)) {
217
+ const { code } = yield (0, babelTransform_1.default)(file, { modules: false });
218
+ (0, shared_1.writeFileSync)(path_1.default.join(outputDir, fileBase), code);
219
+ return logInfo([]);
120
220
  }
121
- let transformPure = true;
122
- // 生成 JS 文件
123
- let babelResult;
124
- let outputFile;
221
+ let pure = true; //纯js编译 或 智能模式下的非目标平台源文件
222
+ /**
223
+ * 智能构建模式:
224
+ * 所谓的智能构建,是指将某个js文件构建到不同的目标平台。如将a.ts => a.js a.thing.js a.wechat.js a.web.js 等
225
+ * 其中不带平台信息的后缀,用于跨平台
226
+ * 智能构建模式,有点画蛇添足,如果真的需要兼容某个跨平台,直接显示的加上平台后缀即可,如需要兼容智能小程序 a.thing.ts
227
+ */
125
228
  const transformOutputTargets = [];
126
- if (['.ts', '.tsx', '.js', '.jsx'].includes(fileExt) && fileExt !== '.d.ts') {
127
- if ((0, helper_1.isNativeComponent)(file)) {
128
- // 如果是Native Component
129
- babelResult = yield (0, babelTransform_1.default)(file, {
130
- modules: false,
131
- });
132
- yield (0, shared_1.writeFileSync)(path_1.default.join(outputDir, fileBase), babelResult.code);
133
- }
134
- else {
135
- // 智能构建模式, index.js 分成对应的几个端
136
- if (mode === 'auto') {
137
- if (isPlatformExtension(file)) {
138
- transformPure = false;
139
- // 自定义构建模式, 根据当前文件后缀
140
- // 根据当前文件后缀, 获取目标平台
141
- const { groups } = REGEXP_PLATFORM_EXTENSION.exec(fileBase);
142
- const { target: targetPreset } = groups;
143
- if (targetPreset in types_1.PlatformTargetPresets) {
144
- // 预置模式
145
- const platformTargetPreset = types_1.PlatformTargetPresets[targetPreset];
146
- for (let k = 0; k < platformTargetPreset.length; k++) {
147
- const target = platformTargetPreset[k];
148
- const ext = `.${target}.js`;
149
- babelResult = yield (0, babelTransform_1.default)(file, {
150
- target: target,
151
- modules: false,
152
- });
153
- transformOutputTargets.push(target);
154
- if (babelResult && typeof babelResult.code === 'string') {
155
- outputFile = replaceExt(path_1.default.join(outputDir, fileBase.replace(`.${targetPreset}`, '')), ext);
156
- yield (0, shared_1.writeFileSync)(outputFile, babelResult.code);
157
- }
158
- }
229
+ // 以下逻辑为智能构建模式
230
+ if (mode === 'auto') {
231
+ // 如果是平台文件(指源文件扩展名带有平台信息,如 a.wechat.ts a.mini.ts a.thing.ts),只构建该平台的文件
232
+ if (isPlatformExtension(file)) {
233
+ pure = false;
234
+ const { groups } = REGEXP_PLATFORM_EXTENSION.exec(fileBase); // 根据当前文件后缀, 获取目标平台
235
+ const plt = groups.target;
236
+ const presetPlatform = types_1.PlatformTargetPresets[plt];
237
+ if (presetPlatform) {
238
+ // 预设目标平台后缀 预设的`mini`,会被转成 wechat\thing
239
+ for (let k = 0; k < presetPlatform.length; k++) {
240
+ const target = presetPlatform[k];
241
+ const ext = `.${target}.js`;
242
+ // 修复 .mini.ts .wechat.ts .thing.ts文件都存在时的优先级问题
243
+ const notExistWithMini = everyNotExist(file.replace(`.${plt}`, ''), target);
244
+ if (!notExistWithMini) {
245
+ continue;
159
246
  }
160
- else {
161
- babelResult = yield (0, babelTransform_1.default)(file, {
162
- target: targetPreset,
163
- modules: false,
164
- });
165
- transformOutputTargets.push(targetPreset);
166
- if (babelResult && typeof babelResult.code === 'string') {
167
- outputFile = replaceExt(path_1.default.join(outputDir, fileBase), '.js');
168
- yield (0, shared_1.writeFileSync)(outputFile, babelResult.code);
169
- }
247
+ const { code } = (yield (0, babelTransform_1.default)(file, { target, modules: false })) || {};
248
+ transformOutputTargets.push(target);
249
+ if (typeof code === 'string') {
250
+ (0, shared_1.writeFileSync)(replaceExt(path_1.default.join(outputDir, fileBase.replace(`.${plt}`, '')), ext), code);
170
251
  }
171
252
  }
172
- else {
173
- const presetPlatform = getOtherPlatformFile(file);
174
- for (let k = 0; k < transformTarget.length; k++) {
175
- const target = transformTarget[k];
176
- // 存在其他平台的预置文件不再生成
177
- if (!presetPlatform.includes(target)) {
178
- const ext = `.${target}.js`;
179
- babelResult = yield (0, babelTransform_1.default)(file, { target, modules: false });
180
- transformOutputTargets.push(target);
181
- if (babelResult && typeof babelResult.code === 'string') {
182
- outputFile = replaceExt(path_1.default.join(outputDir, fileBase), ext);
183
- yield (0, shared_1.writeFileSync)(outputFile, babelResult.code);
184
- }
185
- }
186
- }
253
+ }
254
+ else {
255
+ // 非预设目标平台后缀(除.mini.ts 文件外的文件,如 a.wechat.ts a.thing.ts等)
256
+ const { code } = (yield (0, babelTransform_1.default)(file, {
257
+ target: plt,
258
+ modules: false,
259
+ })) || {};
260
+ transformOutputTargets.push(plt);
261
+ if (typeof code === 'string') {
262
+ (0, shared_1.writeFileSync)(replaceExt(path_1.default.join(outputDir, fileBase), '.js'), code);
187
263
  }
188
264
  }
189
- if (transformPure) {
190
- // 保留原始文件
191
- // 纯 js es6=>es5 转换 可用于 browser & 小程序 使用的工具库构建
192
- babelResult = yield (0, babelTransform_1.default)(file, { pure: true, modules: false });
193
- transformOutputTargets.push('*');
194
- if (babelResult && typeof babelResult.code === 'string') {
195
- outputFile = replaceExt(path_1.default.join(outputDir, fileBase), '.js');
196
- yield (0, shared_1.writeFileSync)(outputFile, babelResult.code);
265
+ }
266
+ else {
267
+ /**
268
+ * 未带有平台后缀的js源文件, a.ts,并不是a.thing.ts a.mini.ts
269
+ * 在智能构建模式下, 会被构建到多端上
270
+ * a.ts => a.js a.thing.js a.wechat.js a.web.js
271
+ */
272
+ const presetPlatform = getOtherPlatformFile(file);
273
+ for (let k = 0; k < transformTarget.length; k++) {
274
+ const target = transformTarget[k];
275
+ /**
276
+ * 优先级
277
+ * 1. 先有源文件 a.thing.ts
278
+ * 2. 再有 a.ts 时,就不用再生产 a.thing.js 了
279
+ */
280
+ if (!presetPlatform.includes(target)) {
281
+ const ext = `.${target}.js`;
282
+ const { code } = (yield (0, babelTransform_1.default)(file, { target, modules: false })) || {};
283
+ transformOutputTargets.push(target);
284
+ if (typeof code === 'string') {
285
+ (0, shared_1.writeFileSync)(replaceExt(path_1.default.join(outputDir, fileBase), ext), code);
286
+ }
197
287
  }
198
288
  }
199
289
  }
200
290
  }
201
- else {
202
- // js 等文件,直接拷贝输出
203
- const fileContent = fs_extra_1.default.readFileSync(file);
204
- const outputFile = path_1.default.join(outputDir, fileBase);
205
- yield (0, shared_1.writeFileSync)(outputFile, fileContent);
291
+ // 纯 js es6=>es5 转换
292
+ // 可用于 browser & 小程序 使用的工具库构建
293
+ if (pure) {
294
+ const { code } = (yield (0, babelTransform_1.default)(file, { modules: false })) || {};
295
+ transformOutputTargets.push('*');
296
+ if (typeof code === 'string') {
297
+ (0, shared_1.writeFileSync)(replaceExt(path_1.default.join(outputDir, fileBase), '.js'), code);
298
+ }
206
299
  }
207
- shared_1.log.info(`transform`, fileBase.cyan, transformOutputTargets, `${Date.now() - startTime}ms`.white);
300
+ logInfo(transformOutputTargets);
208
301
  });
209
302
  }
210
303
  exports.transformPlatformFiles = transformPlatformFiles;
211
- //# sourceMappingURL=index.js.map
@@ -48,4 +48,3 @@ function generateDTS(cb) {
48
48
  };
49
49
  }
50
50
  exports.generateDTS = generateDTS;
51
- //# sourceMappingURL=type.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/builder-component",
3
- "version": "0.6.21",
3
+ "version": "0.6.22-beta-2",
4
4
  "description": "Ray builder for component",
5
5
  "keywords": [
6
6
  "ray"
@@ -24,10 +24,10 @@
24
24
  "@babel/helper-plugin-utils": "^7.14.5",
25
25
  "@babel/traverse": "^7.16.3",
26
26
  "@babel/types": "^7.16.0",
27
- "@ray-js/babel-preset-standard": "^0.6.21",
28
- "@ray-js/env-loader": "^0.6.21",
29
- "@ray-js/shared": "^0.6.21",
30
- "@ray-js/types": "^0.6.21",
27
+ "@ray-js/babel-preset-standard": "^0.6.22-beta-2",
28
+ "@ray-js/env-loader": "^0.6.22-beta-2",
29
+ "@ray-js/shared": "^0.6.22-beta-2",
30
+ "@ray-js/types": "^0.6.22-beta-2",
31
31
  "babel-plugin-import": "^1.13.3",
32
32
  "chokidar": "^3.5.2",
33
33
  "colors": "1.4.0",
@@ -44,6 +44,6 @@
44
44
  "email": "tuyafe@tuya.com"
45
45
  }
46
46
  ],
47
- "gitHead": "cbb81571d068e6997e9b1fe95198c1b0275112e7",
47
+ "gitHead": "5d621bf1561047175b967cdf3aa35446f7d7198a",
48
48
  "repository": {}
49
49
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/babel/import-replacement/index.ts"],"names":[],"mappings":";;AAAA,oEAAoD;AAIpD,kBAAe,IAAA,6BAAO,EAAC,CAAC,GAAQ,EAAE,OAAgD,EAAE,EAAE;IACpF,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,OAAO;QACL,OAAO,EAAE;YACP,iBAAiB,CAAC,IAAmC;gBACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1D,CAAC;SACF;KACF,CAAA;AACH,CAAC,CAAC,CAAA"}
package/lib/build.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
package/lib/helper.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AAEZ,MAAM,iBAAiB,GAAG,CAAC,UAAyB,EAAW,EAAE;IACtE,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,KAAK,CAAA;KACb;IAED,IAAI,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE;QACtC,OAAO,KAAK,CAAA;KACb;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAE3D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAClC,OAAO,KAAK,CAAA;KACb;IAED,8DAA8D;IAC9D,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,CAAA;AAC1C,CAAC,CAAA;AAjBY,QAAA,iBAAiB,qBAiB7B"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAElB,gBAFF,eAAK,CAEE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"babelTransform.js","sourceRoot":"","sources":["../../src/transform/babelTransform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,wDAA0B;AAC1B,gDAAuB;AACvB,sCAAwD;AAExD,mDAAmD;AAQnD,SAA8B,cAAc,CAAC,IAAY,EAAE,OAA8B;;QACvF,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,WAAW,GAAiB,EAAE,CAAA;QAElC,IAAI,OAAO,CAAA;QACX,MAAM,MAAM,GAAG,kBAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,IAAI,GAAW,MAAM,CAAA;QAEzB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;YAE1B,WAAW,GAAG;gBACZ;oBACE,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC;oBAC9C;wBACE,OAAO,EAAE,UAAU,MAAc;4BAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gCAC5B,8BAA8B;gCAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;6BAC/C;4BACD,OAAO,MAAM,CAAA;wBACf,CAAC;qBACF;iBACF;gBACD;oBACE,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;oBACtC;wBACE,WAAW,EAAE,kBAAkB;wBAC/B,wBAAwB,EAAE,KAAK;wBAC/B,uBAAuB,EAAE,KAAK;wBAC9B,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE;4BAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gCAC1B,OAAO,kBAAkB,CAAA;6BAC1B;4BACD,OAAO,uCAAuC,IAAI,QAAQ,CAAA;wBAC5D,CAAC;qBACF;oBACD,kBAAkB;iBACnB;aACF,CAAA;YAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,2BAAc,EACvD,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,EAC5B,MAAM,EACN;gBACE,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpC,cAAc,EAAE,IAAI;aACrB,CACF,CAAA;YAED,IAAI,GAAG,aAAa,CAAA;YACpB,OAAO,GAAG,GAAG,CAAA;SACd;QAED,OAAO,MAAM,IAAA,qBAAc,EAAC,IAAI,EAAE;YAChC,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE;gBACP;oBACE,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC;oBAChD;wBACE,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO,CAAC,MAAM;wBACxB,KAAK,EAAE,KAAK;wBACZ,sBAAsB;wBACtB,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;qBACvF;iBACF;aACF;YACD,OAAO,EAAE,WAAW;YACpB,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC;CAAA;AA5ED,iCA4EC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/transform/type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAEhC,MAAM,OAAO,GAAuB;IAClC,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,IAAI;IACjB,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG;IAC3B,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ;IACxB,4BAA4B,EAAE,IAAI;CACnC,CAAA;AAED,SAAgB,WAAW,CAAC,EAAkC;IAC5D,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,SAAS,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAQ,EAAE;QAC5D,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,OAAO,CAAC,KAAe,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QACtD,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AATD,kCASC"}