babel-preset-kensho
Advanced tools
Comparing version 11.1.0 to 12.0.0
86
index.js
/* eslint-disable global-require */ | ||
const NODE_MODULES_REGEX = /node_modules/ | ||
const PRECOMPILED_PACKAGES = ['core-js', 'lodash', 'react', 'react-dom', 'whatwg-fetch'] | ||
const PRECOMPILED_PACKAGES_REGEX = new RegExp(`node_modules/(${PRECOMPILED_PACKAGES.join('|')})/`) | ||
function getDefaultTargets(env) { | ||
if (env === 'test') return {node: true, browsers: []} | ||
if (env === 'esm' || env === 'cjs') return {node: '12.16', browsers: []} | ||
return undefined | ||
} | ||
module.exports = (babel, options) => { | ||
@@ -11,3 +22,3 @@ const env = babel.env() | ||
runtime = true, | ||
targets = env === 'test' ? {node: true, browsers: []} : undefined, | ||
targets = getDefaultTargets(env), | ||
typescript = {}, | ||
@@ -17,42 +28,43 @@ } = options | ||
const plugins = [ | ||
runtime && [ | ||
require('@babel/plugin-transform-runtime').default, | ||
{useESModules: !modules, version: require('@babel/runtime/package.json').version}, | ||
], | ||
].filter(Boolean) | ||
const nodeModules = { | ||
include: NODE_MODULES_REGEX, | ||
compact: true, | ||
} | ||
const presets = [ | ||
[ | ||
require('@babel/preset-env').default, | ||
{loose, modules, targets, corejs: 3, useBuiltIns: 'entry'}, | ||
const nonPrecompiledPackages = { | ||
exclude: PRECOMPILED_PACKAGES_REGEX, | ||
plugins: [ | ||
runtime && [ | ||
require('@babel/plugin-transform-runtime').default, | ||
{useESModules: !modules, version: require('@babel/runtime/package.json').version}, | ||
], | ||
].filter(Boolean), | ||
presets: [ | ||
[ | ||
require('@babel/preset-env').default, | ||
{loose, modules, targets, corejs: 3, useBuiltIns: 'entry'}, | ||
], | ||
], | ||
] | ||
} | ||
const overrides = [ | ||
{ | ||
include: /node_modules/, | ||
compact: true, | ||
}, | ||
{ | ||
exclude: /node_modules/, | ||
plugins: [ | ||
[require('@babel/plugin-proposal-class-properties').default, {loose}], | ||
reactRefresh && [require('react-refresh/babel'), {skipEnvCheck: true, ...reactRefresh}], | ||
].filter(Boolean), | ||
presets: [ | ||
typescript && [require('@babel/preset-typescript').default, typescript], | ||
react && [ | ||
require('@babel/preset-react').default, | ||
{development: env === 'development', useSpread: true, ...react}, | ||
], | ||
emotion && [ | ||
require('@emotion/babel-preset-css-prop').default, | ||
{autoLabel: env === 'development', sourceMap: env === 'development', ...emotion}, | ||
], | ||
].filter(Boolean), | ||
}, | ||
] | ||
const nonNodeModules = { | ||
exclude: NODE_MODULES_REGEX, | ||
plugins: [ | ||
[require('@babel/plugin-proposal-class-properties').default, {loose}], | ||
reactRefresh && [require('react-refresh/babel'), {skipEnvCheck: true, ...reactRefresh}], | ||
].filter(Boolean), | ||
presets: [ | ||
typescript && [require('@babel/preset-typescript').default, typescript], | ||
react && [ | ||
require('@babel/preset-react').default, | ||
{development: env === 'development', useSpread: true, ...react}, | ||
], | ||
emotion && [ | ||
require('@emotion/babel-preset-css-prop').default, | ||
{autoLabel: env === 'development', sourceMap: env === 'development', ...emotion}, | ||
], | ||
].filter(Boolean), | ||
} | ||
return {plugins, presets, overrides} | ||
return {overrides: [nodeModules, nonPrecompiledPackages, nonNodeModules]} | ||
} |
{ | ||
"name": "babel-preset-kensho", | ||
"version": "11.1.0", | ||
"version": "12.0.0", | ||
"description": "Babel preset to transpile ES2015+/JSX to ES5.", | ||
@@ -22,3 +22,3 @@ "main": "index.js", | ||
"@babel/plugin-transform-runtime": "^7.8.3", | ||
"@babel/preset-env": "^7.8.6", | ||
"@babel/preset-env": "^7.8.7", | ||
"@babel/preset-react": "^7.8.3", | ||
@@ -30,10 +30,10 @@ "@babel/preset-typescript": "^7.8.3", | ||
"devDependencies": { | ||
"@babel/core": "^7.8.6", | ||
"@babel/runtime": "^7.8.4", | ||
"ava": "^3.4.0", | ||
"@babel/core": "^7.8.7", | ||
"@babel/runtime": "^7.8.7", | ||
"ava": "^3.5.0", | ||
"eslint": "^6.8.0", | ||
"eslint-config-kensho": "^15.6.0", | ||
"eslint-config-kensho": "^16.0.0", | ||
"prettier": "^1.19.1", | ||
"typescript": "^3.8.2" | ||
"typescript": "^3.8.3" | ||
} | ||
} |
7986
60
Updated@babel/preset-env@^7.8.7