Skip to content

Commit a6d34c6

Browse files
authored
Merge pull request #259 from rbscott/remove-props-on-production
Only remove prop types in a production build.
2 parents beb468f + d95c453 commit a6d34c6

File tree

1 file changed

+34
-30
lines changed

1 file changed

+34
-30
lines changed

src/lib/babel-config.js

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
1-
export default (env, options={}) => ({
2-
babelrc: false,
3-
presets: [
4-
[require.resolve('babel-preset-env'), {
5-
loose: true,
6-
uglify: true,
7-
modules: options.modules || false,
8-
targets: {
9-
browsers: options.browsers
10-
},
11-
exclude: [
12-
'transform-regenerator',
13-
'transform-es2015-typeof-symbol'
14-
]
15-
}],
16-
require.resolve('babel-preset-stage-1')
17-
],
18-
plugins: [
19-
require.resolve('babel-plugin-transform-object-assign'),
20-
require.resolve('babel-plugin-transform-decorators-legacy'),
21-
require.resolve('babel-plugin-transform-react-constant-elements'),
22-
require.resolve('babel-plugin-transform-react-remove-prop-types'),
23-
[require.resolve('babel-plugin-transform-react-jsx'), { pragma: 'h' }],
24-
[require.resolve('babel-plugin-jsx-pragmatic'), {
25-
module: 'preact',
26-
export: 'h',
27-
import: 'h'
28-
}]
29-
]
30-
});
1+
export default (env, options={}) => {
2+
const isProd = env && env.production;
3+
4+
return {
5+
babelrc: false,
6+
presets: [
7+
[require.resolve('babel-preset-env'), {
8+
loose: true,
9+
uglify: true,
10+
modules: options.modules || false,
11+
targets: {
12+
browsers: options.browsers
13+
},
14+
exclude: [
15+
'transform-regenerator',
16+
'transform-es2015-typeof-symbol'
17+
]
18+
}],
19+
require.resolve('babel-preset-stage-1')
20+
],
21+
plugins: [
22+
require.resolve('babel-plugin-transform-object-assign'),
23+
require.resolve('babel-plugin-transform-decorators-legacy'),
24+
require.resolve('babel-plugin-transform-react-constant-elements'),
25+
isProd ? require.resolve('babel-plugin-transform-react-remove-prop-types') : null,
26+
[require.resolve('babel-plugin-transform-react-jsx'), { pragma: 'h' }],
27+
[require.resolve('babel-plugin-jsx-pragmatic'), {
28+
module: 'preact',
29+
export: 'h',
30+
import: 'h'
31+
}]
32+
].filter(Boolean)
33+
};
34+
};

0 commit comments

Comments
 (0)