Skip to content

Commit 9db8928

Browse files
committedMay 3, 2020
Remove @babel/preset-env, drop support for Node 8 and below
1 parent 4acfd61 commit 9db8928

File tree

4 files changed

+775
-413
lines changed

4 files changed

+775
-413
lines changed
 

‎.travis.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
sudo: false
22
language: node_js
33
node_js:
4-
- 6
5-
- 8
64
- 10
5+
- 12
76
- stable

‎package.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@
2626
"@babel/core": "^7.1.6",
2727
"@babel/parser": "^7.1.6",
2828
"@babel/plugin-proposal-class-properties": "^7.1.0",
29-
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
30-
"@babel/preset-env": "^7.1.6",
29+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0",
30+
"@babel/plugin-proposal-optional-chaining": "^7.1.0",
31+
"@babel/plugin-transform-modules-commonjs": "^7.1.0",
3132
"@babel/preset-flow": "^7.0.0",
3233
"@babel/preset-typescript": "^7.1.0",
3334
"@babel/register": "^7.0.0",
@@ -42,6 +43,9 @@
4243
"temp": "^0.8.1",
4344
"write-file-atomic": "^2.3.0"
4445
},
46+
"optionalDependencies": {
47+
"@babel/preset-env": "^7.1.6"
48+
},
4549
"devDependencies": {
4650
"babel-eslint": "^10.0.1",
4751
"eslint": "^5.9.0",

‎src/Worker.js

+22-9
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ const getParser = require('./getParser');
1818

1919
const jscodeshift = require('./core');
2020

21+
let presetEnv;
22+
try {
23+
presetEnv = require('@babel/preset-env');
24+
} catch {}
25+
2126
let emitter;
2227
let finish;
2328
let notify;
@@ -48,19 +53,27 @@ function prepareJscodeshift(options) {
4853

4954
function setup(tr, babel) {
5055
if (babel === 'babel') {
56+
const presets = [];
57+
if (presetEnv) {
58+
presets.push([
59+
presetEnv.default,
60+
{targets: {node: true}},
61+
]);
62+
}
63+
presets.push(
64+
/\.tsx?$/.test(tr) ?
65+
require('@babel/preset-typescript').default :
66+
require('@babel/preset-flow').default
67+
);
68+
5169
require('@babel/register')({
5270
babelrc: false,
53-
presets: [
54-
[
55-
require('@babel/preset-env').default,
56-
{targets: {node: true}},
57-
],
58-
/\.tsx?$/.test(tr) ?
59-
require('@babel/preset-typescript').default :
60-
require('@babel/preset-flow').default,
61-
],
71+
presets,
6272
plugins: [
6373
require('@babel/plugin-proposal-class-properties').default,
74+
require('@babel/plugin-proposal-nullish-coalescing-operator').default,
75+
require('@babel/plugin-proposal-optional-chaining').default,
76+
require('@babel/plugin-transform-modules-commonjs').default,
6477
],
6578
extensions: [...DEFAULT_EXTENSIONS, '.ts', '.tsx'],
6679
// By default, babel register only compiles things inside the current working directory.

‎yarn.lock

+746-400
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.