UNPKG

babel-preset-modern-node

Version:
98 lines (72 loc) 3.48 kB
[babel-preset-modern-node][] ================================ Babel preset for building modern node apps with the least amount of transformations as possible. [![build](https://travis-ci.org/michaelcontento/babel-preset-modern-node.svg)](https://travis-ci.org/michaelcontento/babel-preset-modern-node) [![dependencies](https://david-dm.org/michaelcontento/babel-preset-modern-node.svg)](https://david-dm.org/michaelcontento/babel-preset-modern-node) [![devDependencies](https://david-dm.org/michaelcontento/babel-preset-modern-node/dev-status.svg)](https://david-dm.org/michaelcontento/babel-preset-modern-node#info=devDependencies) [![license](https://img.shields.io/npm/l/babel-preset-modern-node.svg?style=flat-square)](https://www.npmjs.com/package/babel-preset-modern-node) [![npm version](https://img.shields.io/npm/v/babel-preset-modern-node.svg?style=flat-square)](https://www.npmjs.com/package/babel-preset-modern-node) [![npm downloads](https://img.shields.io/npm/dm/babel-preset-modern-node.svg?style=flat-square)](https://www.npmjs.com/package/babel-preset-modern-node) ## Installation npm install --save-dev babel-preset-modern-node ## Usage Simply use this preset as any other. Following options can be passed to configure `babel-preset-modern-node` to your taste: - Set loose mode optimizations (**default:** `false`) - `loose = true|false` - Module loader to use (**default:** `commonjs`) - `modules = (false|commonjs|amd|umd|systemjs)` - Min node version compatibility (**default:** `process.versions.node`) - `version = "5.10.2"` ### Via `.babelrc` (recommended) ```json { "presets": ["modern-node"] } ``` Or: ```json { "presets": [["modern-node", { "loose": true, ... }]] } ``` ### Via CLI babel script.js --presets modern-node ### Via Node API ```js require('babel-core').transform('code', { presets: ['modern-node'], }) ``` Or: ```js require('babel-core').transform('code', { presets: [['modern-node', { "loose": true, ... }]], }) ``` ## Compatibility This preset currently supports ES2015 and ES2016 support for all minor node versions starting at `v0.12`. ### Notes on `Array.includes` This preset **does not modify** the global space / prototypes! Due to this we're not able to fully support ES2016's `Array.includes` [see here][plugin-array-includes] for more details. ### Special extras 1. If you project contains a `package.json` the super global `__VERSION__` will be set accordingly * See [plugin-version-inline][] 1. Strict mode will be enabled * See [transform-strict-mode][] 1. Restricted keywords will always be quoted * `foo.default` becomes `foo["default"]` * See [transform-es3-member-expression-literals][] * `default: "bar"` becomes `"default": "bar"` * See [transform-es3-property-literals][] [1]: http://www.2ality.com/2015/11/configuring-babel6.html [babel-preset-modern-node]: https://github.com/michaelcontento/babel-preset-modern-node [plugin-version-inline]: https://www.npmjs.com/package/babel-plugin-version-inline [transform-es3-member-expression-literals]: https://www.npmjs.com/package/babel-plugin-transform-es3-member-expression-literals [transform-es3-property-literals]: https://www.npmjs.com/package/babel-plugin-transform-es3-property-literals [transform-strict-mode]: https://www.npmjs.com/package/babel-plugin-transform-strict-mode [plugin-array-includes]: https://www.npmjs.com/package/babel-plugin-array-includes