From cfc75a615d780e514d4a6bf648d5aa58657e1a30 Mon Sep 17 00:00:00 2001 From: "Andrey.Skladchikov" Date: Tue, 11 Sep 2018 15:23:56 +0300 Subject: [PATCH] feat([publish]): pass "useBuiltIns" option to preset-env Using "useBuiltIns: 'entry'" makes babel import only polyfills that are used in code --- index.js | 3 +++ package-lock.json | 15 +++++++++++++++ package.json | 1 + 3 files changed, 19 insertions(+) diff --git a/index.js b/index.js index ec5f59b..814d7c1 100644 --- a/index.js +++ b/index.js @@ -1,15 +1,18 @@ +/* eslint-disable complexity */ const MIN_BABEL_VERSION = 7; module.exports = function preset(api, opts) { api.assertVersion(MIN_BABEL_VERSION); const transformRuntime = opts.transformRuntime || false; + const useBuiltIns = opts.useBuiltIns || false; const angularSupport = opts.angular || false; return { presets: [ require('@babel/preset-react'), [require('@babel/preset-env'), { + useBuiltIns, include: angularSupport ? ['transform-parameters'] // This fixes issue with transforming Angular code like `constructor(...args)` : [] diff --git a/package-lock.json b/package-lock.json index 3004227..0f0c69a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -735,6 +735,21 @@ "@babel/plugin-transform-react-jsx-source": "^7.0.0" } }, + "@babel/runtime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz", + "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==", + "requires": { + "regenerator-runtime": "^0.12.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + } + } + }, "@babel/template": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0.tgz", diff --git a/package.json b/package.json index c9f90d4..58d215a 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@babel/plugin-transform-strict-mode": "^7.0.0", "@babel/preset-env": "^7.0.0", "@babel/preset-react": "^7.0.0", + "@babel/runtime": "^7.0.0", "babel-plugin-angularjs-annotate": "0.9.0" }, "peerDependencies": {