@react-native/babel-preset 0.73.10 → 0.73.12
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 +9 -28
- package/src/configs/lazy-imports.js +2 -0
- package/src/configs/main.js +35 -106
- package/src/index.js +2 -0
- package/src/passthrough-syntax-plugins.js +1 -0
- package/.babelrc +0 -12
- package/.prettierrc +0 -8
- package/BUCK +0 -23
- package/index.js.flow +0 -12
- package/scripts/build.js +0 -114
package/package.json
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native/babel-preset",
|
|
3
|
-
"version": "0.73.
|
|
3
|
+
"version": "0.73.12",
|
|
4
4
|
"description": "Babel preset for React Native applications",
|
|
5
|
-
"
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./src/index.js",
|
|
7
|
+
"./package.json": "./package.json"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"src"
|
|
11
|
+
],
|
|
6
12
|
"repository": {
|
|
7
13
|
"type": "git",
|
|
8
14
|
"url": "git@github.com:facebook/react-native.git"
|
|
9
15
|
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"prepare-release": "test -d lib && mv src src.real && mv lib src",
|
|
12
|
-
"cleanup-release": "test ! -e lib && mv src lib && mv src.real src && rimraf lib",
|
|
13
|
-
"build-clean": "rimraf build && rimraf src.real",
|
|
14
|
-
"build": " node scripts/build.js --verbose",
|
|
15
|
-
"prepare": "yarn run build-clean && yarn run build && yarn run prepare-release",
|
|
16
|
-
"postpublish": "yarn run cleanup-release"
|
|
17
|
-
},
|
|
18
16
|
"keywords": [
|
|
19
17
|
"babel",
|
|
20
18
|
"preset",
|
|
@@ -59,27 +57,10 @@
|
|
|
59
57
|
"@babel/plugin-transform-typescript": "^7.5.0",
|
|
60
58
|
"@babel/plugin-transform-unicode-regex": "^7.0.0",
|
|
61
59
|
"@babel/template": "^7.0.0",
|
|
60
|
+
"@react-native/babel-plugin-codegen": "*",
|
|
62
61
|
"babel-plugin-transform-flow-enums": "^0.0.2",
|
|
63
62
|
"react-refresh": "^0.4.0"
|
|
64
63
|
},
|
|
65
|
-
"devDependencies": {
|
|
66
|
-
"@babel/plugin-proposal-class-properties": "^7.18.0",
|
|
67
|
-
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0",
|
|
68
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.20.0",
|
|
69
|
-
"@babel/plugin-proposal-optional-chaining": "^7.20.0",
|
|
70
|
-
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
|
|
71
|
-
"@babel/plugin-transform-async-to-generator": "^7.20.0",
|
|
72
|
-
"@babel/plugin-transform-destructuring": "^7.20.0",
|
|
73
|
-
"@babel/plugin-transform-flow-strip-types": "^7.20.0",
|
|
74
|
-
"@babel/preset-env": "^7.20.0",
|
|
75
|
-
"chalk": "^4.0.0",
|
|
76
|
-
"glob": "^7.1.1",
|
|
77
|
-
"invariant": "^2.2.4",
|
|
78
|
-
"micromatch": "^4.0.4",
|
|
79
|
-
"mkdirp": "^0.5.1",
|
|
80
|
-
"prettier": "2.8.8",
|
|
81
|
-
"rimraf": "^3.0.2"
|
|
82
|
-
},
|
|
83
64
|
"peerDependencies": {
|
|
84
65
|
"@babel/core": "*"
|
|
85
66
|
},
|
|
@@ -46,6 +46,7 @@ module.exports = new Set([
|
|
|
46
46
|
'View',
|
|
47
47
|
'VirtualizedList',
|
|
48
48
|
'VirtualizedSectionList',
|
|
49
|
+
|
|
49
50
|
// APIs
|
|
50
51
|
'ActionSheetIOS',
|
|
51
52
|
'Alert',
|
|
@@ -81,6 +82,7 @@ module.exports = new Set([
|
|
|
81
82
|
'ReactNative',
|
|
82
83
|
'UTFSequence',
|
|
83
84
|
'Vibration',
|
|
85
|
+
|
|
84
86
|
// Plugins
|
|
85
87
|
'RCTDeviceEventEmitter',
|
|
86
88
|
'RCTNativeAppEventEmitter',
|
package/src/configs/main.js
CHANGED
|
@@ -10,76 +10,17 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
function ownKeys(object, enumerableOnly) {
|
|
14
|
-
var keys = Object.keys(object);
|
|
15
|
-
if (Object.getOwnPropertySymbols) {
|
|
16
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
17
|
-
enumerableOnly &&
|
|
18
|
-
(symbols = symbols.filter(function (sym) {
|
|
19
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
20
|
-
})),
|
|
21
|
-
keys.push.apply(keys, symbols);
|
|
22
|
-
}
|
|
23
|
-
return keys;
|
|
24
|
-
}
|
|
25
|
-
function _objectSpread(target) {
|
|
26
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
27
|
-
var source = null != arguments[i] ? arguments[i] : {};
|
|
28
|
-
i % 2
|
|
29
|
-
? ownKeys(Object(source), !0).forEach(function (key) {
|
|
30
|
-
_defineProperty(target, key, source[key]);
|
|
31
|
-
})
|
|
32
|
-
: Object.getOwnPropertyDescriptors
|
|
33
|
-
? Object.defineProperties(
|
|
34
|
-
target,
|
|
35
|
-
Object.getOwnPropertyDescriptors(source),
|
|
36
|
-
)
|
|
37
|
-
: ownKeys(Object(source)).forEach(function (key) {
|
|
38
|
-
Object.defineProperty(
|
|
39
|
-
target,
|
|
40
|
-
key,
|
|
41
|
-
Object.getOwnPropertyDescriptor(source, key),
|
|
42
|
-
);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
return target;
|
|
46
|
-
}
|
|
47
|
-
function _defineProperty(obj, key, value) {
|
|
48
|
-
key = _toPropertyKey(key);
|
|
49
|
-
if (key in obj) {
|
|
50
|
-
Object.defineProperty(obj, key, {
|
|
51
|
-
value: value,
|
|
52
|
-
enumerable: true,
|
|
53
|
-
configurable: true,
|
|
54
|
-
writable: true,
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
obj[key] = value;
|
|
58
|
-
}
|
|
59
|
-
return obj;
|
|
60
|
-
}
|
|
61
|
-
function _toPropertyKey(arg) {
|
|
62
|
-
var key = _toPrimitive(arg, 'string');
|
|
63
|
-
return typeof key === 'symbol' ? key : String(key);
|
|
64
|
-
}
|
|
65
|
-
function _toPrimitive(input, hint) {
|
|
66
|
-
if (typeof input !== 'object' || input === null) return input;
|
|
67
|
-
var prim = input[Symbol.toPrimitive];
|
|
68
|
-
if (prim !== undefined) {
|
|
69
|
-
var res = prim.call(input, hint || 'default');
|
|
70
|
-
if (typeof res !== 'object') return res;
|
|
71
|
-
throw new TypeError('@@toPrimitive must return a primitive value.');
|
|
72
|
-
}
|
|
73
|
-
return (hint === 'string' ? String : Number)(input);
|
|
74
|
-
}
|
|
75
13
|
const passthroughSyntaxPlugins = require('../passthrough-syntax-plugins');
|
|
76
14
|
const lazyImports = require('./lazy-imports');
|
|
15
|
+
|
|
77
16
|
function isTypeScriptSource(fileName) {
|
|
78
17
|
return !!fileName && fileName.endsWith('.ts');
|
|
79
18
|
}
|
|
19
|
+
|
|
80
20
|
function isTSXSource(fileName) {
|
|
81
21
|
return !!fileName && fileName.endsWith('.tsx');
|
|
82
22
|
}
|
|
23
|
+
|
|
83
24
|
const defaultPlugins = [
|
|
84
25
|
[require('@babel/plugin-syntax-flow')],
|
|
85
26
|
[require('babel-plugin-transform-flow-enums')],
|
|
@@ -87,32 +28,39 @@ const defaultPlugins = [
|
|
|
87
28
|
[
|
|
88
29
|
require('@babel/plugin-proposal-class-properties'),
|
|
89
30
|
// use `this.foo = bar` instead of `this.defineProperty('foo', ...)`
|
|
90
|
-
{
|
|
91
|
-
loose: true,
|
|
92
|
-
},
|
|
31
|
+
{loose: true},
|
|
93
32
|
],
|
|
94
33
|
[require('@babel/plugin-syntax-dynamic-import')],
|
|
95
34
|
[require('@babel/plugin-syntax-export-default-from')],
|
|
96
35
|
...passthroughSyntaxPlugins,
|
|
97
36
|
[require('@babel/plugin-transform-unicode-regex')],
|
|
98
37
|
];
|
|
38
|
+
|
|
99
39
|
const getPreset = (src, options) => {
|
|
100
40
|
const transformProfile =
|
|
101
41
|
(options && options.unstable_transformProfile) || 'default';
|
|
102
42
|
const isHermesStable = transformProfile === 'hermes-stable';
|
|
103
43
|
const isHermesCanary = transformProfile === 'hermes-canary';
|
|
104
44
|
const isHermes = isHermesStable || isHermesCanary;
|
|
45
|
+
|
|
105
46
|
const isNull = src == null;
|
|
106
47
|
const hasClass = isNull || src.indexOf('class') !== -1;
|
|
48
|
+
|
|
107
49
|
const extraPlugins = [];
|
|
108
50
|
if (!options.useTransformReactJSXExperimental) {
|
|
109
51
|
extraPlugins.push([
|
|
110
52
|
require('@babel/plugin-transform-react-jsx'),
|
|
111
|
-
{
|
|
112
|
-
runtime: 'automatic',
|
|
113
|
-
},
|
|
53
|
+
{runtime: 'automatic'},
|
|
114
54
|
]);
|
|
115
55
|
}
|
|
56
|
+
|
|
57
|
+
if (
|
|
58
|
+
!options.disableStaticViewConfigsCodegen &&
|
|
59
|
+
/\bcodegenNativeComponent</.test(src)
|
|
60
|
+
) {
|
|
61
|
+
extraPlugins.push([require('@react-native/babel-plugin-codegen')]);
|
|
62
|
+
}
|
|
63
|
+
|
|
116
64
|
if (!options || !options.disableImportExportTransform) {
|
|
117
65
|
extraPlugins.push(
|
|
118
66
|
[require('@babel/plugin-proposal-export-default-from')],
|
|
@@ -120,8 +68,7 @@ const getPreset = (src, options) => {
|
|
|
120
68
|
require('@babel/plugin-transform-modules-commonjs'),
|
|
121
69
|
{
|
|
122
70
|
strict: false,
|
|
123
|
-
strictMode: false,
|
|
124
|
-
// prevent "use strict" injections
|
|
71
|
+
strictMode: false, // prevent "use strict" injections
|
|
125
72
|
lazy:
|
|
126
73
|
options && options.lazyImportExportTransform != null
|
|
127
74
|
? options.lazyImportExportTransform
|
|
@@ -139,6 +86,7 @@ const getPreset = (src, options) => {
|
|
|
139
86
|
// TODO(gaearon): put this back into '=>' indexOf bailout
|
|
140
87
|
// and patch react-refresh to not depend on this transform.
|
|
141
88
|
extraPlugins.push([require('@babel/plugin-transform-arrow-functions')]);
|
|
89
|
+
|
|
142
90
|
if (!isHermes) {
|
|
143
91
|
extraPlugins.push([require('@babel/plugin-transform-computed-properties')]);
|
|
144
92
|
extraPlugins.push([require('@babel/plugin-transform-parameters')]);
|
|
@@ -160,9 +108,7 @@ const getPreset = (src, options) => {
|
|
|
160
108
|
if (!isHermesCanary) {
|
|
161
109
|
extraPlugins.push([
|
|
162
110
|
require('@babel/plugin-transform-destructuring'),
|
|
163
|
-
{
|
|
164
|
-
useBuiltIns: true,
|
|
165
|
-
},
|
|
111
|
+
{useBuiltIns: true},
|
|
166
112
|
]);
|
|
167
113
|
}
|
|
168
114
|
if (!isHermes && (isNull || hasClass || src.indexOf('...') !== -1)) {
|
|
@@ -171,10 +117,7 @@ const getPreset = (src, options) => {
|
|
|
171
117
|
[
|
|
172
118
|
require('@babel/plugin-proposal-object-rest-spread'),
|
|
173
119
|
// Assume no dependence on getters or evaluation order. See https://github.com/babel/babel/pull/11520
|
|
174
|
-
{
|
|
175
|
-
loose: true,
|
|
176
|
-
useBuiltIns: true,
|
|
177
|
-
},
|
|
120
|
+
{loose: true, useBuiltIns: true},
|
|
178
121
|
],
|
|
179
122
|
);
|
|
180
123
|
}
|
|
@@ -194,42 +137,35 @@ const getPreset = (src, options) => {
|
|
|
194
137
|
if (!isHermes && (isNull || src.indexOf('?.') !== -1)) {
|
|
195
138
|
extraPlugins.push([
|
|
196
139
|
require('@babel/plugin-proposal-optional-chaining'),
|
|
197
|
-
{
|
|
198
|
-
loose: true,
|
|
199
|
-
},
|
|
140
|
+
{loose: true},
|
|
200
141
|
]);
|
|
201
142
|
}
|
|
202
143
|
if (!isHermes && (isNull || src.indexOf('??') !== -1)) {
|
|
203
144
|
extraPlugins.push([
|
|
204
145
|
require('@babel/plugin-proposal-nullish-coalescing-operator'),
|
|
205
|
-
{
|
|
206
|
-
loose: true,
|
|
207
|
-
},
|
|
146
|
+
{loose: true},
|
|
208
147
|
]);
|
|
209
148
|
}
|
|
149
|
+
|
|
210
150
|
if (options && options.dev && !options.useTransformReactJSXExperimental) {
|
|
211
151
|
extraPlugins.push([require('@babel/plugin-transform-react-jsx-source')]);
|
|
212
152
|
extraPlugins.push([require('@babel/plugin-transform-react-jsx-self')]);
|
|
213
153
|
}
|
|
154
|
+
|
|
214
155
|
if (!options || options.enableBabelRuntime !== false) {
|
|
215
156
|
// Allows configuring a specific runtime version to optimize output
|
|
216
|
-
const isVersion =
|
|
217
|
-
|
|
218
|
-
? void 0
|
|
219
|
-
: options.enableBabelRuntime) === 'string';
|
|
157
|
+
const isVersion = typeof options?.enableBabelRuntime === 'string';
|
|
158
|
+
|
|
220
159
|
extraPlugins.push([
|
|
221
160
|
require('@babel/plugin-transform-runtime'),
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
isVersion && {
|
|
228
|
-
version: options.enableBabelRuntime,
|
|
229
|
-
},
|
|
230
|
-
),
|
|
161
|
+
{
|
|
162
|
+
helpers: true,
|
|
163
|
+
regenerator: !isHermes,
|
|
164
|
+
...(isVersion && {version: options.enableBabelRuntime}),
|
|
165
|
+
},
|
|
231
166
|
]);
|
|
232
167
|
}
|
|
168
|
+
|
|
233
169
|
return {
|
|
234
170
|
comments: false,
|
|
235
171
|
compact: true,
|
|
@@ -272,22 +208,15 @@ const getPreset = (src, options) => {
|
|
|
272
208
|
],
|
|
273
209
|
};
|
|
274
210
|
};
|
|
211
|
+
|
|
275
212
|
module.exports = options => {
|
|
276
213
|
if (options.withDevTools == null) {
|
|
277
214
|
const env = process.env.BABEL_ENV || process.env.NODE_ENV;
|
|
278
215
|
if (!env || env === 'development') {
|
|
279
|
-
return getPreset(
|
|
280
|
-
null,
|
|
281
|
-
_objectSpread(
|
|
282
|
-
_objectSpread({}, options),
|
|
283
|
-
{},
|
|
284
|
-
{
|
|
285
|
-
dev: true,
|
|
286
|
-
},
|
|
287
|
-
),
|
|
288
|
-
);
|
|
216
|
+
return getPreset(null, {...options, dev: true});
|
|
289
217
|
}
|
|
290
218
|
}
|
|
291
219
|
return getPreset(null, options);
|
|
292
220
|
};
|
|
221
|
+
|
|
293
222
|
module.exports.getPreset = getPreset;
|
package/src/index.js
CHANGED
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
const main = require('./configs/main');
|
|
14
|
+
|
|
14
15
|
module.exports = function (babel, options) {
|
|
15
16
|
return main(options);
|
|
16
17
|
};
|
|
18
|
+
|
|
17
19
|
module.exports.getPreset = main.getPreset;
|
|
18
20
|
module.exports.passthroughSyntaxPlugins = require('./passthrough-syntax-plugins');
|
package/.babelrc
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"plugins": [
|
|
3
|
-
"@babel/plugin-proposal-object-rest-spread",
|
|
4
|
-
"@babel/plugin-transform-async-to-generator",
|
|
5
|
-
"@babel/plugin-transform-destructuring",
|
|
6
|
-
"@babel/plugin-transform-flow-strip-types",
|
|
7
|
-
"@babel/plugin-syntax-dynamic-import",
|
|
8
|
-
"@babel/plugin-proposal-class-properties",
|
|
9
|
-
"@babel/plugin-proposal-nullish-coalescing-operator",
|
|
10
|
-
"@babel/plugin-proposal-optional-chaining"
|
|
11
|
-
]
|
|
12
|
-
}
|
package/.prettierrc
DELETED
package/BUCK
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
load("@fbsource//tools/build_defs/third_party:yarn_defs.bzl", "yarn_workspace")
|
|
2
|
-
|
|
3
|
-
oncall("react_native")
|
|
4
|
-
|
|
5
|
-
yarn_workspace(
|
|
6
|
-
name = "yarn-workspace",
|
|
7
|
-
srcs = glob(
|
|
8
|
-
["src/**/*.js"],
|
|
9
|
-
exclude = [
|
|
10
|
-
"**/__fixtures__/**",
|
|
11
|
-
"**/__flowtests__/**",
|
|
12
|
-
"**/__mocks__/**",
|
|
13
|
-
"**/__server_snapshot_tests__/**",
|
|
14
|
-
"**/__tests__/**",
|
|
15
|
-
"**/.*",
|
|
16
|
-
"**/.*/**",
|
|
17
|
-
"**/.*/.*",
|
|
18
|
-
"**/*.xcodeproj/**",
|
|
19
|
-
"**/*.xcworkspace/**",
|
|
20
|
-
],
|
|
21
|
-
),
|
|
22
|
-
visibility = ["PUBLIC"],
|
|
23
|
-
)
|
package/index.js.flow
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict
|
|
8
|
-
* @format
|
|
9
|
-
* @oncall react_native
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export * from './src';
|
package/scripts/build.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @format
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* script to build (transpile) files.
|
|
12
|
-
*
|
|
13
|
-
* Based off of the build script from Metro, and tweaked to run in just one
|
|
14
|
-
* package instead of in a monorepo. Just run `build.js` and the JS files in
|
|
15
|
-
* `src/` will be built in `lib/`, and the original source files will be copied
|
|
16
|
-
* over as `Example.js.flow`, so consumers of this module can still make use of
|
|
17
|
-
* type checking.
|
|
18
|
-
*
|
|
19
|
-
* Call this script with the `--verbose` flag to show the full output of this
|
|
20
|
-
* script.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
'use strict';
|
|
24
|
-
|
|
25
|
-
const babel = require('@babel/core');
|
|
26
|
-
const chalk = require('chalk');
|
|
27
|
-
const fs = require('fs');
|
|
28
|
-
const glob = require('glob');
|
|
29
|
-
const micromatch = require('micromatch');
|
|
30
|
-
const mkdirp = require('mkdirp');
|
|
31
|
-
const path = require('path');
|
|
32
|
-
const prettier = require('prettier');
|
|
33
|
-
const prettierConfig = JSON.parse(
|
|
34
|
-
fs.readFileSync(path.resolve(__dirname, '..', '.prettierrc'), 'utf8'),
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
const SRC_DIR = 'src';
|
|
38
|
-
const BUILD_DIR = 'lib';
|
|
39
|
-
const JS_FILES_PATTERN = '**/*.js';
|
|
40
|
-
const IGNORE_PATTERN = '**/__tests__/**';
|
|
41
|
-
const PACKAGE_DIR = path.resolve(__dirname, '../');
|
|
42
|
-
|
|
43
|
-
const fixedWidth = str => {
|
|
44
|
-
const WIDTH = 80;
|
|
45
|
-
const strs = str.match(new RegExp(`(.{1,${WIDTH}})`, 'g')) || [str];
|
|
46
|
-
let lastString = strs[strs.length - 1];
|
|
47
|
-
if (lastString.length < WIDTH) {
|
|
48
|
-
lastString += Array(WIDTH - lastString.length).join(chalk.dim('.'));
|
|
49
|
-
}
|
|
50
|
-
return strs.slice(0, -1).concat(lastString).join('\n');
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
function getBuildPath(file, buildFolder) {
|
|
54
|
-
const pkgSrcPath = path.resolve(PACKAGE_DIR, SRC_DIR);
|
|
55
|
-
const pkgBuildPath = path.resolve(PACKAGE_DIR, BUILD_DIR);
|
|
56
|
-
const relativeToSrcPath = path.relative(pkgSrcPath, file);
|
|
57
|
-
return path.resolve(pkgBuildPath, relativeToSrcPath);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function buildFile(file, silent) {
|
|
61
|
-
const destPath = getBuildPath(file, BUILD_DIR);
|
|
62
|
-
|
|
63
|
-
mkdirp.sync(path.dirname(destPath));
|
|
64
|
-
if (micromatch.isMatch(file, IGNORE_PATTERN)) {
|
|
65
|
-
silent ||
|
|
66
|
-
process.stdout.write(
|
|
67
|
-
chalk.dim(' \u2022 ') +
|
|
68
|
-
path.relative(PACKAGE_DIR, file) +
|
|
69
|
-
' (ignore)\n',
|
|
70
|
-
);
|
|
71
|
-
} else if (!micromatch.isMatch(file, JS_FILES_PATTERN)) {
|
|
72
|
-
fs.createReadStream(file).pipe(fs.createWriteStream(destPath));
|
|
73
|
-
silent ||
|
|
74
|
-
process.stdout.write(
|
|
75
|
-
chalk.red(' \u2022 ') +
|
|
76
|
-
path.relative(PACKAGE_DIR, file) +
|
|
77
|
-
chalk.red(' \u21D2 ') +
|
|
78
|
-
path.relative(PACKAGE_DIR, destPath) +
|
|
79
|
-
' (copy)' +
|
|
80
|
-
'\n',
|
|
81
|
-
);
|
|
82
|
-
} else {
|
|
83
|
-
const transformed = prettier.format(
|
|
84
|
-
babel.transformFileSync(file, {}).code,
|
|
85
|
-
{
|
|
86
|
-
...prettierConfig,
|
|
87
|
-
parser: 'babel',
|
|
88
|
-
},
|
|
89
|
-
);
|
|
90
|
-
fs.writeFileSync(destPath, transformed);
|
|
91
|
-
const source = fs.readFileSync(file).toString('utf-8');
|
|
92
|
-
if (/@flow/.test(source)) {
|
|
93
|
-
fs.createReadStream(file).pipe(fs.createWriteStream(destPath + '.flow'));
|
|
94
|
-
}
|
|
95
|
-
silent ||
|
|
96
|
-
process.stdout.write(
|
|
97
|
-
chalk.green(' \u2022 ') +
|
|
98
|
-
path.relative(PACKAGE_DIR, file) +
|
|
99
|
-
chalk.green(' \u21D2 ') +
|
|
100
|
-
path.relative(PACKAGE_DIR, destPath) +
|
|
101
|
-
'\n',
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const srcDir = path.resolve(__dirname, '..', SRC_DIR);
|
|
107
|
-
const pattern = path.resolve(srcDir, '**/*');
|
|
108
|
-
const files = glob.sync(pattern, {nodir: true});
|
|
109
|
-
|
|
110
|
-
process.stdout.write(fixedWidth(`${path.basename(PACKAGE_DIR)}\n`));
|
|
111
|
-
|
|
112
|
-
files.forEach(file => buildFile(file, !process.argv.includes('--verbose')));
|
|
113
|
-
|
|
114
|
-
process.stdout.write(`[ ${chalk.green('OK')} ]\n`);
|