1 | import {
|
2 | registerPlugins,
|
3 | registerPreset,
|
4 | transform as babelTransform,
|
5 | } from 'babel-standalone';
|
6 |
|
7 | registerPlugins({
|
8 | 'minify-constant-folding': require('babel-plugin-minify-constant-folding'),
|
9 | 'minify-dead-code-elimination': require('babel-plugin-minify-dead-code-elimination'),
|
10 | 'minify-empty-function': require('babel-plugin-minify-empty-function'),
|
11 | 'minify-flip-comparisons': require('babel-plugin-minify-flip-comparisons'),
|
12 | 'minify-guarded-expressions': require('babel-plugin-minify-guarded-expressions'),
|
13 | 'minify-infinity': require('babel-plugin-minify-infinity'),
|
14 | 'minify-mangle-names': require('babel-plugin-minify-mangle-names'),
|
15 | 'minify-replace': require('babel-plugin-minify-replace'),
|
16 | 'minify-simplify': require('babel-plugin-minify-simplify'),
|
17 | 'minify-type-constructors': require('babel-plugin-minify-type-constructors'),
|
18 | 'transform-inline-environment-variables': require('babel-plugin-transform-inline-environment-variables'),
|
19 | 'transform-member-expression-literals': require('babel-plugin-transform-member-expression-literals'),
|
20 | 'transform-merge-sibling-variables': require('babel-plugin-transform-merge-sibling-variables'),
|
21 | 'transform-minify-booleans': require('babel-plugin-transform-minify-booleans'),
|
22 | 'transform-node-env-inline': require('babel-plugin-transform-node-env-inline'),
|
23 | 'transform-property-literals': require('babel-plugin-transform-property-literals'),
|
24 | 'transform-remove-console': require('babel-plugin-transform-remove-console'),
|
25 | 'transform-remove-debugger': require('babel-plugin-transform-remove-debugger'),
|
26 | 'transform-simplify-comparison-operators': require('babel-plugin-transform-simplify-comparison-operators'),
|
27 | 'transform-undefined-to-void': require('babel-plugin-transform-undefined-to-void'),
|
28 | });
|
29 | registerPreset('babili', require('babel-preset-babili'));
|
30 |
|
31 | export function transform(code, options = {}) {
|
32 | return babelTransform(code, {
|
33 | ...options,
|
34 | presets: [
|
35 | ...(options.presets || []),
|
36 | 'babili',
|
37 | ]
|
38 | });
|
39 | }
|
40 |
|
41 | export const version = VERSION;
|