babel-preset-optimise
v1.0.4
Published
Babel preset with optimizations in mind, modern output
Downloads
24
Maintainers
Readme
babel-preset-optimise
Babel preset with optimizations in mind, modern output
Please consider following this project's author, Charlike Mike Reagent, and :star: the project to show your :heart: and support.
If you have any how-to kind of questions, please read the Contributing Guide and Code of Conduct documents. For bugs reports and feature requests, please create an issue or ping @tunnckoCore at Twitter.
Project is semantically versioned & automatically released from GitHub Actions with Lerna.
| Topic | Contact | | :--------------------------------------------------------------- | ------------------------------------------------: | | Any legal or licensing questions, like private or commerical use | | | For any critical problems and security reports | | | Consulting, professional support, personal or team training | | | For any questions about Open Source, partnerships and sponsoring | |
Table of Contents
(TOC generated by verb using markdown-toc)
Install
This project requires Node.js >=10.13 (see Support & Release Policy). Install it using yarn or npm. We highly recommend to use Yarn when you think to contribute to this project.
$ yarn add babel-preset-optimise
Usage
module.exports = {
presets: ['babel-preset-optimise'],
};
Note: initially it was meant to be called babel-preset-optimize
, but the
package was squatted before I get able to push all this things. Born in
discussion with @JounQin in
1stG/configs issue#8.
What it includes?
It uses the most recent and modern preset by the Babel Team - @babel/preset-modules, plus optionally the TypeScript and the React presets. It also includes a several optimization plugins from the Babel Minify project which are very well curated for best and small output.
API
Generated using jest-runner-docs.
babelPresetOptimize
Be aware that when you use minifyBuiltins: true
you MAY get a bigger output,
but that's not always guaranteed, just try for your case.
If you want to use JSX (React) pass options.jsx: true
. If you want to use JSX
(React) + TypeScript pass both { jsx: true, typescript: true }
. If you wan to
use Preact + TypeScript, { jsx: { pragma: 'h' }, typescript: true }
, if
options.jsx
is an object, it is directly passed to preset-react
.
Signature
function(api, options)
Params
options
{object} - optionally control what can be includedoptions.jsx
{boolean} - defaultfalse
, passtrue
if you wantreact
; pass an object for more customization (passed to react preset)options.commonjs
{boolean} - defaultfalse
, pass non-falsey value to transform ESModules to CommonJSoptions.typescript
{boolean} - defaultfalse
, includes the TypeScript presetoptions.development
{boolean} - defaultfalse
, disables few plugins; when it istrue
andoptions.jsx
is enabled (true or object) we addoptions.jsx.development: true
toooptions.minifyBuiltins
{boolean} - defaultfalse
, includes babel-plugin-minify-builtins
Contributing
Guides and Community
Please read the Contributing Guide and Code of Conduct documents for advices.
For bug reports and feature requests, please join our community forum and open a thread there with prefixing the title of the thread with the name of the project if there's no separate channel for it.
Consider reading the Support and Release Policy guide if you are interested in what are the supported Node.js versions and how we proceed. In short, we support latest two even-numbered Node.js release lines.
Support the project
Become a Partner or Sponsor? :dollar: Check the OpenSource Commision (tier). :tada: You can get your company logo, link & name on this file. It's also rendered on package's page in npmjs.com and yarnpkg.com sites too! :rocket:
Not financial support? Okey! Pull requests, stars and all kind of contributions are always welcome. :sparkles:
Contributors
This project follows the all-contributors specification. Contributions of any kind are welcome!
Thanks goes to these wonderful people (emoji key), consider showing your support to them:
License
Copyright (c) 2020-present, Charlike Mike Reagent
<[email protected]>
& contributors.
Released under the MPL-2.0 License.