diff options
Diffstat (limited to 'node_modules/babel-plugin-transform-es2015-modules-commonjs/README.md')
-rw-r--r-- | node_modules/babel-plugin-transform-es2015-modules-commonjs/README.md | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/node_modules/babel-plugin-transform-es2015-modules-commonjs/README.md b/node_modules/babel-plugin-transform-es2015-modules-commonjs/README.md deleted file mode 100644 index c553eee..0000000 --- a/node_modules/babel-plugin-transform-es2015-modules-commonjs/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# babel-plugin-transform-es2015-modules-commonjs - -> This plugin transforms ES2015 modules to [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1). -> -> #### Babel 6 Changes -> -> Babel 6 changed some behavior by not doing `module.exports = exports['default']` anymore in the modules transforms. -> -> There are some caveats, but you can use [babel-plugin-add-module-exports](https://www.npmjs.com/package/babel-plugin-add-module-exports), so that updating to Babel 6 isn't a breaking change since users that don't use ES modules don't have to do `require("your-module").default`. -> -> However, it may not match how Node eventually implements ES modules natively given the [the current proposal](https://github.com/nodejs/node-eps/blob/master/002-es-modules.md#46-es-consuming-commonjs). - -## Example - -**In** - -```javascript -export default 42; -``` - -**Out** - -```javascript -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = 42; -``` - -## Installation - -```sh -npm install --save-dev babel-plugin-transform-es2015-modules-commonjs -``` - -## Usage - -### Via `.babelrc` (Recommended) - -**.babelrc** - -```js -// without options -{ - "plugins": ["transform-es2015-modules-commonjs"] -} - -// with options -{ - "plugins": [ - ["transform-es2015-modules-commonjs", { - "allowTopLevelThis": true - }] - ] -} -``` - -### Via CLI - -```sh -babel --plugins transform-es2015-modules-commonjs script.js -``` - -### Via Node API - -```javascript -require("babel-core").transform("code", { - plugins: ["transform-es2015-modules-commonjs"] -}); -``` - -## Options - -### `loose` - -`boolean`, defaults to `false`. - -As per the spec, `import` and `export` are only allowed to be used at the top -level. When in loose mode these are allowed to be used anywhere. - -And by default, when using exports with babel a non-enumerable `__esModule` property -is exported. - -```javascript -var foo = exports.foo = 5; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -``` - -In environments that don't support this you can enable loose mode on `babel-plugin-transform-es2015-modules-commonjs` -and instead of using `Object.defineProperty` an assignment will be used instead. - -```javascript -var foo = exports.foo = 5; -exports.__esModule = true; -``` - -### `strict` - -`boolean`, defaults to `false` - -By default, when using exports with babel a non-enumerable `__esModule` property -is exported. In some cases this property is used to determine if the import _is_ the -default export or if it _contains_ the default export. - -```javascript -var foo = exports.foo = 5; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -``` - -In order to prevent the `__esModule` property from being exported, you can set -the `strict` option to `true`. - -### `noInterop` - -`boolean`, defaults to `false` - -By default, when using exports with babel a non-enumerable `__esModule` property -is exported. This property is then used to determine if the import _is_ the default -export or if it _contains_ the default export. - -```javascript -"use strict"; - -var _foo = require("foo"); - -var _foo2 = _interopRequireDefault(_foo); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} -``` - -In cases where the auto-unwrapping of `default` is not needed, you can set the -`noInterop` option to `true` to avoid the usage of the `interopRequireDefault` -helper (shown in inline form above). |