Skip to content
Open
36 changes: 24 additions & 12 deletions packages/cli/lib/lib/babel-config.js → packages/babel/index.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,32 @@
const ENV = process.env.BABEL_ENV || process.env.NODE_ENV;

// @see https://jamie.build/last-2-versions
const browsers = [
'>0.25%',
'not ie 11',
'not op_mini all'
];

module.exports = function(env, options = {}) {
const isProd = env && env.production;
const isProd = env && env.production || ENV === 'production';

if (ENV === 'test') {
options.modules = 'commonjs';
}

return {
presets: [
[
require.resolve('@babel/preset-env'),
{
loose: true,
modules: options.modules || false,
targets: {
browsers: options.browsers,
},
exclude: ['transform-regenerator', 'transform-async-to-generator'],
[require.resolve('@babel/preset-env'), {
loose: true,
modules: options.modules || false,
targets: {
browsers: options.browsers || browsers
},
],
exclude: [
'transform-regenerator',
'transform-typeof-symbol'
]
}]
],
plugins: [
require.resolve('@babel/plugin-syntax-dynamic-import'),
Expand All @@ -25,7 +38,6 @@ module.exports = function(env, options = {}) {
isProd &&
require.resolve('babel-plugin-transform-react-remove-prop-types'),
[require.resolve('@babel/plugin-transform-react-jsx'), { pragma: 'h' }],
[require.resolve('fast-async'), { spec: true }],
require.resolve('babel-plugin-macros'),
!isProd &&
require.resolve('react-hot-loader/babel'),
Expand Down
20 changes: 20 additions & 0 deletions packages/babel/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "@preact/babel",
"version": "0.0.0",
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-decorators": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-transform-object-assign": "^7.0.0",
"@babel/plugin-transform-react-constant-elements": "^7.0.0",
"@babel/plugin-transform-react-jsx": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"babel-plugin-jsx-pragmatic": "^1.0.2",
"babel-plugin-transform-export-extensions": "^6.22.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4.15"
},
"peerDependencies": {
"@babel/core": "^7.0.0"
}
}
Loading