metro-transform-worker 0.63.0 → 0.64.0
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.
- package/package.json +13 -12
- package/src/index.js +33 -14
- package/src/index.js.flow +14 -11
- package/src/utils/assetTransformer.js +4 -0
- package/src/utils/assetTransformer.js.flow +2 -2
- package/src.real/__mocks__/index.js +1 -2
- package/src.real/index.js +557 -438
- package/src.real/index.js.flow +517 -0
- package/src.real/utils/assetTransformer.js +69 -31
- package/src.real/utils/assetTransformer.js.flow +50 -0
- package/src.real/utils/getMinifier.js +4 -7
- package/src.real/utils/getMinifier.js.flow +32 -0
- package/src.real/__tests__/__snapshots__/index-test.js.snap +0 -306
- package/src.real/__tests__/index-test.js +0 -380
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "metro-transform-worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0",
|
|
4
4
|
"description": "🚇 Transform worker for Metro.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -18,18 +18,19 @@
|
|
|
18
18
|
"@babel/parser": "^7.0.0",
|
|
19
19
|
"@babel/types": "^7.0.0",
|
|
20
20
|
"babel-preset-fbjs": "^3.3.0",
|
|
21
|
-
"metro
|
|
22
|
-
"metro-
|
|
23
|
-
"metro-cache
|
|
24
|
-
"metro-
|
|
25
|
-
"metro-
|
|
26
|
-
"metro-
|
|
27
|
-
"metro": "0.
|
|
21
|
+
"metro": "0.64.0",
|
|
22
|
+
"metro-babel-transformer": "0.64.0",
|
|
23
|
+
"metro-cache": "0.64.0",
|
|
24
|
+
"metro-cache-key": "0.64.0",
|
|
25
|
+
"metro-hermes-compiler": "0.64.0",
|
|
26
|
+
"metro-source-map": "0.64.0",
|
|
27
|
+
"metro-transform-plugins": "0.64.0",
|
|
28
|
+
"nullthrows": "^1.1.1"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"metro-
|
|
31
|
-
"metro-
|
|
32
|
-
"
|
|
33
|
-
"
|
|
31
|
+
"metro-memory-fs": "0.64.0",
|
|
32
|
+
"metro-minify-uglify": "0.64.0",
|
|
33
|
+
"metro-react-native-babel-transformer": "0.64.0",
|
|
34
|
+
"mkdirp": "^0.5.1"
|
|
34
35
|
}
|
|
35
36
|
}
|
package/src/index.js
CHANGED
|
@@ -45,16 +45,22 @@ function _arrayWithoutHoles(arr) {
|
|
|
45
45
|
|
|
46
46
|
function _arrayLikeToArray(arr, len) {
|
|
47
47
|
if (len == null || len > arr.length) len = arr.length;
|
|
48
|
+
|
|
48
49
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
50
|
+
|
|
49
51
|
return arr2;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
function _objectWithoutProperties(source, excluded) {
|
|
53
55
|
if (source == null) return {};
|
|
56
|
+
|
|
54
57
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
58
|
+
|
|
55
59
|
var key, i;
|
|
60
|
+
|
|
56
61
|
if (Object.getOwnPropertySymbols) {
|
|
57
62
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
63
|
+
|
|
58
64
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
59
65
|
key = sourceSymbolKeys[i];
|
|
60
66
|
if (excluded.indexOf(key) >= 0) continue;
|
|
@@ -62,6 +68,7 @@ function _objectWithoutProperties(source, excluded) {
|
|
|
62
68
|
target[key] = source[key];
|
|
63
69
|
}
|
|
64
70
|
}
|
|
71
|
+
|
|
65
72
|
return target;
|
|
66
73
|
}
|
|
67
74
|
|
|
@@ -70,16 +77,19 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
70
77
|
var target = {};
|
|
71
78
|
var sourceKeys = Object.keys(source);
|
|
72
79
|
var key, i;
|
|
80
|
+
|
|
73
81
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
74
82
|
key = sourceKeys[i];
|
|
75
83
|
if (excluded.indexOf(key) >= 0) continue;
|
|
76
84
|
target[key] = source[key];
|
|
77
85
|
}
|
|
86
|
+
|
|
78
87
|
return target;
|
|
79
88
|
}
|
|
80
89
|
|
|
81
90
|
function ownKeys(object, enumerableOnly) {
|
|
82
91
|
var keys = Object.keys(object);
|
|
92
|
+
|
|
83
93
|
if (Object.getOwnPropertySymbols) {
|
|
84
94
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
85
95
|
if (enumerableOnly)
|
|
@@ -88,12 +98,14 @@ function ownKeys(object, enumerableOnly) {
|
|
|
88
98
|
});
|
|
89
99
|
keys.push.apply(keys, symbols);
|
|
90
100
|
}
|
|
101
|
+
|
|
91
102
|
return keys;
|
|
92
103
|
}
|
|
93
104
|
|
|
94
105
|
function _objectSpread(target) {
|
|
95
106
|
for (var i = 1; i < arguments.length; i++) {
|
|
96
107
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
108
|
+
|
|
97
109
|
if (i % 2) {
|
|
98
110
|
ownKeys(Object(source), true).forEach(function(key) {
|
|
99
111
|
_defineProperty(target, key, source[key]);
|
|
@@ -110,6 +122,7 @@ function _objectSpread(target) {
|
|
|
110
122
|
});
|
|
111
123
|
}
|
|
112
124
|
}
|
|
125
|
+
|
|
113
126
|
return target;
|
|
114
127
|
}
|
|
115
128
|
|
|
@@ -124,6 +137,7 @@ function _defineProperty(obj, key, value) {
|
|
|
124
137
|
} else {
|
|
125
138
|
obj[key] = value;
|
|
126
139
|
}
|
|
140
|
+
|
|
127
141
|
return obj;
|
|
128
142
|
}
|
|
129
143
|
|
|
@@ -135,6 +149,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
135
149
|
reject(error);
|
|
136
150
|
return;
|
|
137
151
|
}
|
|
152
|
+
|
|
138
153
|
if (info.done) {
|
|
139
154
|
resolve(value);
|
|
140
155
|
} else {
|
|
@@ -148,12 +163,15 @@ function _asyncToGenerator(fn) {
|
|
|
148
163
|
args = arguments;
|
|
149
164
|
return new Promise(function(resolve, reject) {
|
|
150
165
|
var gen = fn.apply(self, args);
|
|
166
|
+
|
|
151
167
|
function _next(value) {
|
|
152
168
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
153
169
|
}
|
|
170
|
+
|
|
154
171
|
function _throw(err) {
|
|
155
172
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
156
173
|
}
|
|
174
|
+
|
|
157
175
|
_next(undefined);
|
|
158
176
|
});
|
|
159
177
|
};
|
|
@@ -171,6 +189,8 @@ const collectDependencies = require("metro/src/ModuleGraph/worker/collectDepende
|
|
|
171
189
|
|
|
172
190
|
const generateImportNames = require("metro/src/ModuleGraph/worker/generateImportNames");
|
|
173
191
|
|
|
192
|
+
const nullthrows = require("nullthrows");
|
|
193
|
+
|
|
174
194
|
const generate = require("@babel/generator").default;
|
|
175
195
|
|
|
176
196
|
const getCacheKey = require("metro-cache-key");
|
|
@@ -464,20 +484,19 @@ module.exports = {
|
|
|
464
484
|
}
|
|
465
485
|
|
|
466
486
|
plugins.push([inlinePlugin, opts]);
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
ast = _transformFromAstSync.ast;
|
|
487
|
+
ast = nullthrows(
|
|
488
|
+
transformFromAstSync(ast, "", {
|
|
489
|
+
ast: true,
|
|
490
|
+
babelrc: false,
|
|
491
|
+
code: false,
|
|
492
|
+
configFile: false,
|
|
493
|
+
comments: false,
|
|
494
|
+
compact: false,
|
|
495
|
+
filename,
|
|
496
|
+
plugins,
|
|
497
|
+
sourceMaps: false
|
|
498
|
+
}).ast
|
|
499
|
+
);
|
|
481
500
|
let dependencyMapName = "";
|
|
482
501
|
let dependencies;
|
|
483
502
|
let wrappedAst; // If the module to transform is a script (meaning that is not part of the
|
package/src/index.js.flow
CHANGED
|
@@ -17,6 +17,7 @@ const assetTransformer = require('./utils/assetTransformer');
|
|
|
17
17
|
const babylon = require('@babel/parser');
|
|
18
18
|
const collectDependencies = require('metro/src/ModuleGraph/worker/collectDependencies');
|
|
19
19
|
const generateImportNames = require('metro/src/ModuleGraph/worker/generateImportNames');
|
|
20
|
+
const nullthrows = require('nullthrows');
|
|
20
21
|
const generate = require('@babel/generator').default;
|
|
21
22
|
const getCacheKey = require('metro-cache-key');
|
|
22
23
|
const getMinifier = require('./utils/getMinifier');
|
|
@@ -372,17 +373,19 @@ module.exports = {
|
|
|
372
373
|
|
|
373
374
|
plugins.push([inlinePlugin, opts]);
|
|
374
375
|
|
|
375
|
-
|
|
376
|
-
ast
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
376
|
+
ast = nullthrows(
|
|
377
|
+
transformFromAstSync(ast, '', {
|
|
378
|
+
ast: true,
|
|
379
|
+
babelrc: false,
|
|
380
|
+
code: false,
|
|
381
|
+
configFile: false,
|
|
382
|
+
comments: false,
|
|
383
|
+
compact: false,
|
|
384
|
+
filename,
|
|
385
|
+
plugins,
|
|
386
|
+
sourceMaps: false,
|
|
387
|
+
}).ast,
|
|
388
|
+
);
|
|
386
389
|
|
|
387
390
|
let dependencyMapName = '';
|
|
388
391
|
let dependencies;
|
|
@@ -17,6 +17,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
17
17
|
reject(error);
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
+
|
|
20
21
|
if (info.done) {
|
|
21
22
|
resolve(value);
|
|
22
23
|
} else {
|
|
@@ -30,12 +31,15 @@ function _asyncToGenerator(fn) {
|
|
|
30
31
|
args = arguments;
|
|
31
32
|
return new Promise(function(resolve, reject) {
|
|
32
33
|
var gen = fn.apply(self, args);
|
|
34
|
+
|
|
33
35
|
function _next(value) {
|
|
34
36
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
35
37
|
}
|
|
38
|
+
|
|
36
39
|
function _throw(err) {
|
|
37
40
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
38
41
|
}
|
|
42
|
+
|
|
39
43
|
_next(undefined);
|
|
40
44
|
});
|
|
41
45
|
};
|
|
@@ -15,14 +15,14 @@ const path = require('path');
|
|
|
15
15
|
const {getAssetData} = require('metro/src/Assets');
|
|
16
16
|
const {generateAssetCodeFileAst} = require('metro/src/Bundler/util');
|
|
17
17
|
|
|
18
|
-
import type {
|
|
18
|
+
import type {File} from '@babel/types';
|
|
19
19
|
import type {BabelTransformerArgs} from 'metro-babel-transformer';
|
|
20
20
|
|
|
21
21
|
async function transform(
|
|
22
22
|
{filename, options, src}: BabelTransformerArgs,
|
|
23
23
|
assetRegistryPath: string,
|
|
24
24
|
assetDataPlugins: $ReadOnlyArray<string>,
|
|
25
|
-
): Promise<{ast:
|
|
25
|
+
): Promise<{ast: File, ...}> {
|
|
26
26
|
options = options || {
|
|
27
27
|
platform: '',
|
|
28
28
|
projectRoot: '',
|