babel-preset-htoooth
v1.0.14
Published
A Babel preset for my env.
Downloads
25
Readme
babel-preset-htoooth
Setting babel
in my way.
usage
This preset
includes @babel/preset-env
, so you don't need to install @babel/preset-env
.
Default setting:
const presets = [
["@babel/env", {
targets: {
browsers: ["> 1%", "last 2 versions", "not ie <= 8"]
},
useBuiltIns: "usage",
}]
];
how to use
// Set your `babel.config.js` .
// babel.config.js
module.exports = {
presets: ['htoooth']
};
// if all is true, add all proposal plugins
module.exports = {
presets: [
['htoooth', {
corejs: false, // defaullt false, same as @babel/plugin-transform-runtim 's options corejs
all: true,
targets: {}, // same as @babel/env targets
useBuiltIns: "usage (default) | entry",
modules: 'commonjs', // same as @babel/plugin-transform-runtim 's options modules
useESModules: true, // default true, @babel/plugin-transform-runtim 's options useESModules
}]
]
};
if all
is false (default), will load below plugins:
const defaultPlugins = [
"@babel/plugin-transform-runtime",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-import-meta",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-proposal-export-default-from",
];
And if all
is true
, will load plugins additionally:
const extPlugins = [
"@babel/plugin-proposal-function-bind",
"@babel/plugin-proposal-logical-assignment-operators",
["@babel/plugin-proposal-optional-chaining", { "loose": false }],
["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }],
["@babel/plugin-proposal-nullish-coalescing-operator", { "loose": false }],
"@babel/plugin-proposal-do-expressions",
["@babel/plugin-proposal-decorators", { "legacy": true }],
"@babel/plugin-proposal-function-sent",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-throw-expressions",
["@babel/plugin-proposal-class-properties", { "loose": false }]
]
example
You can find examples in this repo.