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