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

Sign up to get free protection for your applications and to get access to all the features.
@@ -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-1",
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-1",
28
+ "@ray-js/env-loader": "^0.6.22-beta-1",
29
+ "@ray-js/shared": "^0.6.22-beta-1",
30
+ "@ray-js/types": "^0.6.22-beta-1",
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": "2e905a1820d0adfc0a6ca8cf3ecf1f3a584a0d44",
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"}