From 0083e8dc48c45051edf1800fd59dcb1378774d8a Mon Sep 17 00:00:00 2001 From: Hypnosphi Date: Wed, 31 Jan 2018 23:25:44 +0300 Subject: [PATCH] feat([publish]): migrate to babel-preset-env The change isn't breaking because with default browserlist, it still includes all the transforms from `es2015-17` --- README.md | 4 ++-- index.js | 9 +++++--- package-lock.json | 59 +++++++++++++++++++++++++++++++++++++++++++++-- package.json | 4 +--- 4 files changed, 66 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e9ea8b9..42c2edb 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ [![official JetBrains project](http://jb.gg/badges/official-flat-square.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) This preset includes all plugins from the [official](https://babeljs.io/docs/plugins/#presets-official-presets) presets -`es2015-17`, `stage-2`, `react`, +`env` (with [`browserlist` defaults](https://github.com/ai/browserslist#queries) as target), `stage-2`, `react`, and one extra plugin: -[`transform-strict-mode`](http://babeljs.io/docs/plugins/transform-strict-mode). `es2015` is used with `{modules: false}` option, because webpack 2 uses native imports for tree shaking. +[`transform-strict-mode`](http://babeljs.io/docs/plugins/transform-strict-mode). `env` is used with `{modules: false}` option, because webpack 2 uses native imports for tree shaking. **Note to maintainers**: to trigger publishing of the npm package append *\[Publish\]* to the commit message. For example: diff --git a/index.js b/index.js index 5f18c01..8e6106a 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,12 @@ module.exports = { presets: [ require('babel-preset-react'), - [require('babel-preset-es2015').buildPreset, {modules: false}], - require('babel-preset-es2016'), - require('babel-preset-es2017'), + [require('babel-preset-env'), { + targets: { + browsers: 'defaults' + }, + modules: false + }], require('babel-preset-stage-2') ], plugins: [ diff --git a/package-lock.json b/package-lock.json index 5533044..67265a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -890,6 +890,43 @@ "babel-types": "6.26.0" } }, + "babel-preset-env": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.11.3", + "invariant": "2.2.2", + "semver": "5.3.0" + } + }, "babel-preset-es2015": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", @@ -1212,6 +1249,15 @@ "pako": "1.0.6" } }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "requires": { + "caniuse-lite": "1.0.30000792", + "electron-to-chromium": "1.3.31" + } + }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -1281,6 +1327,11 @@ "map-obj": "1.0.1" } }, + "caniuse-lite": { + "version": "1.0.30000792", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz", + "integrity": "sha1-0M6pgfgRjzlhRxr7tDyaHlu/AzI=" + }, "capture-stack-trace": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", @@ -2331,6 +2382,11 @@ "jsbn": "0.1.1" } }, + "electron-to-chromium": { + "version": "1.3.31", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.31.tgz", + "integrity": "sha512-XE4CLbswkZgZFn34cKFy1xaX+F5LHxeDLjY1+rsK9asDzknhbrd9g/n/01/acbU25KTsUSiLKwvlLyA+6XLUOA==" + }, "elegant-spinner": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", @@ -6010,8 +6066,7 @@ "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" }, "semver-diff": { "version": "2.1.0", diff --git a/package.json b/package.json index 734594e..fc3040c 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,7 @@ "license": "Apache-2.0", "dependencies": { "babel-plugin-transform-strict-mode": "6.24.1", - "babel-preset-es2015": "6.24.1", - "babel-preset-es2016": "6.24.1", - "babel-preset-es2017": "6.24.1", + "babel-preset-env": "1.6.1", "babel-preset-react": "6.24.1", "babel-preset-stage-2": "6.24.1" },