babel-preset-yoshi
Introduction
Yoshi comes with its own preset for full-stack, client or Node.js projects. It is pre-configured, maintained and tuned for the current state of Yoshi.
Note: There is no need to configure Babel with .babelrc or babel.config.js.
Modes
The preset behaves differently according to the environment. The environment is determined by checking process.env.BABEL_ENV, process.env.NODE_ENV and use development as the default if none was supplied.
-
NODE_ENV = 'test' - Transpile for current node version for fast testing in mind.
-
NODE_ENV = 'development' - Transpile for modern browsers for fast builds in mind.
-
NODE_ENV = 'production' - Optimize bundle, compile for all possible targets from IE10, prepare for uglifycation, with full browsers support, runtime optimization and small bundle size in mind.
Wanna know what's inside?
- preset-env for ESNext to ES5 transform. Moreover, you can customize current targets and module type to build for. Will use all targets and commonjs module type as a default values. Configured with target
node for test environment.
- preset-react for JSX and Flow transforms.
- transform-runtime externalize references to helpers and builtins, automatically polyfilling your code without polluting globals.
- transform-class-properties.
- transform-decorators (legacy).
Environment specific plugins:
test
development
production