UNPKG

babel-preset-htoooth

Version:
85 lines (64 loc) 2.18 kB
# 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: ```js const presets = [ ["@babel/env", { targets: { browsers: ["> 1%", "last 2 versions", "not ie <= 8"] }, useBuiltIns: "usage", }] ]; ``` ## how to use ```js // 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: ```js 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: ```js 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](https://github.com/RaichuCli/babel-preset-htoooth-test).