@tarojs/rn-runner 3.3.16 → 3.3.20

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.
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mime = require("mime-types");
4
+ var http_1 = require("http");
5
+ var fs_1 = require("fs");
6
+ var qrcode_terminal_1 = require("qrcode-terminal");
7
+ var utils_1 = require("../utils");
8
+ var url_1 = require("url");
9
+ var path_1 = require("path");
10
+ var drawableFileTypes = new Set([
11
+ 'gif',
12
+ 'jpeg',
13
+ 'jpg',
14
+ 'png',
15
+ 'webp',
16
+ 'xml'
17
+ ]);
18
+ function getAndroidAssetSuffix(scale) {
19
+ switch (scale) {
20
+ case 0.75:
21
+ return 'ldpi';
22
+ case 1:
23
+ return 'mdpi';
24
+ case 1.5:
25
+ return 'hdpi';
26
+ case 2:
27
+ return 'xhdpi';
28
+ case 3:
29
+ return 'xxhdpi';
30
+ case 4:
31
+ return 'xxxhdpi';
32
+ default:
33
+ return '';
34
+ }
35
+ }
36
+ function getAndroidResourceFolderName(pathname) {
37
+ var ext = path_1.extname(pathname).replace(/^./, '').toLowerCase();
38
+ if (!drawableFileTypes.has(ext)) {
39
+ return 'raw';
40
+ }
41
+ var suffix = getAndroidAssetSuffix(1); // TODO: auto scale
42
+ var androidFolder = "drawable-" + suffix;
43
+ return androidFolder;
44
+ }
45
+ function getAndroidResourceIdentifier(pathname) {
46
+ if (pathname[0] === '/') {
47
+ pathname = pathname.substr(1);
48
+ }
49
+ var ext = path_1.extname(pathname).toLowerCase();
50
+ var extReg = new RegExp(ext + '$');
51
+ return pathname
52
+ .replace(extReg, '')
53
+ .toLowerCase()
54
+ .replace(/\//g, '_')
55
+ .replace(/([^a-z0-9_])/g, '')
56
+ .replace(/^assets_/, '') + ext;
57
+ }
58
+ exports.default = (function (opt) {
59
+ var port = process.env.PORT || 8079;
60
+ var host = "http://" + utils_1.getOpenHost() + ":" + port;
61
+ http_1.createServer(function (request, response) {
62
+ var url = new url_1.URL(request.url || '', host);
63
+ console.log(request.method + " " + request.url);
64
+ if (url.pathname === '/inspector/device') {
65
+ response.writeHead(404);
66
+ response.end('404', 'utf-8');
67
+ return;
68
+ }
69
+ var filePath;
70
+ var contentType = mime.lookup(url.pathname);
71
+ if (url.pathname === '/index.js') {
72
+ filePath = opt.out;
73
+ }
74
+ else if (opt.platform === 'ios') {
75
+ filePath = path_1.join(opt.assetsDest || '', url.pathname);
76
+ }
77
+ else if (opt.platform === 'android') {
78
+ filePath = path_1.join(opt.assetsDest || '', getAndroidResourceFolderName(url.pathname), getAndroidResourceIdentifier(url.pathname));
79
+ }
80
+ fs_1.readFile(filePath, function (error, content) {
81
+ if (error) {
82
+ if (error.code === 'ENOENT') {
83
+ response.writeHead(404);
84
+ response.end('404', 'utf-8');
85
+ }
86
+ else {
87
+ response.writeHead(500);
88
+ response.end('500', 'utf-8');
89
+ }
90
+ }
91
+ else {
92
+ response.writeHead(200, { 'Content-Type': contentType });
93
+ response.end(content, 'utf-8');
94
+ }
95
+ });
96
+ }).listen(port);
97
+ var url = host + "/index.js";
98
+ console.log(utils_1.PLAYGROUNDINFO);
99
+ console.log("print qrcode of " + opt.platform + " bundle '" + url + "':");
100
+ qrcode_terminal_1.generate(url, { small: true });
101
+ });
102
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/config/preview.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,11 +50,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
50
50
  var Metro = require("metro");
51
51
  var config_1 = require("./config");
52
52
  var config_holder_1 = require("./config/config-holder");
53
+ var utils_1 = require("./utils");
54
+ var preview_1 = require("./config/preview");
53
55
  var helper_1 = require("@tarojs/helper");
54
56
  var path = require("path");
55
57
  var fse = require("fs-extra");
56
58
  var url = require("url");
57
- var os_1 = require("os");
58
59
  var qrcode_terminal_1 = require("qrcode-terminal");
59
60
  var readline = require("readline");
60
61
  var cli_server_api_1 = require("@react-native-community/cli-server-api");
@@ -122,32 +123,12 @@ function getOutputSourceMapOption(config) {
122
123
  sourcemapSourcesRoot: sourcemapSourcesRoot
123
124
  };
124
125
  }
125
- function getOpenHost() {
126
- var _a;
127
- var result;
128
- var interfaces = os_1.networkInterfaces();
129
- for (var devName in interfaces) {
130
- var isEnd = (_a = interfaces[devName]) === null || _a === void 0 ? void 0 : _a.some(function (item) {
131
- // 取IPv4, 不为127.0.0.1的内网ip
132
- if (item.family === 'IPv4' && item.address !== '127.0.0.1' && !item.internal) {
133
- result = item.address;
134
- return true;
135
- }
136
- return false;
137
- });
138
- // 若获取到ip, 结束遍历
139
- if (isEnd) {
140
- break;
141
- }
142
- }
143
- return result;
144
- }
145
126
  // TODO: 返回值
146
127
  // HttpServer | {code: string, map: string}
147
128
  // IBuildConfig
148
129
  function build(appPath, config) {
149
130
  return __awaiter(this, void 0, void 0, function () {
150
- var entry, metroConfig, sourceRoot, commonOptions, onFinish, _a, middleware_1, attachToServer_1, options, savedBuildFunc_1, server, sourceMapOption, requestOptions, bundle, outputOptions, outputAssets, e_1;
131
+ var entry, metroConfig, sourceRoot, commonOptions, onFinish, _a, middleware_1, attachToServer_1, options_1, savedBuildFunc_1, server, sourceMapOption, requestOptions, bundle, outputOptions, outputAssets, assetsDest_1, e_1;
151
132
  var _this = this;
152
133
  return __generator(this, function (_b) {
153
134
  switch (_b.label) {
@@ -235,9 +216,10 @@ function build(appPath, config) {
235
216
  }
236
217
  });
237
218
  if (config.qr) {
238
- var host = getOpenHost();
219
+ var host = utils_1.getOpenHost();
239
220
  if (host) {
240
221
  var url_1 = "taro://" + host + ":" + metroConfig.server.port;
222
+ console.log(utils_1.PLAYGROUNDINFO);
241
223
  console.log("print qrcode of '" + url_1 + "':");
242
224
  qrcode_terminal_1.generate(url_1, { small: true });
243
225
  }
@@ -251,7 +233,7 @@ function build(appPath, config) {
251
233
  onFinish(e);
252
234
  })];
253
235
  case 2:
254
- options = __assign(__assign({}, commonOptions), { entry: './index', out: concatOutputFileName(config) });
236
+ options_1 = __assign(__assign({}, commonOptions), { entry: './index', out: concatOutputFileName(config) });
255
237
  savedBuildFunc_1 = outputBundle.build;
256
238
  outputBundle.build = function (packagerClient, requestOptions) { return __awaiter(_this, void 0, void 0, function () {
257
239
  var resolutionFn;
@@ -270,11 +252,11 @@ function build(appPath, config) {
270
252
  _b.label = 3;
271
253
  case 3:
272
254
  _b.trys.push([3, 8, 9, 10]);
273
- requestOptions = __assign(__assign(__assign({}, commonOptions), sourceMapOption), { entryFile: options.entry, inlineSourceMap: false, createModuleIdFactory: metroConfig.serializer.createModuleIdFactory });
255
+ requestOptions = __assign(__assign(__assign({}, commonOptions), sourceMapOption), { entryFile: options_1.entry, inlineSourceMap: false, createModuleIdFactory: metroConfig.serializer.createModuleIdFactory });
274
256
  return [4 /*yield*/, outputBundle.build(server, requestOptions)];
275
257
  case 4:
276
258
  bundle = _b.sent();
277
- outputOptions = __assign(__assign(__assign({}, commonOptions), sourceMapOption), { bundleOutput: options.out });
259
+ outputOptions = __assign(__assign(__assign({}, commonOptions), sourceMapOption), { bundleOutput: options_1.out });
278
260
  return [4 /*yield*/, outputBundle.save(bundle, outputOptions, console.log)
279
261
  // Save the assets of the bundle
280
262
  ];
@@ -283,7 +265,15 @@ function build(appPath, config) {
283
265
  return [4 /*yield*/, server.getAssets(__assign(__assign({}, Server.DEFAULT_BUNDLE_OPTIONS), requestOptions))];
284
266
  case 6:
285
267
  outputAssets = _b.sent();
286
- return [4 /*yield*/, saveAssets_1.default(outputAssets, options.platform, concatOutputAssetsDest(config)).then(function () {
268
+ assetsDest_1 = concatOutputAssetsDest(config);
269
+ return [4 /*yield*/, saveAssets_1.default(outputAssets, options_1.platform, assetsDest_1).then(function () {
270
+ if (config.qr) {
271
+ preview_1.default({
272
+ out: options_1.out,
273
+ assetsDest: assetsDest_1,
274
+ platform: options_1.platform
275
+ });
276
+ }
287
277
  onFinish(null);
288
278
  })];
289
279
  case 7: return [2 /*return*/, _b.sent()];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/utils.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PLAYGROUNDINFO = exports.PLAYGROUNDREPO = exports.getOpenHost = void 0;
4
+ var os_1 = require("os");
5
+ function getOpenHost() {
6
+ var _a;
7
+ var result;
8
+ var interfaces = os_1.networkInterfaces();
9
+ for (var devName in interfaces) {
10
+ var isEnd = (_a = interfaces[devName]) === null || _a === void 0 ? void 0 : _a.some(function (item) {
11
+ // 取IPv4, 不为127.0.0.1的内网ip
12
+ if (item.family === 'IPv4' && item.address !== '127.0.0.1' && !item.internal) {
13
+ result = item.address;
14
+ return true;
15
+ }
16
+ return false;
17
+ });
18
+ // 若获取到ip, 结束遍历
19
+ if (isEnd) {
20
+ break;
21
+ }
22
+ }
23
+ return result;
24
+ }
25
+ exports.getOpenHost = getOpenHost;
26
+ exports.PLAYGROUNDREPO = 'https://github.com/wuba/taro-playground';
27
+ exports.PLAYGROUNDINFO = "use [Taro Playground App](" + exports.PLAYGROUNDREPO + ") to scan";
28
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,yBAAsC;AAEtC,SAAgB,WAAW;;IACzB,IAAI,MAAM,CAAA;IACV,IAAM,UAAU,GAAG,sBAAiB,EAAE,CAAA;IACtC,KAAK,IAAM,OAAO,IAAI,UAAU,EAAE;QAChC,IAAM,KAAK,GAAG,MAAA,UAAU,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,UAAA,IAAI;YAC1C,0BAA0B;YAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC5E,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;gBACrB,OAAO,IAAI,CAAA;aACZ;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,eAAe;QACf,IAAI,KAAK,EAAE;YACT,MAAK;SACN;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAlBD,kCAkBC;AAEY,QAAA,cAAc,GAAG,yCAAyC,CAAA;AAE1D,QAAA,cAAc,GAAG,+BAA6B,sBAAc,cAAW,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/rn-runner",
3
- "version": "3.3.16",
3
+ "version": "3.3.20",
4
4
  "description": "ReactNative build tool for taro",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -32,10 +32,10 @@
32
32
  "dependencies": {
33
33
  "@react-native-community/cli": "^5.0.1",
34
34
  "@react-native-community/cli-server-api": "^5.0.1",
35
- "@tarojs/helper": "3.3.16",
36
- "@tarojs/rn-style-transformer": "3.3.16",
37
- "@tarojs/rn-supporter": "3.3.16",
38
- "@tarojs/rn-transformer": "3.3.16",
35
+ "@tarojs/helper": "3.3.20",
36
+ "@tarojs/rn-style-transformer": "3.3.20",
37
+ "@tarojs/rn-supporter": "3.3.20",
38
+ "@tarojs/rn-transformer": "3.3.20",
39
39
  "fs-extra": "^9.0.1",
40
40
  "lodash": "^4.17.4",
41
41
  "metro": "^0.66.2",
@@ -44,7 +44,8 @@
44
44
  "metro-core": "^0.66.2",
45
45
  "metro-react-native-babel-transformer": "^0.66.2",
46
46
  "metro-resolver": "^0.66.2",
47
+ "mime-types": "^2.1.27",
47
48
  "qrcode-terminal": "^0.12.0"
48
49
  },
49
- "gitHead": "75d3de695c98fab79998612ef87567a68ea981a7"
50
+ "gitHead": "f98ceefaa3e419db5a6c3bcd3bf123ce5a0a0124"
50
51
  }
@@ -0,0 +1,113 @@
1
+ import * as mime from 'mime-types'
2
+ import { createServer } from 'http'
3
+ import { readFile } from 'fs'
4
+ import { generate } from 'qrcode-terminal'
5
+ import { getOpenHost, PLAYGROUNDINFO } from '../utils'
6
+ import { URL } from 'url'
7
+ import { join, extname } from 'path'
8
+
9
+ interface PreviewOption {
10
+ out: string
11
+ platform: string
12
+ assetsDest?: string
13
+ }
14
+
15
+ const drawableFileTypes = new Set<string>([
16
+ 'gif',
17
+ 'jpeg',
18
+ 'jpg',
19
+ 'png',
20
+ 'webp',
21
+ 'xml'
22
+ ])
23
+
24
+ function getAndroidAssetSuffix (scale: number): string {
25
+ switch (scale) {
26
+ case 0.75:
27
+ return 'ldpi'
28
+ case 1:
29
+ return 'mdpi'
30
+ case 1.5:
31
+ return 'hdpi'
32
+ case 2:
33
+ return 'xhdpi'
34
+ case 3:
35
+ return 'xxhdpi'
36
+ case 4:
37
+ return 'xxxhdpi'
38
+ default:
39
+ return ''
40
+ }
41
+ }
42
+
43
+ function getAndroidResourceFolderName (pathname:string): string {
44
+ const ext = extname(pathname).replace(/^./, '').toLowerCase()
45
+ if (!drawableFileTypes.has(ext)) {
46
+ return 'raw'
47
+ }
48
+ const suffix = getAndroidAssetSuffix(1) // TODO: auto scale
49
+ const androidFolder = `drawable-${suffix}`
50
+ return androidFolder
51
+ }
52
+
53
+ function getAndroidResourceIdentifier (pathname:string): string {
54
+ if (pathname[0] === '/') {
55
+ pathname = pathname.substr(1)
56
+ }
57
+ const ext = extname(pathname).toLowerCase()
58
+ const extReg = new RegExp(ext + '$')
59
+ return pathname
60
+ .replace(extReg, '')
61
+ .toLowerCase()
62
+ .replace(/\//g, '_')
63
+ .replace(/([^a-z0-9_])/g, '')
64
+ .replace(/^assets_/, '') + ext
65
+ }
66
+
67
+ export default (opt: PreviewOption):void => {
68
+ const port = process.env.PORT || 8079
69
+ const host = `http://${getOpenHost()}:${port}`
70
+
71
+ createServer(function (request, response) {
72
+ const url = new URL(request.url || '', host)
73
+
74
+ console.log(`${request.method} ${request.url}`)
75
+
76
+ if (url.pathname === '/inspector/device') {
77
+ response.writeHead(404)
78
+ response.end('404', 'utf-8')
79
+ return
80
+ }
81
+
82
+ let filePath
83
+ const contentType = mime.lookup(url.pathname)
84
+
85
+ if (url.pathname === '/index.js') {
86
+ filePath = opt.out
87
+ } else if (opt.platform === 'ios') {
88
+ filePath = join(opt.assetsDest || '', url.pathname)
89
+ } else if (opt.platform === 'android') {
90
+ filePath = join(opt.assetsDest || '', getAndroidResourceFolderName(url.pathname), getAndroidResourceIdentifier(url.pathname))
91
+ }
92
+
93
+ readFile(filePath, function (error, content) {
94
+ if (error) {
95
+ if (error.code === 'ENOENT') {
96
+ response.writeHead(404)
97
+ response.end('404', 'utf-8')
98
+ } else {
99
+ response.writeHead(500)
100
+ response.end('500', 'utf-8')
101
+ }
102
+ } else {
103
+ response.writeHead(200, { 'Content-Type': contentType })
104
+ response.end(content, 'utf-8')
105
+ }
106
+ })
107
+ }).listen(port)
108
+
109
+ const url = `${host}/index.js`
110
+ console.log(PLAYGROUNDINFO)
111
+ console.log(`print qrcode of ${opt.platform} bundle '${url}':`)
112
+ generate(url, { small: true })
113
+ }
package/src/index.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import * as Metro from 'metro'
2
2
  import getMetroConfig from './config'
3
3
  import { getRNConfigEntry } from './config/config-holder'
4
+ import { getOpenHost, PLAYGROUNDINFO } from './utils'
5
+ import preview from './config/preview'
4
6
 
5
7
  import { PLATFORMS } from '@tarojs/helper'
6
8
  import * as path from 'path'
7
9
  import * as fse from 'fs-extra'
8
10
  import * as url from 'url'
9
- import { networkInterfaces } from 'os'
10
11
  import { generate } from 'qrcode-terminal'
11
12
 
12
13
  import * as readline from 'readline'
@@ -74,26 +75,6 @@ function getOutputSourceMapOption (config: any): Record<string, any> {
74
75
  }
75
76
  }
76
77
 
77
- function getOpenHost () {
78
- let result
79
- const interfaces = networkInterfaces()
80
- for (const devName in interfaces) {
81
- const isEnd = interfaces[devName]?.some(item => {
82
- // 取IPv4, 不为127.0.0.1的内网ip
83
- if (item.family === 'IPv4' && item.address !== '127.0.0.1' && !item.internal) {
84
- result = item.address
85
- return true
86
- }
87
- return false
88
- })
89
- // 若获取到ip, 结束遍历
90
- if (isEnd) {
91
- break
92
- }
93
- }
94
- return result
95
- }
96
-
97
78
  // TODO: 返回值
98
79
  // HttpServer | {code: string, map: string}
99
80
  // IBuildConfig
@@ -190,6 +171,7 @@ export default async function build (appPath: string, config: any): Promise<any>
190
171
  const host = getOpenHost()
191
172
  if (host) {
192
173
  const url = `taro://${host}:${metroConfig.server.port}`
174
+ console.log(PLAYGROUNDINFO)
193
175
  console.log(`print qrcode of '${url}':`)
194
176
  generate(url, { small: true })
195
177
  } else {
@@ -239,7 +221,15 @@ export default async function build (appPath: string, config: any): Promise<any>
239
221
  ...Server.DEFAULT_BUNDLE_OPTIONS,
240
222
  ...requestOptions
241
223
  })
242
- return await saveAssets(outputAssets, options.platform, concatOutputAssetsDest(config)).then(() => {
224
+ const assetsDest = concatOutputAssetsDest(config)
225
+ return await saveAssets(outputAssets, options.platform, assetsDest).then(() => {
226
+ if (config.qr) {
227
+ preview({
228
+ out: options.out,
229
+ assetsDest,
230
+ platform: options.platform
231
+ })
232
+ }
243
233
  onFinish(null)
244
234
  })
245
235
  } catch (e) {
package/src/utils.ts ADDED
@@ -0,0 +1,25 @@
1
+ import { networkInterfaces } from 'os'
2
+
3
+ export function getOpenHost () {
4
+ let result
5
+ const interfaces = networkInterfaces()
6
+ for (const devName in interfaces) {
7
+ const isEnd = interfaces[devName]?.some(item => {
8
+ // 取IPv4, 不为127.0.0.1的内网ip
9
+ if (item.family === 'IPv4' && item.address !== '127.0.0.1' && !item.internal) {
10
+ result = item.address
11
+ return true
12
+ }
13
+ return false
14
+ })
15
+ // 若获取到ip, 结束遍历
16
+ if (isEnd) {
17
+ break
18
+ }
19
+ }
20
+ return result
21
+ }
22
+
23
+ export const PLAYGROUNDREPO = 'https://github.com/wuba/taro-playground'
24
+
25
+ export const PLAYGROUNDINFO = `use [Taro Playground App](${PLAYGROUNDREPO}) to scan`