pax_global_header00006660000000000000000000000064132326654060014521gustar00rootroot0000000000000052 comment=d195bab2719f21d71749de239fef6159924c2480 rollup-plugin-commonjs-8.3.0/000077500000000000000000000000001323266540600161655ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/.eslintrc000066400000000000000000000012601323266540600200100ustar00rootroot00000000000000{ "rules": { "indent": [ 2, "tab", { "SwitchCase": 1 } ], "quotes": [ 2, "single", { "allowTemplateLiterals": true } ], "semi": [ 2, "always" ], "keyword-spacing": [ 2, { "before": true, "after": true } ], "space-before-blocks": [ 2, "always" ], "space-before-function-paren": [ 2, "always" ], "no-mixed-spaces-and-tabs": [ 2, "smart-tabs" ], "no-cond-assign": [ 0 ], "no-unused-vars": [ 2 ], "no-var": [ 2 ], "prefer-const": [ 2 ], "no-console": [ 0 ] }, "env": { "es6": true, "mocha": true, "node": true }, "extends": "eslint:recommended", "parserOptions": { "ecmaVersion": 8, "sourceType": "module" } } rollup-plugin-commonjs-8.3.0/.gitignore000066400000000000000000000000701323266540600201520ustar00rootroot00000000000000.DS_Store node_modules .gobble* dist !test/node_modules rollup-plugin-commonjs-8.3.0/.travis.yml000066400000000000000000000003151323266540600202750ustar00rootroot00000000000000sudo: false language: node_js node_js: - "node" env: global: - BUILD_TIMEOUT=10000 install: npm install before_install: - if [[ $TRAVIS_NODE_VERSION -lt 7 ]]; then npm install --global npm@4; fi rollup-plugin-commonjs-8.3.0/CHANGELOG.md000066400000000000000000000162041323266540600200010ustar00rootroot00000000000000# rollup-plugin-commonjs changelog ## 8.3.0 * Handle multiple entry points ([#283](https://github.com/rollup/rollup-plugin-commonjs/issues/283)) * Extract named exports from exported object literals ([#272](https://github.com/rollup/rollup-plugin-commonjs/issues/272)) * Fix when `options.external` is modified by other plugins ([#264](https://github.com/rollup/rollup-plugin-commonjs/issues/264)) * Recognize static template strings in require statements ([#271](https://github.com/rollup/rollup-plugin-commonjs/issues/271)) ## 8.2.4 * Don't import default from ES modules that don't export default ([#206](https://github.com/rollup/rollup-plugin-commonjs/issues/206)) ## 8.2.3 * Prevent duplicate default exports ([#230](https://github.com/rollup/rollup-plugin-commonjs/pull/230)) * Only include default export when it exists ([#226](https://github.com/rollup/rollup-plugin-commonjs/pull/226)) * Deconflict `require` aliases ([#232](https://github.com/rollup/rollup-plugin-commonjs/issues/232)) ## 8.2.1 * Fix magic-string deprecation warning ## 8.2.0 * Avoid using `index` as a variable name ([#208](https://github.com/rollup/rollup-plugin-commonjs/pull/208)) ## 8.1.1 * Compatibility with 0.48 ([#220](https://github.com/rollup/rollup-plugin-commonjs/issues/220)) ## 8.1.0 * Handle `options.external` correctly ([#212](https://github.com/rollup/rollup-plugin-commonjs/pull/212)) * Support top-level return ([#195](https://github.com/rollup/rollup-plugin-commonjs/pull/195)) ## 8.0.2 * Fix another `var` rewrite bug ([#181](https://github.com/rollup/rollup-plugin-commonjs/issues/181)) ## 8.0.1 * Remove declarators within a var declaration correctly ([#179](https://github.com/rollup/rollup-plugin-commonjs/issues/179)) ## 8.0.0 * Prefer the names dependencies are imported by for the common `var foo = require('foo')` pattern ([#176](https://github.com/rollup/rollup-plugin-commonjs/issues/176)) ## 7.1.0 * Allow certain `require` statements to pass through unmolested ([#174](https://github.com/rollup/rollup-plugin-commonjs/issues/174)) ## 7.0.2 * Handle duplicate default exports ([#158](https://github.com/rollup/rollup-plugin-commonjs/issues/158)) ## 7.0.1 * Fix exports with parentheses ([#168](https://github.com/rollup/rollup-plugin-commonjs/issues/168)) ## 7.0.0 * Rewrite `typeof module`, `typeof module.exports` and `typeof exports` as `'object'` ([#151](https://github.com/rollup/rollup-plugin-commonjs/issues/151)) ## 6.0.1 * Don't overwrite globals ([#127](https://github.com/rollup/rollup-plugin-commonjs/issues/127)) ## 6.0.0 * Rewrite top-level `define` as `undefined`, so AMD-first UMD blocks do not cause breakage ([#144](https://github.com/rollup/rollup-plugin-commonjs/issues/144)) * Support ES2017 syntax ([#132](https://github.com/rollup/rollup-plugin-commonjs/issues/132)) * Deconflict exported reserved keywords ([#116](https://github.com/rollup/rollup-plugin-commonjs/issues/116)) ## 5.0.5 * Fix parenthesis wrapped exports ([#120](https://github.com/rollup/rollup-plugin-commonjs/issues/120)) ## 5.0.4 * Ensure named exports are added to default export in optimised modules ([#112](https://github.com/rollup/rollup-plugin-commonjs/issues/112)) ## 5.0.3 * Respect custom `namedExports` in optimised modules ([#35](https://github.com/rollup/rollup-plugin-commonjs/issues/35)) ## 5.0.2 * Replace `require` (outside call expressions) with `commonjsRequire` helper ([#77](https://github.com/rollup/rollup-plugin-commonjs/issues/77), [#83](https://github.com/rollup/rollup-plugin-commonjs/issues/83)) ## 5.0.1 * Deconflict against globals ([#84](https://github.com/rollup/rollup-plugin-commonjs/issues/84)) ## 5.0.0 * Optimise modules that don't need to be wrapped in a function ([#106](https://github.com/rollup/rollup-plugin-commonjs/pull/106)) * Ignore modules containing `import` and `export` statements ([#96](https://github.com/rollup/rollup-plugin-commonjs/pull/96)) ## 4.1.0 * Ignore dead branches ([#93](https://github.com/rollup/rollup-plugin-commonjs/issues/93)) ## 4.0.1 * Fix `ignoreGlobal` option ([#86](https://github.com/rollup/rollup-plugin-commonjs/pull/86)) ## 4.0.0 * Better interop and smaller output ([#92](https://github.com/rollup/rollup-plugin-commonjs/pull/92)) ## 3.3.1 * Deconflict export and local module ([rollup/rollup#554](https://github.com/rollup/rollup/issues/554)) ## 3.3.0 * Keep the order of execution for require calls ([#43](https://github.com/rollup/rollup-plugin-commonjs/pull/43)) * Use interopDefault as helper ([#42](https://github.com/rollup/rollup-plugin-commonjs/issues/42)) ## 3.2.0 * Use named exports as a function when no default export is defined ([#524](https://github.com/rollup/rollup/issues/524)) ## 3.1.0 * Replace `typeof require` with `'function'` ([#38](https://github.com/rollup/rollup-plugin-commonjs/issues/38)) * Don't attempt to resolve entry file relative to importer ([#63](https://github.com/rollup/rollup-plugin-commonjs/issues/63)) ## 3.0.2 * Handle multiple references to `global` ## 3.0.1 * Return a `name` ## 3.0.0 * Make `transform` stateless ([#71](https://github.com/rollup/rollup-plugin-commonjs/pull/71)) * Support web worker `global` ([#50](https://github.com/rollup/rollup-plugin-commonjs/issues/50)) * Ignore global with `options.ignoreGlobal` ([#48](https://github.com/rollup/rollup-plugin-commonjs/issues/48)) ## 2.2.1 * Prevent false positives with `namedExports` ([#36](https://github.com/rollup/rollup-plugin-commonjs/issues/36)) ## 2.2.0 * Rewrite top-level `this` expressions to mean the same as `global` ([#31](https://github.com/rollup/rollup-plugin-commonjs/issues/31)) ## 2.1.0 * Optimised module wrappers ([#20](https://github.com/rollup/rollup-plugin-commonjs/pull/20)) * Allow control over named exports via `options.namedExports` ([#18](https://github.com/rollup/rollup-plugin-commonjs/issues/18)) * Handle bare imports correctly ([#23](https://github.com/rollup/rollup-plugin-commonjs/issues/23)) * Blacklist all reserved words as export names ([#21](https://github.com/rollup/rollup-plugin-commonjs/issues/21)) * Configure allowed file extensions via `options.extensions` ([#27](https://github.com/rollup/rollup-plugin-commonjs/pull/27)) ## 2.0.0 * Support for transpiled modules – `exports.default` is used as the default export in place of `module.exports`, if applicable, and `__esModule` is not exported ([#16](https://github.com/rollup/rollup-plugin-commonjs/pull/16)) ## 1.4.0 * Generate sourcemaps by default ## 1.3.0 * Handle references to `global` ([#6](https://github.com/rollup/rollup-plugin-commonjs/issues/6)) ## 1.2.0 * Generate named exports where possible ([#5](https://github.com/rollup/rollup-plugin-commonjs/issues/5)) * Handle shadowed `require`/`module`/`exports` ## 1.1.0 * Handle dots in filenames ([#3](https://github.com/rollup/rollup-plugin-commonjs/issues/3)) * Wrap modules in IIFE for more readable output ## 1.0.0 * Stable release, now that Rollup supports plugins ## 0.2.1 * Allow mixed CommonJS/ES6 imports/exports * Use `var` instead of `let` ## 0.2.0 * Sourcemap support * Support `options.include` and `options.exclude` * Bail early if module is obviously not a CommonJS module ## 0.1.1 Add dist files to package (whoops!) ## 0.1.0 * First release rollup-plugin-commonjs-8.3.0/LICENSE000066400000000000000000000021771323266540600172010ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2017 [these people](https://github.com/rollup/rollup-plugin-commonjs/graphs/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. rollup-plugin-commonjs-8.3.0/README.md000066400000000000000000000064351323266540600174540ustar00rootroot00000000000000# rollup-plugin-commonjs [![Build Status][travis-img]][travis] [travis-img]: https://travis-ci.org/rollup/rollup-plugin-commonjs.svg [travis]: https://travis-ci.org/rollup/rollup-plugin-commonjs Convert CommonJS modules to ES6, so they can be included in a Rollup bundle ## Installation ```bash npm install --save-dev rollup-plugin-commonjs ``` ## Usage Typically, you would use this plugin alongside [rollup-plugin-node-resolve](https://github.com/rollup/rollup-plugin-node-resolve), so that you could bundle your CommonJS dependencies in `node_modules`. ```js // rollup.config.js import commonjs from 'rollup-plugin-commonjs'; import nodeResolve from 'rollup-plugin-node-resolve'; export default { input: 'main.js', output: { file: 'bundle.js', format: 'iife' }, plugins: [ nodeResolve({ jsnext: true, main: true }), commonjs({ // non-CommonJS modules will be ignored, but you can also // specifically include/exclude files include: 'node_modules/**', // Default: undefined exclude: [ 'node_modules/foo/**', 'node_modules/bar/**' ], // Default: undefined // these values can also be regular expressions // include: /node_modules/ // search for files other than .js files (must already // be transpiled by a previous plugin!) extensions: [ '.js', '.coffee' ], // Default: [ '.js' ] // if true then uses of `global` won't be dealt with by this plugin ignoreGlobal: false, // Default: false // if false then skip sourceMap generation for CommonJS modules sourceMap: false, // Default: true // explicitly specify unresolvable named exports // (see below for more details) namedExports: { './module.js': ['foo', 'bar' ] }, // Default: undefined // sometimes you have to leave require statements // unconverted. Pass an array containing the IDs // or a `id => boolean` function. Only use this // option if you know what you're doing! ignore: [ 'conditional-runtime-dependency' ] }) ] }; ``` ### Custom named exports This plugin will attempt to create named exports, where appropriate, so you can do this... ```js // importer.js import { named } from './exporter.js'; // exporter.js module.exports = { named: 42 }; // or `exports.named = 42;` ``` ...but that's not always possible: ```js // importer.js import { named } from 'my-lib'; // my-lib.js var myLib = exports; myLib.named = 'you can\'t see me'; ``` In those cases, you can specify custom named exports: ```js commonjs({ namedExports: { // left-hand side can be an absolute path, a path // relative to the current directory, or the name // of a module in node_modules 'node_modules/my-lib/index.js': [ 'named' ] } }) ``` ## Strict mode ES modules are *always* parsed in strict mode. That means that certain non-strict constructs (like octal literals) will be treated as syntax errors when Rollup parses modules that use them. Some older CommonJS modules depend on those constructs, and if you depend on them your bundle will blow up. There's basically nothing we can do about that. Luckily, there is absolutely no good reason *not* to use strict mode for everything — so the solution to this problem is to lobby the authors of those modules to update them. ## License MIT rollup-plugin-commonjs-8.3.0/appveyor.yml000066400000000000000000000011371323266540600205570ustar00rootroot00000000000000# http://www.appveyor.com/docs/appveyor-yml version: "{build}" clone_depth: 10 init: - git config --global core.autocrlf false environment: matrix: # node.js - nodejs_version: 8 install: - ps: Install-Product node $env:nodejs_version - IF %nodejs_version% LSS 7 npm -g install npm@4 - npm install build: off test_script: - node --version && npm --version - npm test matrix: fast_finish: false # cache: # - C:\Users\appveyor\AppData\Roaming\npm-cache -> package.json # npm cache # - node_modules -> package.json # local npm modules rollup-plugin-commonjs-8.3.0/package-lock.json000066400000000000000000001636501323266540600214140ustar00rootroot00000000000000{ "name": "rollup-plugin-commonjs", "version": "8.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { "acorn": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==" }, "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { "acorn": "3.3.0" }, "dependencies": { "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, "acorn-object-spread": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz", "integrity": "sha1-SOrQ9KjrFplaF6Dbn/xqyq2kumg=", "dev": true, "requires": { "acorn": "3.3.0" }, "dependencies": { "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, "ajv": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", "json-schema-traverse": "0.3.1", "json-stable-stringify": "1.0.1" } }, "ajv-keywords": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", "dev": true }, "ansi-escapes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", "dev": true }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { "sprintf-js": "1.0.3" } }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { "arr-flatten": "1.1.0" } }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { "array-uniq": "1.0.3" } }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "1.1.3", "esutils": "2.0.2", "js-tokens": "3.0.2" }, "dependencies": { "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", "has-ansi": "2.0.0", "strip-ansi": "3.0.1", "supports-color": "2.0.0" } }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" } } } }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { "expand-range": "1.8.2", "preserve": "0.2.0", "repeat-element": "1.1.2" } }, "browser-resolve": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", "dev": true, "requires": { "resolve": "1.1.7" }, "dependencies": { "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } } }, "browser-stdout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", "dev": true }, "buble": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/buble/-/buble-0.16.0.tgz", "integrity": "sha512-Eb5vt1+IvXXPyYD1IIQIuaBwIuJOSWQ2kXzULlg5I83aLGF2qzcjRU2joYusnWFgAenvJ9xTOMvZvT0bb8BLbg==", "dev": true, "requires": { "acorn": "3.3.0", "acorn-jsx": "3.0.1", "acorn-object-spread": "1.0.0", "chalk": "1.1.3", "magic-string": "0.14.0", "minimist": "1.2.0", "os-homedir": "1.0.2", "vlq": "0.2.2" }, "dependencies": { "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", "has-ansi": "2.0.0", "strip-ansi": "3.0.1", "supports-color": "2.0.0" } }, "magic-string": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.14.0.tgz", "integrity": "sha1-VyJK7xcByu7Sc7F6OalW5ysXJGI=", "dev": true, "requires": { "vlq": "0.2.2" } }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" } } } }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { "callsites": "0.2.0" } }, "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", "supports-color": "4.4.0" }, "dependencies": { "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { "color-convert": "1.9.0" } }, "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" } } } }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { "restore-cursor": "2.0.0" } }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "color-convert": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "commander": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "concat-stream": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3", "typedarray": "0.0.6" } }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "4.1.1", "shebang-command": "1.2.0", "which": "1.3.0" } }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" } }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { "globby": "5.0.0", "is-path-cwd": "1.0.0", "is-path-in-cwd": "1.0.0", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", "rimraf": "2.6.2" } }, "diff": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", "dev": true }, "doctrine": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", "dev": true, "requires": { "esutils": "2.0.2", "isarray": "1.0.0" } }, "es6-object-assign": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.8.0.tgz", "integrity": "sha1-Ip7w41Tg5h2DfHqA/fuoJeGZgV4=", "dev": true, "requires": { "ajv": "5.2.3", "babel-code-frame": "6.26.0", "chalk": "2.1.0", "concat-stream": "1.6.0", "cross-spawn": "5.1.0", "debug": "3.1.0", "doctrine": "2.0.0", "eslint-scope": "3.7.1", "espree": "3.5.1", "esquery": "1.0.0", "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.2", "globals": "9.18.0", "ignore": "3.3.5", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.0.0", "js-yaml": "3.10.0", "json-stable-stringify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.4", "minimatch": "3.0.4", "mkdirp": "0.5.1", "natural-compare": "1.4.0", "optionator": "0.8.2", "path-is-inside": "1.0.2", "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", "semver": "5.4.1", "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", "table": "4.0.2", "text-table": "0.2.0" } }, "eslint-scope": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { "esrecurse": "4.2.0", "estraverse": "4.2.0" } }, "espree": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", "dev": true, "requires": { "acorn": "5.2.1", "acorn-jsx": "3.0.1" } }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, "esquery": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", "dev": true, "requires": { "estraverse": "4.2.0" } }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "dev": true, "requires": { "estraverse": "4.2.0", "object-assign": "4.1.1" } }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, "estree-walker": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.0.tgz", "integrity": "sha512-/bEAy+yKAZQrEWUhGmS3H9XpGqSDBtRzX0I2PgMw9kA2n1jN22uV5B5p7MFdZdvWdXCRJztXAfx6ZeRfgkEETg==" }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { "is-posix-bracket": "0.1.1" } }, "expand-range": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { "fill-range": "2.2.3" } }, "external-editor": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", "dev": true, "requires": { "iconv-lite": "0.4.19", "jschardet": "1.5.1", "tmp": "0.0.33" } }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { "is-extglob": "1.0.0" } }, "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", "dev": true }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { "flat-cache": "1.3.0", "object-assign": "4.1.1" } }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" }, "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "requires": { "is-number": "2.1.0", "isobject": "2.1.0", "randomatic": "1.1.7", "repeat-element": "1.1.2", "repeat-string": "1.6.1" } }, "flat-cache": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { "circular-json": "0.3.3", "del": "2.2.2", "graceful-fs": "4.1.11", "write": "0.2.1" } }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { "for-in": "1.0.2" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", "inherits": "2.0.3", "minimatch": "3.0.4", "once": "1.4.0", "path-is-absolute": "1.0.1" } }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { "glob-parent": "2.0.0", "is-glob": "2.0.1" } }, "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { "is-glob": "2.0.1" } }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { "array-union": "1.0.2", "arrify": "1.0.1", "glob": "7.1.2", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1" } }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "growl": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", "dev": true }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { "ansi-regex": "2.1.1" } }, "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", "dev": true }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true }, "ignore": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", "dev": true }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { "ansi-escapes": "3.0.0", "chalk": "2.1.0", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.0.5", "figures": "2.0.0", "lodash": "4.17.4", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", "rx-lite-aggregates": "4.0.8", "string-width": "2.1.1", "strip-ansi": "4.0.0", "through": "2.3.8" } }, "interpret": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", "dev": true }, "is-buffer": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { "is-primitive": "2.0.0" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { "is-extglob": "1.0.0" } }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { "kind-of": "3.2.2" } }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", "dev": true }, "is-path-in-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { "is-path-inside": "1.0.0" } }, "is-path-inside": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", "dev": true, "requires": { "path-is-inside": "1.0.2" } }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" }, "is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, "is-resolvable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", "dev": true, "requires": { "tryit": "1.0.3" } }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "requires": { "isarray": "1.0.0" } }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "js-yaml": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "dev": true, "requires": { "argparse": "1.0.9", "esprima": "4.0.0" } }, "jschardet": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { "jsonify": "0.0.0" } }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { "is-buffer": "1.1.5" } }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { "prelude-ls": "1.1.2", "type-check": "0.3.2" } }, "locate-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-2.0.1.tgz", "integrity": "sha1-SPlZnzQtryb3PbMvRZQerje645E=", "dev": true }, "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" } }, "magic-string": { "version": "0.22.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", "requires": { "vlq": "0.2.2" } }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { "arr-diff": "2.0.0", "array-unique": "0.2.1", "braces": "1.8.5", "expand-brackets": "0.1.5", "extglob": "0.3.2", "filename-regex": "2.0.1", "is-extglob": "1.0.0", "is-glob": "2.0.1", "kind-of": "3.2.2", "normalize-path": "2.1.1", "object.omit": "2.0.1", "parse-glob": "3.0.4", "regex-cache": "0.4.3" } }, "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" } }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" } }, "mocha": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.0.1.tgz", "integrity": "sha512-evDmhkoA+cBNiQQQdSKZa2b9+W2mpLoj50367lhy+Klnx9OV8XlCIhigUnn1gaTFLQCa0kdNhEGDr0hCXOQFDw==", "dev": true, "requires": { "browser-stdout": "1.3.0", "commander": "2.11.0", "debug": "3.1.0", "diff": "3.3.1", "escape-string-regexp": "1.0.5", "glob": "7.1.2", "growl": "1.10.3", "he": "1.1.1", "mkdirp": "0.5.1", "supports-color": "4.4.0" }, "dependencies": { "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" } } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { "remove-trailing-separator": "1.1.0" } }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { "for-own": "0.1.5", "is-extendable": "0.1.1" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1.0.2" } }, "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { "mimic-fn": "1.1.0" } }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { "deep-is": "0.1.3", "fast-levenshtein": "2.0.6", "levn": "0.3.0", "prelude-ls": "1.1.2", "type-check": "0.3.2", "wordwrap": "1.0.0" } }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { "glob-base": "0.3.0", "is-dotfile": "1.0.3", "is-extglob": "1.0.0", "is-glob": "2.0.1" } }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "2.0.4" } }, "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, "progress": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "requires": { "is-number": "3.0.0", "kind-of": "4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { "is-buffer": "1.1.5" } } } }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { "is-buffer": "1.1.5" } } } }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "1.0.7", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" } }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { "resolve": "1.4.0" } }, "regex-cache": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", "requires": { "is-equal-shallow": "0.1.3", "is-primitive": "2.0.0" } }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "require-relative": { "version": "0.8.7", "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", "dev": true }, "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { "caller-path": "0.1.0", "resolve-from": "1.0.1" } }, "resolve": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", "requires": { "path-parse": "1.0.5" } }, "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { "onetime": "2.0.1", "signal-exit": "3.0.2" } }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" } }, "rollup": { "version": "0.55.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.55.0.tgz", "integrity": "sha512-uCwDXz2qHQ0XsPekrLIeIEORSF32Zfk1H057ENgb+sj84m10pWaG2YGQSvF8kvyf0WLcrzk2TzYuC/+iZP4hyA==", "dev": true }, "rollup-plugin-buble": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.16.0.tgz", "integrity": "sha512-dPIvH9iK9AUGRrqpARL6TTNY85BJpc5OK5PiCAnFaRe7C1boRBVRXiL0SYsYNVnyYYPl6vu0lVSb722eMSw1Eg==", "dev": true, "requires": { "buble": "0.16.0", "rollup-pluginutils": "2.0.1" } }, "rollup-plugin-node-resolve": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", "dev": true, "requires": { "browser-resolve": "1.11.2", "builtin-modules": "1.1.1", "is-module": "1.0.0", "resolve": "1.4.0" } }, "rollup-pluginutils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", "requires": { "estree-walker": "0.3.1", "micromatch": "2.3.11" }, "dependencies": { "estree-walker": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=" } } }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { "is-promise": "2.1.0" } }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", "dev": true }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { "rx-lite": "4.0.8" } }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "1.0.0" } }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", "dev": true, "requires": { "glob": "7.1.2", "interpret": "1.0.3", "rechoir": "0.6.2" } }, "shx": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/shx/-/shx-0.2.2.tgz", "integrity": "sha1-CjBNAgsO3xMGrYFXDoDwNG31ijk=", "dev": true, "requires": { "es6-object-assign": "1.1.0", "minimist": "1.2.0", "shelljs": "0.7.8" }, "dependencies": { "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0" } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz", "integrity": "sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q==", "dev": true, "requires": { "source-map": "0.6.1" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" } }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "3.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true } } }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { "ajv": "5.2.3", "ajv-keywords": "2.1.0", "chalk": "2.1.0", "lodash": "4.17.4", "slice-ansi": "1.0.0", "string-width": "2.1.1" } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "1.0.2" } }, "tryit": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", "dev": true }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { "prelude-ls": "1.1.2" } }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "vlq": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz", "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=" }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { "isexe": "2.0.0" } }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { "mkdirp": "0.5.1" } }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } } } rollup-plugin-commonjs-8.3.0/package.json000066400000000000000000000025601323266540600204560ustar00rootroot00000000000000{ "name": "rollup-plugin-commonjs", "version": "8.3.0", "description": "Convert CommonJS modules to ES2015", "main": "dist/rollup-plugin-commonjs.cjs.js", "module": "dist/rollup-plugin-commonjs.es.js", "jsnext:main": "dist/rollup-plugin-commonjs.es.js", "scripts": { "test": "npm run test:only", "test:only": "mocha", "pretest": "npm run build", "build": "shx rm -rf dist/* && rollup -c", "dev": "rollup -c -w", "lint": "eslint src/*.js test/*.js", "prepublishOnly": "npm run lint && npm run test:only", "prepare": "npm run build" }, "files": [ "src", "dist", "README.md" ], "dependencies": { "acorn": "^5.2.1", "estree-walker": "^0.5.0", "magic-string": "^0.22.4", "resolve": "^1.4.0", "rollup-pluginutils": "^2.0.1" }, "devDependencies": { "eslint": "^4.8.0", "locate-character": "^2.0.1", "mocha": "^4.0.1", "require-relative": "^0.8.7", "rollup": "^0.55.0", "rollup-plugin-buble": "^0.16.0", "rollup-plugin-node-resolve": "^3.0.0", "shx": "^0.2.2", "source-map": "^0.6.1", "source-map-support": "^0.5.0" }, "repository": "rollup/rollup-plugin-commonjs", "author": "Rich Harris", "license": "MIT", "bugs": { "url": "https://github.com/rollup/rollup-plugin-commonjs/issues" }, "homepage": "https://github.com/rollup/rollup-plugin-commonjs" } rollup-plugin-commonjs-8.3.0/rollup.config.js000066400000000000000000000006241323266540600213060ustar00rootroot00000000000000import buble from 'rollup-plugin-buble'; import pkg from './package.json'; export default { input: 'src/index.js', plugins: [ buble({ transforms: { dangerousForOf: true } }) ], external: Object.keys( pkg.dependencies ).concat([ 'fs', 'path' ]), output: [ { format: 'es', file: pkg.module, sourcemap: true }, { format: 'cjs', file: pkg.main, sourcemap: true } ] }; rollup-plugin-commonjs-8.3.0/src/000077500000000000000000000000001323266540600167545ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/src/ast-utils.js000066400000000000000000000046741323266540600212520ustar00rootroot00000000000000export function isReference ( node, parent ) { if ( parent.type === 'MemberExpression' ) return parent.computed || node === parent.object; // disregard the `bar` in { bar: foo } if ( parent.type === 'Property' && node !== parent.value ) return false; // disregard the `bar` in `class Foo { bar () {...} }` if ( parent.type === 'MethodDefinition' ) return false; // disregard the `bar` in `export { foo as bar }` if ( parent.type === 'ExportSpecifier' && node !== parent.local ) return false; return true; } export function flatten ( node ) { const parts = []; while ( node.type === 'MemberExpression' ) { if ( node.computed ) return null; parts.unshift( node.property.name ); node = node.object; } if ( node.type !== 'Identifier' ) return null; const name = node.name; parts.unshift( name ); return { name, keypath: parts.join( '.' ) }; } export function extractNames ( node ) { const names = []; extractors[ node.type ]( names, node ); return names; } const extractors = { Identifier ( names, node ) { names.push( node.name ); }, ObjectPattern ( names, node ) { node.properties.forEach( prop => { extractors[ prop.value.type ]( names, prop.value ); }); }, ArrayPattern ( names, node ) { node.elements.forEach( element => { if ( element ) extractors[ element.type ]( names, element ); }); }, RestElement ( names, node ) { extractors[ node.argument.type ]( names, node.argument ); }, AssignmentPattern ( names, node ) { extractors[ node.left.type ]( names, node.left ); } }; export function isTruthy ( node ) { if ( node.type === 'Literal' ) return !!node.value; if ( node.type === 'ParenthesizedExpression' ) return isTruthy( node.expression ); if ( node.operator in operators ) return operators[ node.operator ]( node ); } export function isFalsy ( node ) { return not( isTruthy( node ) ); } function not ( value ) { return value === undefined ? value : !value; } function equals ( a, b, strict ) { if ( a.type !== b.type ) return undefined; if ( a.type === 'Literal' ) return strict ? a.value === b.value : a.value == b.value; } const operators = { '==': x => { return equals( x.left, x.right, false ); }, '!=': x => not( operators['==']( x ) ), '===': x => { return equals( x.left, x.right, true ); }, '!==': x => not( operators['===']( x ) ), '!': x => isFalsy( x.argument ), '&&': x => isTruthy( x.left ) && isTruthy( x.right ), '||': x => isTruthy( x.left ) || isTruthy( x.right ) }; rollup-plugin-commonjs-8.3.0/src/defaultResolver.js000066400000000000000000000017471323266540600224710ustar00rootroot00000000000000import * as fs from 'fs'; import { dirname, resolve } from 'path'; function isFile ( file ) { try { const stats = fs.statSync( file ); return stats.isFile(); } catch ( err ) { return false; } } function addJsExtensionIfNecessary ( file ) { if ( isFile( file ) ) return file; file += '.js'; if ( isFile( file ) ) return file; return null; } const absolutePath = /^(?:\/|(?:[A-Za-z]:)?[\\|/])/; function isAbsolute ( path ) { return absolutePath.test( path ); } export default function defaultResolver ( importee, importer ) { // absolute paths are left untouched if ( isAbsolute( importee ) ) return addJsExtensionIfNecessary( resolve( importee ) ); // if this is the entry point, resolve against cwd if ( importer === undefined ) return addJsExtensionIfNecessary( resolve( process.cwd(), importee ) ); // external modules are skipped at this stage if ( importee[0] !== '.' ) return null; return addJsExtensionIfNecessary( resolve( dirname( importer ), importee ) ); } rollup-plugin-commonjs-8.3.0/src/helpers.js000066400000000000000000000013211323266540600207510ustar00rootroot00000000000000export const HELPERS_ID = '\0commonjsHelpers'; export const HELPERS = ` export var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; export function commonjsRequire () { throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs'); } export function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } export function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }`; export const PREFIX = '\0commonjs-proxy:'; export const EXTERNAL = '\0commonjs-external:'; rollup-plugin-commonjs-8.3.0/src/index.js000066400000000000000000000134321323266540600204240ustar00rootroot00000000000000import { statSync } from 'fs'; import { dirname, extname, resolve, sep } from 'path'; import { sync as nodeResolveSync } from 'resolve'; import { createFilter } from 'rollup-pluginutils'; import { EXTERNAL, PREFIX, HELPERS_ID, HELPERS } from './helpers.js'; import defaultResolver from './defaultResolver.js'; import { checkFirstpass, checkEsModule, transformCommonjs } from './transform.js'; import { getName } from './utils.js'; function getCandidatesForExtension ( resolved, extension ) { return [ resolved + extension, resolved + `${sep}index${extension}` ]; } function getCandidates ( resolved, extensions ) { return extensions.reduce( ( paths, extension ) => paths.concat( getCandidatesForExtension ( resolved, extension ) ), [resolved] ); } // Return the first non-falsy result from an array of // maybe-sync, maybe-promise-returning functions function first ( candidates ) { return function ( ...args ) { return candidates.reduce( ( promise, candidate ) => { return promise.then( result => result != null ? result : Promise.resolve( candidate( ...args ) ) ); }, Promise.resolve() ); }; } function startsWith ( str, prefix ) { return str.slice( 0, prefix.length ) === prefix; } export default function commonjs ( options = {} ) { const extensions = options.extensions || ['.js']; const filter = createFilter( options.include, options.exclude ); const ignoreGlobal = options.ignoreGlobal; const customNamedExports = {}; if ( options.namedExports ) { Object.keys( options.namedExports ).forEach( id => { let resolvedId; try { resolvedId = nodeResolveSync( id, { basedir: process.cwd() }); } catch ( err ) { resolvedId = resolve( id ); } customNamedExports[ resolvedId ] = options.namedExports[ id ]; }); } const esModulesWithoutDefaultExport = []; const allowDynamicRequire = !!options.ignore; // TODO maybe this should be configurable? const ignoreRequire = typeof options.ignore === 'function' ? options.ignore : Array.isArray( options.ignore ) ? id => ~options.ignore.indexOf( id ) : () => false; let entryModuleIdsPromise = null; function resolveId ( importee, importer ) { if ( importee === HELPERS_ID ) return importee; if ( importer && startsWith( importer, PREFIX ) ) importer = importer.slice( PREFIX.length ); const isProxyModule = startsWith( importee, PREFIX ); if ( isProxyModule ) importee = importee.slice( PREFIX.length ); return resolveUsingOtherResolvers( importee, importer ).then( resolved => { if ( resolved ) return isProxyModule ? PREFIX + resolved : resolved; resolved = defaultResolver( importee, importer ); if ( isProxyModule ) { if ( resolved ) return PREFIX + resolved; return EXTERNAL + importee; // external } return resolved; }); } const sourceMap = options.sourceMap !== false; const commonjsModules = new Map(); let resolveUsingOtherResolvers; return { name: 'commonjs', options ( options ) { const resolvers = ( options.plugins || [] ) .map( plugin => { if ( plugin.resolveId === resolveId ) { // substitute CommonJS resolution logic return ( importee, importer ) => { if ( importee[0] !== '.' || !importer ) return; // not our problem const resolved = resolve( dirname( importer ), importee ); const candidates = getCandidates( resolved, extensions ); for ( let i = 0; i < candidates.length; i += 1 ) { try { const stats = statSync( candidates[i] ); if ( stats.isFile() ) return candidates[i]; } catch ( err ) { /* noop */ } } }; } return plugin.resolveId; }) .filter( Boolean ); const isExternal = id => options.external ? Array.isArray( options.external ) ? ~options.external.indexOf( id ) : options.external(id) : false; resolvers.unshift( id => isExternal( id ) ? false : null ); resolveUsingOtherResolvers = first( resolvers ); const entryModules = [].concat( options.input || options.entry ); entryModuleIdsPromise = Promise.all( entryModules.map( entry => resolveId( entry )) ); }, resolveId, load ( id ) { if ( id === HELPERS_ID ) return HELPERS; // generate proxy modules if ( startsWith( id, EXTERNAL ) ) { const actualId = id.slice( EXTERNAL.length ); const name = getName( actualId ); return `import ${name} from ${JSON.stringify( actualId )}; export default ${name};`; } if ( startsWith( id, PREFIX ) ) { const actualId = id.slice( PREFIX.length ); const name = getName( actualId ); if (commonjsModules.has( actualId )) return `import { __moduleExports } from ${JSON.stringify( actualId )}; export default __moduleExports;`; else if (esModulesWithoutDefaultExport.indexOf(actualId) !== -1) return `import * as ${name} from ${JSON.stringify( actualId )}; export default ${name};`; else return `import * as ${name} from ${JSON.stringify( actualId )}; export default ( ${name} && ${name}['default'] ) || ${name};`; } }, transform ( code, id ) { if ( !filter( id ) ) return null; if ( extensions.indexOf( extname( id ) ) === -1 ) return null; return entryModuleIdsPromise.then( (entryModuleIds) => { const {isEsModule, hasDefaultExport, ast} = checkEsModule( code, id ); if ( isEsModule ) { if ( !hasDefaultExport ) esModulesWithoutDefaultExport.push( id ); return; } // it is not an ES module but not a commonjs module, too. if ( !checkFirstpass( code, ignoreGlobal ) ) { esModulesWithoutDefaultExport.push( id ); return; } const transformed = transformCommonjs( code, id, entryModuleIds.indexOf(id) !== -1, ignoreGlobal, ignoreRequire, customNamedExports[ id ], sourceMap, allowDynamicRequire, ast ); if ( !transformed ) return; commonjsModules.set( id, true ); return transformed; }); } }; } rollup-plugin-commonjs-8.3.0/src/transform.js000066400000000000000000000336621323266540600213370ustar00rootroot00000000000000import acorn from 'acorn'; import { walk } from 'estree-walker'; import MagicString from 'magic-string'; import { attachScopes, makeLegalIdentifier } from 'rollup-pluginutils'; import { extractNames, flatten, isReference, isTruthy, isFalsy } from './ast-utils.js'; import { PREFIX, HELPERS_ID } from './helpers.js'; import { getName } from './utils.js'; const reserved = 'abstract arguments boolean break byte case catch char class const continue debugger default delete do double else enum eval export extends false final finally float for function goto if implements import in instanceof int interface let long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var void volatile while with yield'.split( ' ' ); const blacklist = { __esModule: true }; reserved.forEach( word => blacklist[ word ] = true ); const exportsPattern = /^(?:module\.)?exports(?:\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/; const firstpassGlobal = /\b(?:require|module|exports|global)\b/; const firstpassNoGlobal = /\b(?:require|module|exports)\b/; const importExportDeclaration = /^(?:Import|Export(?:Named|Default))Declaration/; function deconflict ( scope, globals, identifier ) { let i = 1; let deconflicted = identifier; while ( scope.contains( deconflicted ) || globals.has( deconflicted ) || deconflicted in blacklist ) deconflicted = `${identifier}_${i++}`; scope.declarations[ deconflicted ] = true; return deconflicted; } function tryParse ( code, id ) { try { return acorn.parse( code, { ecmaVersion: 8, sourceType: 'module', allowReturnOutsideFunction: true }); } catch ( err ) { err.message += ` in ${id}`; throw err; } } export function checkFirstpass (code, ignoreGlobal) { const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal; return firstpass.test(code); } export function checkEsModule (code, id) { const ast = tryParse(code, id); // if there are top-level import/export declarations, this is ES not CommonJS let hasDefaultExport = false; let isEsModule = false; for ( const node of ast.body ) { if ( node.type === 'ExportDefaultDeclaration' ) hasDefaultExport = true; if ( importExportDeclaration.test( node.type ) ) isEsModule = true; } return { isEsModule, hasDefaultExport, ast }; } export function transformCommonjs ( code, id, isEntry, ignoreGlobal, ignoreRequire, customNamedExports, sourceMap, allowDynamicRequire, astCache ) { const ast = astCache || tryParse( code, id ); const magicString = new MagicString( code ); const required = {}; // Because objects have no guaranteed ordering, yet we need it, // we need to keep track of the order in a array const sources = []; let uid = 0; let scope = attachScopes( ast, 'scope' ); const uses = { module: false, exports: false, global: false, require: false }; let lexicalDepth = 0; let programDepth = 0; const globals = new Set(); const HELPERS_NAME = deconflict( scope, globals, 'commonjsHelpers' ); // TODO technically wrong since globals isn't populated yet, but ¯\_(ツ)_/¯ const namedExports = {}; // TODO handle transpiled modules let shouldWrap = /__esModule/.test( code ); function isRequireStatement ( node ) { if ( !node ) return; if ( node.type !== 'CallExpression' ) return; if ( node.callee.name !== 'require' || scope.contains( 'require' ) ) return; if ( node.arguments.length !== 1 || (node.arguments[0].type !== 'Literal' && (node.arguments[0].type !== 'TemplateLiteral' || node.arguments[0].expressions.length > 0) ) ) return; // TODO handle these weird cases? if ( ignoreRequire( node.arguments[0].value ) ) return; return true; } function getRequired ( node, name ) { const source = node.arguments[0].type === 'Literal' ? node.arguments[0].value : node.arguments[0].quasis[0].value.cooked; const existing = required[ source ]; if ( existing === undefined ) { sources.push( source ); if ( !name ) { do name = `require$$${uid++}`; while ( scope.contains( name ) ); } required[ source ] = { source, name, importsDefault: false }; } return required[ source ]; } // do a first pass, see which names are assigned to. This is necessary to prevent // illegally replacing `var foo = require('foo')` with `import foo from 'foo'`, // where `foo` is later reassigned. (This happens in the wild. CommonJS, sigh) const assignedTo = new Set(); walk( ast, { enter ( node ) { if ( node.type !== 'AssignmentExpression' ) return; if ( node.left.type === 'MemberExpression' ) return; extractNames( node.left ).forEach( name => { assignedTo.add( name ); }); } }); walk( ast, { enter ( node, parent ) { if ( sourceMap ) { magicString.addSourcemapLocation( node.start ); magicString.addSourcemapLocation( node.end ); } // skip dead branches if ( parent && ( parent.type === 'IfStatement' || parent.type === 'ConditionalExpression' ) ) { if ( node === parent.consequent && isFalsy( parent.test ) ) return this.skip(); if ( node === parent.alternate && isTruthy( parent.test ) ) return this.skip(); } if ( node._skip ) return this.skip(); programDepth += 1; if ( node.scope ) scope = node.scope; if ( /^Function/.test( node.type ) ) lexicalDepth += 1; // if toplevel return, we need to wrap it if ( node.type === 'ReturnStatement' && lexicalDepth === 0 ) { shouldWrap = true; } // rewrite `this` as `commonjsHelpers.commonjsGlobal` if ( node.type === 'ThisExpression' && lexicalDepth === 0 ) { uses.global = true; if ( !ignoreGlobal ) magicString.overwrite( node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, { storeName: true } ); return; } // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151) if ( node.type === 'UnaryExpression' && node.operator === 'typeof' ) { const flattened = flatten( node.argument ); if ( !flattened ) return; if ( scope.contains( flattened.name ) ) return; if ( flattened.keypath === 'module.exports' || flattened.keypath === 'module' || flattened.keypath === 'exports' ) { magicString.overwrite( node.start, node.end, `'object'`, { storeName: false } ); } } // rewrite `require` (if not already handled) `global` and `define`, and handle free references to // `module` and `exports` as these mean we need to wrap the module in commonjsHelpers.createCommonjsModule if ( node.type === 'Identifier' ) { if ( isReference( node, parent ) && !scope.contains( node.name ) ) { if ( node.name in uses ) { if ( node.name === 'require' ) { if ( allowDynamicRequire ) return; magicString.overwrite( node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, { storeName: true } ); } uses[ node.name ] = true; if ( node.name === 'global' && !ignoreGlobal ) { magicString.overwrite( node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, { storeName: true } ); } // if module or exports are used outside the context of an assignment // expression, we need to wrap the module if ( node.name === 'module' || node.name === 'exports' ) { shouldWrap = true; } } if ( node.name === 'define' ) { magicString.overwrite( node.start, node.end, 'undefined', { storeName: true } ); } globals.add( node.name ); } return; } // Is this an assignment to exports or module.exports? if ( node.type === 'AssignmentExpression' ) { if ( node.left.type !== 'MemberExpression' ) return; const flattened = flatten( node.left ); if ( !flattened ) return; if ( scope.contains( flattened.name ) ) return; const match = exportsPattern.exec( flattened.keypath ); if ( !match || flattened.keypath === 'exports' ) return; uses[ flattened.name ] = true; // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` – // if this isn't top-level, we'll need to wrap the module if ( programDepth > 3 ) shouldWrap = true; node.left._skip = true; if ( flattened.keypath === 'module.exports' && node.right.type === 'ObjectExpression' ) { return node.right.properties.forEach( prop => { if ( prop.computed || prop.key.type !== 'Identifier' ) return; const name = prop.key.name; if ( name === makeLegalIdentifier( name ) ) namedExports[ name ] = true; }); } if ( match[1] ) namedExports[ match[1] ] = true; return; } // if this is `var x = require('x')`, we can do `import x from 'x'` if ( node.type === 'VariableDeclarator' && node.id.type === 'Identifier' && isRequireStatement( node.init ) ) { // for now, only do this for top-level requires. maybe fix this in future if ( scope.parent ) return; // edge case — CJS allows you to assign to imports. ES doesn't if ( assignedTo.has( node.id.name ) ) return; const r = getRequired( node.init, node.id.name ); r.importsDefault = true; if ( r.name === node.id.name ) { node._shouldRemove = true; } } if ( !isRequireStatement( node ) ) return; const r = getRequired( node ); if ( parent.type === 'ExpressionStatement' ) { // is a bare import, e.g. `require('foo');` magicString.remove( parent.start, parent.end ); } else { r.importsDefault = true; magicString.overwrite( node.start, node.end, r.name ); } node.callee._skip = true; }, leave ( node ) { programDepth -= 1; if ( node.scope ) scope = scope.parent; if ( /^Function/.test( node.type ) ) lexicalDepth -= 1; if ( node.type === 'VariableDeclaration' ) { let keepDeclaration = false; let c = node.declarations[0].start; for ( let i = 0; i < node.declarations.length; i += 1 ) { const declarator = node.declarations[i]; if ( declarator._shouldRemove ) { magicString.remove( c, declarator.end ); } else { if ( !keepDeclaration ) { magicString.remove( c, declarator.start ); keepDeclaration = true; } c = declarator.end; } } if ( !keepDeclaration ) { magicString.remove( node.start, node.end ); } } } }); if ( !sources.length && !uses.module && !uses.exports && !uses.require && ( ignoreGlobal || !uses.global ) ) { if ( Object.keys( namedExports ).length ) { throw new Error( `Custom named exports were specified for ${id} but it does not appear to be a CommonJS module` ); } return null; // not a CommonJS module } const includeHelpers = shouldWrap || uses.global || uses.require; const importBlock = ( includeHelpers ? [ `import * as ${HELPERS_NAME} from '${HELPERS_ID}';` ] : [] ).concat( sources.map( source => { // import the actual module before the proxy, so that we know // what kind of proxy to build return `import '${source}';`; }), sources.map( source => { const { name, importsDefault } = required[ source ]; return `import ${importsDefault ? `${name} from ` : ``}'${PREFIX}${source}';`; }) ).join( '\n' ) + '\n\n'; const namedExportDeclarations = []; let wrapperStart = ''; let wrapperEnd = ''; const moduleName = deconflict( scope, globals, getName( id ) ); if ( !isEntry ) { const exportModuleExports = { str: `export { ${moduleName} as __moduleExports };`, name: '__moduleExports' }; namedExportDeclarations.push( exportModuleExports ); } const name = getName( id ); function addExport ( x ) { const deconflicted = deconflict( scope, globals, name ); const declaration = deconflicted === name ? `export var ${x} = ${moduleName}.${x};` : `var ${deconflicted} = ${moduleName}.${x};\nexport { ${deconflicted} as ${x} };`; namedExportDeclarations.push({ str: declaration, name: x }); } if ( customNamedExports ) customNamedExports.forEach( addExport ); const defaultExportPropertyAssignments = []; let hasDefaultExport = false; if ( shouldWrap ) { const args = `module${uses.exports ? ', exports' : ''}`; wrapperStart = `var ${moduleName} = ${HELPERS_NAME}.createCommonjsModule(function (${args}) {\n`; wrapperEnd = `\n});`; } else { const names = []; ast.body.forEach( node => { if ( node.type === 'ExpressionStatement' && node.expression.type === 'AssignmentExpression' ) { const left = node.expression.left; const flattened = flatten( left ); if ( !flattened ) return; const match = exportsPattern.exec( flattened.keypath ); if ( !match ) return; if ( flattened.keypath === 'module.exports' ) { hasDefaultExport = true; magicString.overwrite( left.start, left.end, `var ${moduleName}` ); } else { const name = match[1]; const deconflicted = deconflict( scope, globals, name ); names.push({ name, deconflicted }); magicString.overwrite( node.start, left.end, `var ${deconflicted}` ); const declaration = name === deconflicted ? `export { ${name} };` : `export { ${deconflicted} as ${name} };`; if ( name !== 'default' ) { namedExportDeclarations.push({ str: declaration, name }); delete namedExports[name]; } defaultExportPropertyAssignments.push( `${moduleName}.${name} = ${deconflicted};` ); } } }); if ( !hasDefaultExport ) { wrapperEnd = `\n\nvar ${moduleName} = {\n${ names.map( ({ name, deconflicted }) => `\t${name}: ${deconflicted}` ).join( ',\n' ) }\n};`; } } Object.keys( namedExports ) .filter( key => !blacklist[ key ] ) .forEach( addExport ); const defaultExport = /__esModule/.test( code ) ? `export default ${HELPERS_NAME}.unwrapExports(${moduleName});` : `export default ${moduleName};`; const named = namedExportDeclarations .filter( x => x.name !== 'default' || !hasDefaultExport ) .map( x => x.str ); const exportBlock = '\n\n' + [ defaultExport ] .concat( named ) .concat( hasDefaultExport ? defaultExportPropertyAssignments : [] ) .join( '\n' ); magicString.trim() .prepend( importBlock + wrapperStart ) .trim() .append( wrapperEnd + exportBlock ); code = magicString.toString(); const map = sourceMap ? magicString.generateMap() : null; return { code, map }; } rollup-plugin-commonjs-8.3.0/src/utils.js000066400000000000000000000005761323266540600204620ustar00rootroot00000000000000import { basename, extname, dirname, sep } from 'path'; import { makeLegalIdentifier } from 'rollup-pluginutils'; export function getName ( id ) { const name = makeLegalIdentifier( basename( id, extname( id ) ) ); if (name !== 'index') { return name; } else { const segments = dirname( id ).split( sep ); return makeLegalIdentifier( segments[segments.length - 1] ); } } rollup-plugin-commonjs-8.3.0/test/000077500000000000000000000000001323266540600171445ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/000077500000000000000000000000001323266540600201075ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/async-function/000077500000000000000000000000001323266540600230475ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/async-function/input.js000066400000000000000000000000611323266540600245410ustar00rootroot00000000000000module.exports = async function () { // TODO }; rollup-plugin-commonjs-8.3.0/test/form/async-function/output.js000066400000000000000000000001501323266540600247410ustar00rootroot00000000000000var input = async function () { // TODO }; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/constant-template-literal/000077500000000000000000000000001323266540600252035ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/constant-template-literal/input.js000066400000000000000000000000551323266540600267000ustar00rootroot00000000000000var foo = require(`tape`); console.log(foo); rollup-plugin-commonjs-8.3.0/test/form/constant-template-literal/output.js000066400000000000000000000002301323266540600270740ustar00rootroot00000000000000import 'tape'; import foo from 'commonjs-proxy:tape'; console.log(foo); var input = { }; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/dynamic-template-literal/000077500000000000000000000000001323266540600247765ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/dynamic-template-literal/input.js000066400000000000000000000000771323266540600264770ustar00rootroot00000000000000var pe = 'pe'; var foo = require(`ta${pe}`); console.log(foo); rollup-plugin-commonjs-8.3.0/test/form/dynamic-template-literal/output.js000066400000000000000000000003331323266540600266730ustar00rootroot00000000000000import * as commonjsHelpers from 'commonjsHelpers'; var pe = 'pe'; var foo = commonjsHelpers.commonjsRequire(`ta${pe}`); console.log(foo); var input = { }; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/ignore-ids-function/000077500000000000000000000000001323266540600237725ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/ignore-ids-function/_config.js000066400000000000000000000001011323266540600257240ustar00rootroot00000000000000module.exports = { options: { ignore: id => id === 'foo' } };rollup-plugin-commonjs-8.3.0/test/form/ignore-ids-function/input.js000066400000000000000000000000671323266540600254720ustar00rootroot00000000000000var foo = require( 'foo' ); var bar = require( 'bar' );rollup-plugin-commonjs-8.3.0/test/form/ignore-ids-function/output.js000066400000000000000000000002371323266540600256720ustar00rootroot00000000000000import 'bar'; import bar from 'commonjs-proxy:bar'; var foo = require( 'foo' ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.3.0/test/form/ignore-ids/000077500000000000000000000000001323266540600221475ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/ignore-ids/_config.js000066400000000000000000000000701323266540600241060ustar00rootroot00000000000000module.exports = { options: { ignore: [ 'foo' ] } };rollup-plugin-commonjs-8.3.0/test/form/ignore-ids/input.js000066400000000000000000000000671323266540600236470ustar00rootroot00000000000000var foo = require( 'foo' ); var bar = require( 'bar' );rollup-plugin-commonjs-8.3.0/test/form/ignore-ids/output.js000066400000000000000000000002371323266540600240470ustar00rootroot00000000000000import 'bar'; import bar from 'commonjs-proxy:bar'; var foo = require( 'foo' ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations-b/000077500000000000000000000000001323266540600254155ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations-b/input.js000066400000000000000000000000701323266540600271070ustar00rootroot00000000000000var a = require('./a') , b = 42; console.log( a, b );rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations-b/output.js000066400000000000000000000002431323266540600273120ustar00rootroot00000000000000import './a'; import a from 'commonjs-proxy:./a'; var b = 42; console.log( a, b ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations-c/000077500000000000000000000000001323266540600254165ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations-c/input.js000066400000000000000000000001121323266540600271050ustar00rootroot00000000000000var a = 'a' , b = require( './b' ) , c = 'c'; console.log( a, b, c );rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations-c/output.js000066400000000000000000000002631323266540600273150ustar00rootroot00000000000000import './b'; import b from 'commonjs-proxy:./b'; var a = 'a' , c = 'c'; console.log( a, b, c ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations/000077500000000000000000000000001323266540600251765ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations/input.js000066400000000000000000000001061323266540600266700ustar00rootroot00000000000000var a = require('./a')() , b = require('./b'); console.log( a, b );rollup-plugin-commonjs-8.3.0/test/form/multiple-var-declarations/output.js000066400000000000000000000003501323266540600270720ustar00rootroot00000000000000import './a'; import './b'; import require$$0 from 'commonjs-proxy:./a'; import b from 'commonjs-proxy:./b'; var a = require$$0(); console.log( a, b ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-function-double-assign/000077500000000000000000000000001323266540600314225ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-function-double-assign/input.js000066400000000000000000000000641323266540600331170ustar00rootroot00000000000000var bar; module.exports = bar = function foo () {}; rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-function-double-assign/output.js000066400000000000000000000001531323266540600333170ustar00rootroot00000000000000var bar; var input = bar = function foo () {}; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-function/000077500000000000000000000000001323266540600266705ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-function/input.js000066400000000000000000000000451323266540600303640ustar00rootroot00000000000000module.exports = function foo () {}; rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-function/output.js000066400000000000000000000001341323266540600305640ustar00rootroot00000000000000var input = function foo () {}; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-iife/000077500000000000000000000000001323266540600257575ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-iife/input.js000066400000000000000000000001131323266540600274470ustar00rootroot00000000000000module.exports = (function foo () { return function fooChild() {}; }()); rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export-iife/output.js000066400000000000000000000002021323266540600276470ustar00rootroot00000000000000var input = (function foo () { return function fooChild() {}; }()); export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export/000077500000000000000000000000001323266540600250455ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export/input.js000066400000000000000000000000251323266540600265370ustar00rootroot00000000000000module.exports = 42; rollup-plugin-commonjs-8.3.0/test/form/optimised-default-export/output.js000066400000000000000000000001141323266540600267370ustar00rootroot00000000000000var input = 42; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/optimised-named-export-conflicts/000077500000000000000000000000001323266540600264675ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/optimised-named-export-conflicts/input.js000066400000000000000000000001101323266540600301540ustar00rootroot00000000000000var foo = 1; var bar = 2; exports.foo = 'a'; module.exports.bar = 'b'; rollup-plugin-commonjs-8.3.0/test/form/optimised-named-export-conflicts/output.js000066400000000000000000000003261323266540600303660ustar00rootroot00000000000000var foo = 1; var bar = 2; var foo_1 = 'a'; var bar_1 = 'b'; var input = { foo: foo_1, bar: bar_1 }; export default input; export { input as __moduleExports }; export { foo_1 as foo }; export { bar_1 as bar }; rollup-plugin-commonjs-8.3.0/test/form/optimised-named-export/000077500000000000000000000000001323266540600245055ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/optimised-named-export/input.js000066400000000000000000000000551323266540600262020ustar00rootroot00000000000000exports.foo = 'a'; module.exports.bar = 'b'; rollup-plugin-commonjs-8.3.0/test/form/optimised-named-export/output.js000066400000000000000000000002411323266540600264000ustar00rootroot00000000000000var foo = 'a'; var bar = 'b'; var input = { foo: foo, bar: bar }; export default input; export { input as __moduleExports }; export { foo }; export { bar }; rollup-plugin-commonjs-8.3.0/test/form/require-collision/000077500000000000000000000000001323266540600235545ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/require-collision/input.js000066400000000000000000000001371323266540600252520ustar00rootroot00000000000000(function() { var foo = require("foo"); var require$$0 = "FAIL"; console.log(foo); })(); rollup-plugin-commonjs-8.3.0/test/form/require-collision/output.js000066400000000000000000000003461323266540600254550ustar00rootroot00000000000000import 'foo'; import require$$1 from 'commonjs-proxy:foo'; (function() { var foo = require$$1; var require$$0 = "FAIL"; console.log(foo); })(); var input = { }; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/typeof-module-exports/000077500000000000000000000000001323266540600244025ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/typeof-module-exports/input.js000066400000000000000000000003541323266540600261010ustar00rootroot00000000000000var foo = 42; if ( typeof exports === 'object' && typeof module === 'object' ) { module.exports = foo; } else if ( typeof define === 'function' && define.amd ) { define([], function () { return foo; }); } else { window.foo = foo; } rollup-plugin-commonjs-8.3.0/test/form/typeof-module-exports/output.js000066400000000000000000000006551323266540600263060ustar00rootroot00000000000000import * as commonjsHelpers from 'commonjsHelpers'; var input = commonjsHelpers.createCommonjsModule(function (module, exports) { var foo = 42; if ( 'object' === 'object' && 'object' === 'object' ) { module.exports = foo; } else if ( typeof undefined === 'function' && undefined.amd ) { undefined([], function () { return foo; }); } else { window.foo = foo; } }); export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-default-export/000077500000000000000000000000001323266540600263575ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-default-export/input.js000066400000000000000000000000531323266540600300520ustar00rootroot00000000000000require( './foo.js' ); export default {}; rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-default-export/output.js000066400000000000000000000000531323266540600302530ustar00rootroot00000000000000require( './foo.js' ); export default {}; rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-import/000077500000000000000000000000001323266540600247265ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-import/input.js000066400000000000000000000000531323266540600264210ustar00rootroot00000000000000require( './foo.js' ); import './bar.js'; rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-import/output.js000066400000000000000000000000531323266540600266220ustar00rootroot00000000000000require( './foo.js' ); import './bar.js'; rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-named-export/000077500000000000000000000000001323266540600260175ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-named-export/input.js000066400000000000000000000000431323266540600275110ustar00rootroot00000000000000require( './foo.js' ); export {}; rollup-plugin-commonjs-8.3.0/test/form/unambiguous-with-named-export/output.js000066400000000000000000000000431323266540600277120ustar00rootroot00000000000000require( './foo.js' ); export {}; rollup-plugin-commonjs-8.3.0/test/function/000077500000000000000000000000001323266540600207715ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/__esModule/000077500000000000000000000000001323266540600230445ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/__esModule/answer.js000066400000000000000000000000601323266540600246750ustar00rootroot00000000000000exports.__esModule = true; exports.answer = 42; rollup-plugin-commonjs-8.3.0/test/function/__esModule/main.js000066400000000000000000000002251323266540600243250ustar00rootroot00000000000000import * as x from './answer'; assert.ok( 'answer' in x ); assert.ok( 'default' in x ); // TODO is this right? assert.ok( !( '__esModule' in x ) ); rollup-plugin-commonjs-8.3.0/test/function/assign-properties-to-default-export/000077500000000000000000000000001323266540600300305ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/assign-properties-to-default-export/foo.js000066400000000000000000000001161323266540600311470ustar00rootroot00000000000000var foo = {}; module.exports = foo; module.exports.bar = 1; exports.baz = 2; rollup-plugin-commonjs-8.3.0/test/function/assign-properties-to-default-export/main.js000066400000000000000000000001251323266540600313100ustar00rootroot00000000000000import foo from './foo.js'; assert.equal( foo.bar, 1 ); assert.equal( foo.baz, 2 ); rollup-plugin-commonjs-8.3.0/test/function/assumed-globals/000077500000000000000000000000001323266540600240535ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/assumed-globals/_config.js000066400000000000000000000001001323266540600260040ustar00rootroot00000000000000module.exports = { context: { document: { real: true } } }; rollup-plugin-commonjs-8.3.0/test/function/assumed-globals/document.js000066400000000000000000000001621323266540600262260ustar00rootroot00000000000000if ( typeof document !== 'undefined' ) { module.exports = document; } else { module.exports = { fake: true }; } rollup-plugin-commonjs-8.3.0/test/function/assumed-globals/main.js000066400000000000000000000001241323266540600253320ustar00rootroot00000000000000import document from './document.js'; assert.deepEqual( document, { real: true }); rollup-plugin-commonjs-8.3.0/test/function/bare-import/000077500000000000000000000000001323266540600232125ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/bare-import/bar.js000066400000000000000000000000171323266540600243120ustar00rootroot00000000000000Math.bar = 42; rollup-plugin-commonjs-8.3.0/test/function/bare-import/foo.js000066400000000000000000000000271323266540600243320ustar00rootroot00000000000000require( './bar.js' ); rollup-plugin-commonjs-8.3.0/test/function/bare-import/main.js000066400000000000000000000000621323266540600244720ustar00rootroot00000000000000import './foo.js'; assert.equal( Math.bar, 42 ); rollup-plugin-commonjs-8.3.0/test/function/basic/000077500000000000000000000000001323266540600220525ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/basic/_config.js000066400000000000000000000001641323266540600240150ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 42 ); } }; rollup-plugin-commonjs-8.3.0/test/function/basic/foo.js000066400000000000000000000000251323266540600231700ustar00rootroot00000000000000module.exports = 21; rollup-plugin-commonjs-8.3.0/test/function/basic/main.js000066400000000000000000000000701323266540600233310ustar00rootroot00000000000000var foo = require( './foo' ); module.exports = foo * 2; rollup-plugin-commonjs-8.3.0/test/function/deconflict-export-and-local/000077500000000000000000000000001323266540600262525ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/deconflict-export-and-local/index.js000066400000000000000000000001361323266540600277170ustar00rootroot00000000000000var someValueModule = require('./someValue'); exports.someValue = someValueModule.someValue; rollup-plugin-commonjs-8.3.0/test/function/deconflict-export-and-local/main.js000066400000000000000000000001101323266540600275240ustar00rootroot00000000000000import { someValue } from './index.js'; assert.equal( someValue, 10 ); rollup-plugin-commonjs-8.3.0/test/function/deconflict-export-and-local/someValue.js000066400000000000000000000000301323266540600305410ustar00rootroot00000000000000exports.someValue = 10; rollup-plugin-commonjs-8.3.0/test/function/dot/000077500000000000000000000000001323266540600215575ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/dot/foo.bar.js000066400000000000000000000000321323266540600234360ustar00rootroot00000000000000module.exports = 'fubar'; rollup-plugin-commonjs-8.3.0/test/function/dot/main.js000066400000000000000000000001071323266540600230370ustar00rootroot00000000000000var status = require( './foo.bar' ); assert.equal( status, 'fubar' ); rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports-b/000077500000000000000000000000001323266540600263065ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports-b/main.js000066400000000000000000000000741323266540600275710ustar00rootroot00000000000000import x from './x'; assert.deepEqual( x, { default: 42 });rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports-b/x.js000066400000000000000000000000751323266540600271150ustar00rootroot00000000000000var x = {}; module.exports = x; module.exports.default = 42;rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports-c/000077500000000000000000000000001323266540600263075ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports-c/exports.js000066400000000000000000000001221323266540600303440ustar00rootroot00000000000000exports.Foo = 1; exports.var = 'VAR'; exports.default = { Foo: 2, default: 3 }; rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports-c/main.js000066400000000000000000000005751323266540600276000ustar00rootroot00000000000000import E from './exports.js'; import { Foo } from './exports.js'; import { var as Var } from './exports.js'; assert.strictEqual( E.Foo, 1 ); assert.strictEqual( E.var, 'VAR' ); assert.deepEqual( E.default, { Foo: 2, default: 3 }); assert.strictEqual( E.default.Foo, 2 ); assert.strictEqual( E.default.default, 3 ); assert.strictEqual( Foo, 1 ); assert.strictEqual( Var, 'VAR' ); rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports/000077500000000000000000000000001323266540600260675ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports/main.js000066400000000000000000000000711323266540600273470ustar00rootroot00000000000000import x from './x'; assert.strictEqual( x.default, x );rollup-plugin-commonjs-8.3.0/test/function/duplicate-default-exports/x.js000066400000000000000000000000741323266540600266750ustar00rootroot00000000000000var x = {}; module.exports = x; module.exports.default = x;rollup-plugin-commonjs-8.3.0/test/function/dynamic-require-fails/000077500000000000000000000000001323266540600251635ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/dynamic-require-fails/main.js000066400000000000000000000003121323266540600264410ustar00rootroot00000000000000let message; try { const req = require; req( 'nope' ); } catch ( err ) { message = err.message; } assert.equal( message, 'Dynamic requires are not currently supported by rollup-plugin-commonjs' ); rollup-plugin-commonjs-8.3.0/test/function/exports/000077500000000000000000000000001323266540600224755ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/exports/_config.js000066400000000000000000000001721323266540600244370ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 'BARBAZ' ); } }; rollup-plugin-commonjs-8.3.0/test/function/exports/foo.js000066400000000000000000000000521323266540600236130ustar00rootroot00000000000000exports.bar = 'BAR'; exports.baz = 'BAZ'; rollup-plugin-commonjs-8.3.0/test/function/exports/main.js000066400000000000000000000001411323266540600237530ustar00rootroot00000000000000var bar = require( './foo' ).bar; var baz = require( './foo' ).baz; module.exports = bar + baz; rollup-plugin-commonjs-8.3.0/test/function/external-imports/000077500000000000000000000000001323266540600243065ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/external-imports/_config.js000066400000000000000000000002351323266540600262500ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { options: { external: [ 'foo' ] }, exports: exports => { assert.equal( exports, 'foo' ); } }; rollup-plugin-commonjs-8.3.0/test/function/external-imports/main.js000066400000000000000000000000631323266540600255670ustar00rootroot00000000000000var foo = require( 'foo' ); module.exports = foo; rollup-plugin-commonjs-8.3.0/test/function/fallback-no-default/000077500000000000000000000000001323266540600245645ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/fallback-no-default/foo.js000066400000000000000000000000511323266540600257010ustar00rootroot00000000000000export var one = 1; export var two = 2; rollup-plugin-commonjs-8.3.0/test/function/fallback-no-default/main.js000066400000000000000000000001301323266540600260400ustar00rootroot00000000000000var foo = require('./foo.js'); assert.equal( foo.one, 1 ); assert.equal( foo.two, 2 ); rollup-plugin-commonjs-8.3.0/test/function/global-not-overwritten/000077500000000000000000000000001323266540600254155ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/global-not-overwritten/_config.js000066400000000000000000000002471323266540600273620ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: function ( exports ) { assert.equal( exports.encoded, encodeURIComponent( 'test string' ) ); } }; rollup-plugin-commonjs-8.3.0/test/function/global-not-overwritten/encode.js000066400000000000000000000002141323266540600272050ustar00rootroot00000000000000exports.encodeURIComponent = function () { return encodeURIComponent( this.str ); }; global.foo = exports; // to ensure module is wrapped rollup-plugin-commonjs-8.3.0/test/function/global-not-overwritten/main.js000066400000000000000000000002331323266540600266750ustar00rootroot00000000000000import { encodeURIComponent } from './encode.js'; var foo = { str: 'test string', encodeURIComponent }; export var encoded = foo.encodeURIComponent(); rollup-plugin-commonjs-8.3.0/test/function/global-var/000077500000000000000000000000001323266540600230175ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/global-var/main.js000066400000000000000000000003041323266540600242760ustar00rootroot00000000000000function foo () { var a = 1, global = {}; global.modified = true; return global; } var notGlobal = foo(); assert.ok( notGlobal.modified ); assert.ok( !global.modified ); module.exports = {}; rollup-plugin-commonjs-8.3.0/test/function/index/000077500000000000000000000000001323266540600221005ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/index/foo/000077500000000000000000000000001323266540600226635ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/index/foo/index.js000066400000000000000000000000251323266540600243250ustar00rootroot00000000000000module.exports = 42; rollup-plugin-commonjs-8.3.0/test/function/index/main.js000066400000000000000000000000701323266540600233570ustar00rootroot00000000000000var foo = require( './foo' ); assert.equal( foo, 42 ); rollup-plugin-commonjs-8.3.0/test/function/inline/000077500000000000000000000000001323266540600222475ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/inline/_config.js000066400000000000000000000001651323266540600242130ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports(), 2 ); } }; rollup-plugin-commonjs-8.3.0/test/function/inline/foo.js000066400000000000000000000000241323266540600233640ustar00rootroot00000000000000module.exports = 1; rollup-plugin-commonjs-8.3.0/test/function/inline/main.js000066400000000000000000000001341323266540600235270ustar00rootroot00000000000000module.exports = function () { return require( './multiply' )( 2, require( './foo' ) ); }; rollup-plugin-commonjs-8.3.0/test/function/inline/multiply.js000066400000000000000000000000671323266540600244670ustar00rootroot00000000000000module.exports = function ( a, b ) { return a * b; }; rollup-plugin-commonjs-8.3.0/test/function/named-exports/000077500000000000000000000000001323266540600235575ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/named-exports/foo.js000066400000000000000000000000451323266540600246770ustar00rootroot00000000000000exports.a = 1; module.exports.b = 2; rollup-plugin-commonjs-8.3.0/test/function/named-exports/main.js000066400000000000000000000001161323266540600250370ustar00rootroot00000000000000import { a, b } from './foo.js'; assert.equal( a, 1 ); assert.equal( b, 2 ); rollup-plugin-commonjs-8.3.0/test/function/ordering/000077500000000000000000000000001323266540600226025ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/ordering/bar.js000066400000000000000000000001051323266540600237000ustar00rootroot00000000000000var shared = require('./shared'); module.exports = shared.fooLoaded rollup-plugin-commonjs-8.3.0/test/function/ordering/foo.js000066400000000000000000000001301323266540600237150ustar00rootroot00000000000000var shared = require('./shared'); // Mutate the shared module shared.fooLoaded = true; rollup-plugin-commonjs-8.3.0/test/function/ordering/main.js000066400000000000000000000001161323266540600240620ustar00rootroot00000000000000require('./foo'); var fooLoaded = require('./bar'); assert.ok( fooLoaded ); rollup-plugin-commonjs-8.3.0/test/function/ordering/shared.js000066400000000000000000000000501323266540600244010ustar00rootroot00000000000000module.exports = { fooLoaded: false }; rollup-plugin-commonjs-8.3.0/test/function/react-apollo/000077500000000000000000000000001323266540600233535ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/react-apollo/commonjs-bar.js000066400000000000000000000001251323266540600262760ustar00rootroot00000000000000function Bar () { this.x = 42; } exports.__esModule = true; exports.default = Bar; rollup-plugin-commonjs-8.3.0/test/function/react-apollo/commonjs-foo.js000066400000000000000000000001361323266540600263170ustar00rootroot00000000000000var Bar = require( './commonjs-bar' ); exports.__esModule = true; exports.Bar = Bar.default; rollup-plugin-commonjs-8.3.0/test/function/react-apollo/main.js000066400000000000000000000001131323266540600246300ustar00rootroot00000000000000import { Bar } from './commonjs-foo.js'; assert.equal( new Bar().x, 42 ); rollup-plugin-commonjs-8.3.0/test/function/reassignment/000077500000000000000000000000001323266540600234705ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/reassignment/foo.js000066400000000000000000000001011323266540600246010ustar00rootroot00000000000000function foo () {} foo.something = false; module.exports = foo; rollup-plugin-commonjs-8.3.0/test/function/reassignment/main.js000066400000000000000000000002241323266540600247500ustar00rootroot00000000000000var foo = require( './foo.js' ); if ( !foo.something ) { foo = function somethingElse () {} foo.something = true; } assert.ok( foo.something ); rollup-plugin-commonjs-8.3.0/test/function/reexports/000077500000000000000000000000001323266540600230245ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/reexports/_config.js000066400000000000000000000002321323266540600247630ustar00rootroot00000000000000const path = require( 'path' ); module.exports = { pluginOptions: { namedExports: { [ path.resolve( __dirname, 'foo.js' ) ]: [ 'named' ] } } }; rollup-plugin-commonjs-8.3.0/test/function/reexports/bar.js000066400000000000000000000000241323266540600241220ustar00rootroot00000000000000exports.named = 42; rollup-plugin-commonjs-8.3.0/test/function/reexports/foo.js000066400000000000000000000000501323266540600241400ustar00rootroot00000000000000module.exports = require( './bar.js' ); rollup-plugin-commonjs-8.3.0/test/function/reexports/main.js000066400000000000000000000000761323266540600243110ustar00rootroot00000000000000import { named } from './foo.js'; assert.equal( named, 42 ); rollup-plugin-commonjs-8.3.0/test/function/shadowing/000077500000000000000000000000001323266540600227545ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/shadowing/main.js000066400000000000000000000003011323266540600242300ustar00rootroot00000000000000function foo ( require ) { require( 'not-an-actual-require-statement' ); } var result; foo( function ( msg ) { result = msg; }); assert.equal( result, 'not-an-actual-require-statement' ); rollup-plugin-commonjs-8.3.0/test/function/skips-dead-branches/000077500000000000000000000000001323266540600246005ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/skips-dead-branches/_config.js000066400000000000000000000003001323266540600265330ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { global: global => { assert.equal( global.a, undefined ); assert.equal( global.b, 2 ); assert.equal( global.c, undefined ); } }; rollup-plugin-commonjs-8.3.0/test/function/skips-dead-branches/a.js000066400000000000000000000000161323266540600253530ustar00rootroot00000000000000global.a = 1; rollup-plugin-commonjs-8.3.0/test/function/skips-dead-branches/b.js000066400000000000000000000000441323266540600253550ustar00rootroot00000000000000global.b = 2; module.exports = 'b'; rollup-plugin-commonjs-8.3.0/test/function/skips-dead-branches/c.js000066400000000000000000000000441323266540600253560ustar00rootroot00000000000000global.c = 3; module.exports = 'c'; rollup-plugin-commonjs-8.3.0/test/function/skips-dead-branches/main.js000066400000000000000000000002061323266540600260600ustar00rootroot00000000000000if ( 'development' === 'production' ) { require( './a.js' ); } module.exports = true ? require( './b.js' ) : require( './c.js' ); rollup-plugin-commonjs-8.3.0/test/function/this/000077500000000000000000000000001323266540600217405ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/this/foo.js000066400000000000000000000001141323266540600230550ustar00rootroot00000000000000module.exports = function augmentThis () { this.x = 'x'; }; this.y = 'y'; rollup-plugin-commonjs-8.3.0/test/function/this/main.js000066400000000000000000000001701323266540600232200ustar00rootroot00000000000000var foo = require( './foo' ); var obj = {}; foo.call( obj ); assert.equal( obj.x, 'x' ); assert.equal( this.y, 'y' ); rollup-plugin-commonjs-8.3.0/test/function/toplevel-return-complex/000077500000000000000000000000001323266540600256055ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/toplevel-return-complex/_config.js000066400000000000000000000001701323266540600275450ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 'bar' ); } }; rollup-plugin-commonjs-8.3.0/test/function/toplevel-return-complex/bar.js000066400000000000000000000000611323266540600267040ustar00rootroot00000000000000module.exports = function () { return true; }; rollup-plugin-commonjs-8.3.0/test/function/toplevel-return-complex/foo.js000066400000000000000000000001451323266540600267260ustar00rootroot00000000000000var bar = require('./bar'); module.exports = 'bar'; if (bar()) { return; } module.exports = 'foo'; rollup-plugin-commonjs-8.3.0/test/function/toplevel-return-complex/main.js000066400000000000000000000000631323266540600270660ustar00rootroot00000000000000var foo = require('./foo'); module.exports = foo; rollup-plugin-commonjs-8.3.0/test/function/toplevel-return/000077500000000000000000000000001323266540600241405ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/toplevel-return/_config.js000066400000000000000000000001671323266540600261060ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 'foo' ); } }; rollup-plugin-commonjs-8.3.0/test/function/toplevel-return/foo.js000066400000000000000000000000401323266540600252530ustar00rootroot00000000000000module.exports = 'foo'; return; rollup-plugin-commonjs-8.3.0/test/function/toplevel-return/main.js000066400000000000000000000000651323266540600254230ustar00rootroot00000000000000var foo = require('./foo'); module.exports = 'foo'; rollup-plugin-commonjs-8.3.0/test/function/trailing-slash/000077500000000000000000000000001323266540600237125ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/trailing-slash/foo/000077500000000000000000000000001323266540600244755ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/trailing-slash/foo/index.js000066400000000000000000000000251323266540600261370ustar00rootroot00000000000000module.exports = 42; rollup-plugin-commonjs-8.3.0/test/function/trailing-slash/main.js000066400000000000000000000000711323266540600251720ustar00rootroot00000000000000var foo = require( './foo/' ); assert.equal( foo, 42 ); rollup-plugin-commonjs-8.3.0/test/function/typeof-require/000077500000000000000000000000001323266540600237515ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/function/typeof-require/foo.js000066400000000000000000000001471323266540600250740ustar00rootroot00000000000000if ( typeof require === 'function' && require ) { module.exports = 1; } else { module.exports = 2; } rollup-plugin-commonjs-8.3.0/test/function/typeof-require/main.js000066400000000000000000000000651323266540600252340ustar00rootroot00000000000000import foo from './foo.js'; assert.equal( foo, 1 ); rollup-plugin-commonjs-8.3.0/test/node_modules/000077500000000000000000000000001323266540600216215ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/node_modules/.gitkeep000066400000000000000000000000001323266540600232400ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/node_modules/bar/000077500000000000000000000000001323266540600223655ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/node_modules/bar/index.js000066400000000000000000000001121323266540600240240ustar00rootroot00000000000000const baz = require('baz'); module.exports = function () { return baz; };rollup-plugin-commonjs-8.3.0/test/node_modules/baz/000077500000000000000000000000001323266540600223755ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/node_modules/baz/index.js000066400000000000000000000000311323266540600240340ustar00rootroot00000000000000module.exports = 'hello';rollup-plugin-commonjs-8.3.0/test/node_modules/external/000077500000000000000000000000001323266540600234435ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/node_modules/external/index.js000066400000000000000000000000751323266540600251120ustar00rootroot00000000000000var externalLib = exports; externalLib.message = 'it works'; rollup-plugin-commonjs-8.3.0/test/node_modules/foo/000077500000000000000000000000001323266540600224045ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/node_modules/foo/index.js000066400000000000000000000000271323266540600240500ustar00rootroot00000000000000module.exports = 'foo';rollup-plugin-commonjs-8.3.0/test/samples/000077500000000000000000000000001323266540600206105ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/corejs/000077500000000000000000000000001323266540600220755ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/corejs/literal-with-default.js000066400000000000000000000000721323266540600264610ustar00rootroot00000000000000module.exports = { default: 'foobar', __esModule: true }; rollup-plugin-commonjs-8.3.0/test/samples/custom-named-exports-false-positive/000077500000000000000000000000001323266540600276365ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/custom-named-exports-false-positive/main.js000066400000000000000000000001021323266540600311110ustar00rootroot00000000000000import { thing } from './other.js'; assert.equal( thing, 'yes' ); rollup-plugin-commonjs-8.3.0/test/samples/custom-named-exports-false-positive/other.js000066400000000000000000000001451323266540600313150ustar00rootroot00000000000000/* require (https://github.com/rollup/rollup-plugin-commonjs/issues/36) */ export var thing = 'yes'; rollup-plugin-commonjs-8.3.0/test/samples/custom-named-exports/000077500000000000000000000000001323266540600247065ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/custom-named-exports/main.js000066400000000000000000000002311323266540600261640ustar00rootroot00000000000000import { named } from './secret-named-exporter.js'; import { message } from 'external'; assert.equal( named, 42 ); assert.equal( message, 'it works' ); rollup-plugin-commonjs-8.3.0/test/samples/custom-named-exports/secret-named-exporter.js000066400000000000000000000000471323266540600314620ustar00rootroot00000000000000var myLib = exports; myLib.named = 42; rollup-plugin-commonjs-8.3.0/test/samples/deconflict-helpers/000077500000000000000000000000001323266540600243625ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/deconflict-helpers/main.js000066400000000000000000000001131323266540600256370ustar00rootroot00000000000000var commonjsHelpers = { commonjsGlobal: 'nope' }; module.exports = global; rollup-plugin-commonjs-8.3.0/test/samples/define-is-undefined/000077500000000000000000000000001323266540600244125ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/define-is-undefined/foo.js000066400000000000000000000004171323266540600255350ustar00rootroot00000000000000(function (global, factory) { typeof define === 'function' && define.amd ? define(factory) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : (global.foo = factory()); }(this, (function () { 'use strict'; return 42; }))); rollup-plugin-commonjs-8.3.0/test/samples/define-is-undefined/main.js000066400000000000000000000000601323266540600256700ustar00rootroot00000000000000import foo from './foo.js'; export default 42; rollup-plugin-commonjs-8.3.0/test/samples/es-modules-without-default-export/000077500000000000000000000000001323266540600273275ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/es-modules-without-default-export/main.js000066400000000000000000000000741323266540600306120ustar00rootroot00000000000000const { a } = require('./other.js'); assert.equal( a, 1 ); rollup-plugin-commonjs-8.3.0/test/samples/es-modules-without-default-export/other.js000066400000000000000000000000241323266540600310020ustar00rootroot00000000000000export const a = 1; rollup-plugin-commonjs-8.3.0/test/samples/extension/000077500000000000000000000000001323266540600226245ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/extension/foo.coffee000066400000000000000000000000251323266540600245550ustar00rootroot00000000000000module.exports = 21; rollup-plugin-commonjs-8.3.0/test/samples/extension/main.coffee000066400000000000000000000000701323266540600247160ustar00rootroot00000000000000var foo = require( './foo' ); module.exports = foo * 2; rollup-plugin-commonjs-8.3.0/test/samples/external/000077500000000000000000000000001323266540600224325ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/external/main.js000066400000000000000000000000731323266540600237140ustar00rootroot00000000000000import bar from 'bar'; export default bar().toUpperCase();rollup-plugin-commonjs-8.3.0/test/samples/global-in-if-block/000077500000000000000000000000001323266540600241405ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/global-in-if-block/main.js000066400000000000000000000000761323266540600254250ustar00rootroot00000000000000if (!global.count) { global.count = 0; } global.count += 1; rollup-plugin-commonjs-8.3.0/test/samples/global/000077500000000000000000000000001323266540600220505ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/global/main.js000066400000000000000000000000241323266540600233260ustar00rootroot00000000000000global.foo = 'bar'; rollup-plugin-commonjs-8.3.0/test/samples/ignore-global/000077500000000000000000000000001323266540600233315ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/ignore-global/firstpass.js000066400000000000000000000001571323266540600257100ustar00rootroot00000000000000export var immediate = typeof global.setImmediate === 'function' ? global.setImmediate : global.setTimeout; rollup-plugin-commonjs-8.3.0/test/samples/ignore-global/identifier.js000066400000000000000000000002071323266540600260100ustar00rootroot00000000000000// require (firstpass) export var immediate = typeof global.setImmediate === 'function' ? global.setImmediate : global.setTimeout; rollup-plugin-commonjs-8.3.0/test/samples/ignore-global/main.js000066400000000000000000000002411323266540600246100ustar00rootroot00000000000000export { immediate as immediate1 } from './firstpass'; export { immediate as immediate2 } from './identifier'; export { immediate as immediate3 } from './this'; rollup-plugin-commonjs-8.3.0/test/samples/ignore-global/this.js000066400000000000000000000003411323266540600246340ustar00rootroot00000000000000// require (firstpass) // "this" will be rewritten with "undefined" by rollup export var immediate = typeof this === 'undefined' ? null : typeof this.setImmediate === 'function' ? this.setImmediate : this.setTimeout; rollup-plugin-commonjs-8.3.0/test/samples/multiple-entry-points/000077500000000000000000000000001323266540600251145ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/multiple-entry-points/2.js000066400000000000000000000001071323266540600256110ustar00rootroot00000000000000function second () { console.log('second'); } exports.second = second;rollup-plugin-commonjs-8.3.0/test/samples/multiple-entry-points/3.js000066400000000000000000000001051323266540600256100ustar00rootroot00000000000000function third () { console.log('third'); } exports.third = third; rollup-plugin-commonjs-8.3.0/test/samples/multiple-entry-points/4.js000066400000000000000000000000661323266540600256170ustar00rootroot00000000000000export function fourth () { console.log('fourth'); } rollup-plugin-commonjs-8.3.0/test/samples/multiple-entry-points/b.js000066400000000000000000000001171323266540600256720ustar00rootroot00000000000000import { second } from './2'; import { third } from './3'; second(); third(); rollup-plugin-commonjs-8.3.0/test/samples/multiple-entry-points/c.js000066400000000000000000000001671323266540600257000ustar00rootroot00000000000000import { second } from './2'; import { third } from './3'; import { fourth } from './4'; second(); third(); fourth(); rollup-plugin-commonjs-8.3.0/test/samples/named-exports-from-object-literal/000077500000000000000000000000001323266540600272355ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/named-exports-from-object-literal/a.js000066400000000000000000000000241323266540600300070ustar00rootroot00000000000000module.exports = 1; rollup-plugin-commonjs-8.3.0/test/samples/named-exports-from-object-literal/main.js000066400000000000000000000001511323266540600305140ustar00rootroot00000000000000import { a, b, c } from './other.js'; assert.equal( a, 1 ); assert.equal( b, 2 ); assert.equal( c, 3 ); rollup-plugin-commonjs-8.3.0/test/samples/named-exports-from-object-literal/other.js000066400000000000000000000001461323266540600307150ustar00rootroot00000000000000var a = require( './a.js' ); var b = 2; module.exports = { a: a, b: b, c: a + b, 2: 1 + 1 }; rollup-plugin-commonjs-8.3.0/test/samples/other-transforms/000077500000000000000000000000001323266540600241255ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/other-transforms/bar.js000066400000000000000000000000251323266540600252240ustar00rootroot00000000000000module.exports = 40; rollup-plugin-commonjs-8.3.0/test/samples/other-transforms/foo.js000066400000000000000000000000741323266540600252470ustar00rootroot00000000000000var bar = require( './bar.js' ); module.exports = bar + 1; rollup-plugin-commonjs-8.3.0/test/samples/other-transforms/main.js000066400000000000000000000000661323266540600254110ustar00rootroot00000000000000import foo from './foo.js'; assert.equal( foo, 42 ); rollup-plugin-commonjs-8.3.0/test/samples/paren-expression/000077500000000000000000000000001323266540600241125ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/paren-expression/index.js000066400000000000000000000000271323266540600255560ustar00rootroot00000000000000module.exports = (42); rollup-plugin-commonjs-8.3.0/test/samples/reexport/000077500000000000000000000000001323266540600224605ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/reexport/export.js000066400000000000000000000000231323266540600243320ustar00rootroot00000000000000exports.named = 2; rollup-plugin-commonjs-8.3.0/test/samples/reexport/main.js000066400000000000000000000001001323266540600237310ustar00rootroot00000000000000import { named } from './reexport.js'; assert.equal(named, 2); rollup-plugin-commonjs-8.3.0/test/samples/reexport/reexport.js000066400000000000000000000000511323266540600246620ustar00rootroot00000000000000module.exports = require('./export.js'); rollup-plugin-commonjs-8.3.0/test/samples/rename-index/000077500000000000000000000000001323266540600231645ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/rename-index/invalid-var/000077500000000000000000000000001323266540600254005ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/rename-index/invalid-var/index.js000066400000000000000000000000341323266540600270420ustar00rootroot00000000000000module.exports = 'invalid'; rollup-plugin-commonjs-8.3.0/test/samples/rename-index/main.js000066400000000000000000000002201323266540600244400ustar00rootroot00000000000000import invalid from './invalid-var'; import valid from './validVar'; import other from './other/nonIndex'; console.log(invalid, valid, other); rollup-plugin-commonjs-8.3.0/test/samples/rename-index/other/000077500000000000000000000000001323266540600243055ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/rename-index/other/nonIndex.js000066400000000000000000000000461323266540600264250ustar00rootroot00000000000000module.exports = 'not an index file'; rollup-plugin-commonjs-8.3.0/test/samples/rename-index/validVar/000077500000000000000000000000001323266540600247345ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/rename-index/validVar/index.js000066400000000000000000000000321323266540600263740ustar00rootroot00000000000000module.exports = 'valid'; rollup-plugin-commonjs-8.3.0/test/samples/reserved-as-property/000077500000000000000000000000001323266540600247125ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/reserved-as-property/main.js000066400000000000000000000000371323266540600261740ustar00rootroot00000000000000module.exports.delete = 'foo'; rollup-plugin-commonjs-8.3.0/test/samples/sourcemap/000077500000000000000000000000001323266540600226065ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/sourcemap/foo.js000066400000000000000000000000231323266540600237220ustar00rootroot00000000000000export default 42; rollup-plugin-commonjs-8.3.0/test/samples/sourcemap/main.js000066400000000000000000000000621323266540600240660ustar00rootroot00000000000000var foo = require( './foo' ); console.log( foo ); rollup-plugin-commonjs-8.3.0/test/samples/umd/000077500000000000000000000000001323266540600213755ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/umd/correct-scoping.js000066400000000000000000000001651323266540600250360ustar00rootroot00000000000000if ( typeof require === 'function' ) { module.exports = function ( require ) { return typeof require; }( {} ); } rollup-plugin-commonjs-8.3.0/test/samples/umd/protobuf.js000066400000000000000000000010761323266540600235770ustar00rootroot00000000000000// From https://github.com/rollup/rollup-plugin-commonjs/issues/38 (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) define(["foo"], factory); /* CommonJS */ else if (typeof require === "function" && typeof module === "object" && module && module["exports"]) module["exports"] = factory(require("foo"), true); /* Global */ else (global["dcodeIO"] = global["dcodeIO"] || {})["ProtoBuf"] = factory(global["dcodeIO"]["ByteBuffer"]); })(this, function(ByteBuffer, isCommonJS) { return isCommonJS; }) rollup-plugin-commonjs-8.3.0/test/samples/umd/sinon.js000066400000000000000000000025071323266540600230650ustar00rootroot00000000000000// From https://github.com/rollup/rollup-plugin-commonjs/issues/38 var sinon = (function () { // eslint-disable-line no-unused-vars "use strict"; var sinonModule; var isNode = typeof module !== "undefined" && module.exports && typeof require === "function"; var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd; function loadDependencies(require, exports, module) { sinonModule = module.exports = require("./sinon/util/core"); require("./sinon/extend"); require("./sinon/walk"); require("./sinon/typeOf"); require("./sinon/times_in_words"); require("./sinon/spy"); require("./sinon/call"); require("./sinon/behavior"); require("./sinon/stub"); require("./sinon/mock"); require("./sinon/collection"); require("./sinon/assert"); require("./sinon/sandbox"); require("./sinon/test"); require("./sinon/test_case"); require("./sinon/match"); require("./sinon/format"); require("./sinon/log_error"); } if (isAMD) { define(loadDependencies); } else if (isNode) { loadDependencies(require, module.exports, module); sinonModule = module.exports; } else { sinonModule = {}; } return sinonModule; }()); rollup-plugin-commonjs-8.3.0/test/samples/use-own-output/000077500000000000000000000000001323266540600235435ustar00rootroot00000000000000rollup-plugin-commonjs-8.3.0/test/samples/use-own-output/from-rollup.js000066400000000000000000000001161323266540600263550ustar00rootroot00000000000000Object.defineProperty(exports, '__esModule', { value: true }); exports.x = 10 rollup-plugin-commonjs-8.3.0/test/samples/use-own-output/main.js000066400000000000000000000000621323266540600250230ustar00rootroot00000000000000import * as b from "./from-rollup"; window.b = b; rollup-plugin-commonjs-8.3.0/test/test.js000066400000000000000000000316341323266540600204700ustar00rootroot00000000000000const path = require( 'path' ); const fs = require( 'fs' ); const assert = require( 'assert' ); const relative = require( 'require-relative' ); const { SourceMapConsumer } = require( 'source-map' ); const { getLocator } = require( 'locate-character' ); const { rollup } = require( 'rollup' ); const resolve = require( 'rollup-plugin-node-resolve' ); const commonjs = require( '..' ); require( 'source-map-support' ).install(); process.chdir( __dirname ); function execute ( code, context = {} ) { let fn; const contextKeys = Object.keys( context ); const argNames = contextKeys.concat( 'module', 'exports', 'require', 'global', 'assert', code ); try { fn = new Function( ...argNames ); } catch ( err ) { // syntax error console.log( code ); throw err; } const module = { exports: {} }; const global = {}; const argValues = contextKeys.map( key => context[ key ] ).concat( module, module.exports, name => relative( name, 'test/x.js' ), global, assert ); fn( ...argValues ); return { code, exports: module.exports, global }; } async function executeBundle ( bundle, { context, exports } = {} ) { const options = { format: 'cjs' }; if ( exports ) options.exports = exports; const { code } = await bundle.generate( options ); return execute( code, context ); } describe( 'rollup-plugin-commonjs', () => { describe( 'form', () => { fs.readdirSync( 'form' ).forEach( dir => { let config; try { config = require( `./form/${dir}/_config.js` ); } catch ( err ) { config = {}; } ( config.solo ? it.only : it )( dir, () => { const { transform, options } = commonjs( config.options ); options({ input: 'main.js' }); const input = fs.readFileSync( `form/${dir}/input.js`, 'utf-8' ); const expected = fs.readFileSync( `form/${dir}/output.js`, 'utf-8' ).trim(); return transform( input, 'input.js' ).then( transformed => { const actual = ( transformed ? transformed.code : input ).trim().replace( /\0/g, '' ); assert.equal( actual, expected ); }); }); }); }); describe( 'function', () => { fs.readdirSync( 'function' ).forEach( dir => { let config; try { config = require( `./function/${dir}/_config.js` ); } catch ( err ) { config = {}; } ( config.solo ? it.only : it )( dir, async () => { const options = Object.assign({ input: `function/${dir}/main.js`, plugins: [ commonjs( config.pluginOptions ) ] }, config.options || {} ); const bundle = await rollup( options ); const { code } = await bundle.generate({ format: 'cjs' }); if ( config.show || config.solo ) { console.error( code ); } const { exports, global } = execute( code, config.context ); if ( config.exports ) config.exports( exports ); if ( config.global ) config.global( global ); }); }); }); describe( 'misc tests', () => { // most of these should be moved over to function... it( 'generates a sourcemap', async () => { const bundle = await rollup({ input: 'samples/sourcemap/main.js', plugins: [ commonjs({ sourceMap: true }) ] }); const generated = await bundle.generate({ format: 'cjs', sourcemap: true, sourcemapFile: path.resolve( 'bundle.js' ) }); const smc = new SourceMapConsumer( generated.map ); const locator = getLocator( generated.code, { offsetLine: 1 }); let generatedLoc = locator( '42' ); let loc = smc.originalPositionFor( generatedLoc ); // 42 assert.equal( loc.source, 'foo.js' ); assert.equal( loc.line, 1 ); assert.equal( loc.column, 15 ); generatedLoc = locator( 'log' ); loc = smc.originalPositionFor( generatedLoc ); // log assert.equal( loc.source, 'main.js' ); assert.equal( loc.line, 2 ); assert.equal( loc.column, 8 ); }); it( 'supports multiple entry points for experimentalCodeSplitting', async () => { const bundle = await rollup({ input: [ 'samples/multiple-entry-points/b.js', 'samples/multiple-entry-points/c.js' ], experimentalCodeSplitting: true, plugins: [ commonjs() ] }); const generated = await bundle.generate({ format: 'cjs', }); assert.equal(Object.keys(generated).length, 3); assert.equal(generated.hasOwnProperty('./b.js'), true); assert.equal(generated.hasOwnProperty('./c.js'), true); }); it( 'handles references to `global`', async () => { const bundle = await rollup({ input: 'samples/global/main.js', plugins: [ commonjs() ] }); const generated = await bundle.generate({ format: 'cjs' }); const mockWindow = {}; const mockGlobal = {}; const mockSelf = {}; const fn = new Function ( 'module', 'window', 'global', 'self', generated.code ); fn( {}, mockWindow, mockGlobal, mockSelf); assert.equal( mockWindow.foo, 'bar', generated.code ); assert.equal( mockGlobal.foo, undefined, generated.code ); assert.equal( mockSelf.foo, undefined, generated.code ); fn( {}, undefined, mockGlobal, mockSelf ); assert.equal( mockGlobal.foo, 'bar', generated.code ); assert.equal( mockSelf.foo, undefined, generated.code ); fn( {}, undefined, undefined, mockSelf ); assert.equal( mockSelf.foo, 'bar', generated.code ); }); it( 'handles multiple references to `global`', async () => { const bundle = await rollup({ input: 'samples/global-in-if-block/main.js', plugins: [ commonjs() ] }); const generated = await bundle.generate({ format: 'cjs' }); const fn = new Function ( 'module', 'exports', 'window', generated.code ); const module = { exports: {} }; const window = {}; fn( module, module.exports, window ); assert.equal( window.count, 1 ); fn( module, module.exports, window ); assert.equal( window.count, 2 ); }); it( 'handles transpiled CommonJS modules', async () => { const bundle = await rollup({ input: 'samples/corejs/literal-with-default.js', plugins: [ commonjs() ] }); const generated = await bundle.generate({ format: 'cjs' }); const module = { exports: {} }; const fn = new Function ( 'module', 'exports', generated.code ); fn( module, module.exports ); assert.equal( module.exports, 'foobar', generated.code ); }); it( 'allows named exports to be added explicitly via config', async () => { const bundle = await rollup({ input: 'samples/custom-named-exports/main.js', plugins: [ resolve({ main: true }), commonjs({ namedExports: { 'samples/custom-named-exports/secret-named-exporter.js': [ 'named' ], 'external': [ 'message' ] } }) ] }); await executeBundle( bundle ); }); it( 'ignores false positives with namedExports (#36)', async () => { const bundle = await rollup({ input: 'samples/custom-named-exports-false-positive/main.js', plugins: [ resolve({ main: true }), commonjs({ namedExports: { 'irrelevant': [ 'lol' ] } }) ] }); await executeBundle( bundle ); }); it( 'converts a CommonJS module with custom file extension', async () => { const bundle = await rollup({ input: 'samples/extension/main.coffee', plugins: [ commonjs({ extensions: ['.coffee' ]}) ] }); assert.equal( (await executeBundle( bundle )).exports, 42 ); }); it( 'identifies named exports from object literals', async () => { const bundle = await rollup({ input: 'samples/named-exports-from-object-literal/main.js', plugins: [ commonjs() ] }); const { code } = await bundle.generate({ format: 'cjs' }); const fn = new Function ( 'module', 'assert', code ); fn( {}, assert ); }); it( 'can ignore references to `global`', async () => { const bundle = await rollup({ input: 'samples/ignore-global/main.js', plugins: [ commonjs({ ignoreGlobal: true }) ], onwarn: warning => { if ( warning.code === 'THIS_IS_UNDEFINED' ) return; console.warn( warning.message ); } }); const generated = await bundle.generate({ format: 'cjs' }); const { exports, global } = await executeBundle( bundle ); assert.equal( exports.immediate1, global.setImmediate, generated.code ); assert.equal( exports.immediate2, global.setImmediate, generated.code ); assert.equal( exports.immediate3, null, generated.code ); }); it( 'can handle parens around right have node while producing default export', async () => { const bundle = await rollup({ input: 'samples/paren-expression/index.js', plugins: [ commonjs() ] }); assert.equal( (await executeBundle( bundle )).exports, 42 ); }); describe( 'typeof transforms', () => { it( 'correct-scoping', async () => { const bundle = await rollup({ input: 'samples/umd/correct-scoping.js', plugins: [ commonjs() ] }); assert.equal( (await executeBundle( bundle )).exports, 'object' ); }); it( 'protobuf', async () => { const bundle = await rollup({ input: 'samples/umd/protobuf.js', external: [ 'bytebuffer' ], plugins: [ commonjs() ] }); assert.equal( (await executeBundle( bundle )).exports, true ); }); it( 'sinon', async () => { const bundle = await rollup({ input: 'samples/umd/sinon.js', plugins: [ commonjs() ] }); const { code } = await bundle.generate({ format: 'es' }); assert.equal( code.indexOf( 'typeof require' ), -1, code ); // assert.notEqual( code.indexOf( 'typeof module' ), -1, code ); // #151 breaks this test // assert.notEqual( code.indexOf( 'typeof define' ), -1, code ); // #144 breaks this test }); }); it( 'deconflicts helper name', async () => { const bundle = await rollup({ input: 'samples/deconflict-helpers/main.js', plugins: [ commonjs() ] }); const { exports } = await executeBundle( bundle ); assert.notEqual( exports, 'nope' ); }); it( 'deconflicts reserved keywords', async () => { const bundle = await rollup({ input: 'samples/reserved-as-property/main.js', plugins: [ commonjs() ] }); const reservedProp = (await executeBundle( bundle, { exports: 'named' })).exports.delete; assert.equal(reservedProp, 'foo'); }); it( 'does not process the entry file when it has a leading "." (issue #63)', async () => { const bundle = await rollup({ input: './function/basic/main.js', plugins: [ commonjs() ] }); await executeBundle( bundle ); }); it( 'does not reexport named contents', async () => { try { await rollup({ input: 'samples/reexport/main.js', plugins: [ commonjs() ] }); } catch (error) { assert.equal( error.message, `'named' is not exported by samples${path.sep}reexport${path.sep}reexport.js` ); } }); it( 'respects other plugins', async () => { const bundle = await rollup({ input: 'samples/other-transforms/main.js', plugins: [ { transform ( code, id ) { if ( id[0] === '\0' ) return null; return code.replace( '40', '41' ); } }, commonjs() ] }); await executeBundle( bundle ); }); it( 'rewrites top-level defines', async () => { const bundle = await rollup({ input: 'samples/define-is-undefined/main.js', plugins: [ commonjs() ] }); function define () { throw new Error( 'nope' ); } define.amd = true; const { exports } = await executeBundle( bundle, { context: { define } }); assert.equal( exports, 42 ); }); it( 'respects options.external', async () => { const bundle = await rollup({ input: 'samples/external/main.js', plugins: [ resolve(), commonjs() ], external: ['baz'] }); const { code } = await bundle.generate({ format: 'cjs' }); assert.equal( code.indexOf( 'hello' ), -1 ); const { exports } = await executeBundle( bundle ); assert.equal( exports, 'HELLO' ); }); it( 'prefers to set name using directory for index files', async () => { const bundle = await rollup({ input: 'samples/rename-index/main.js', plugins: [ commonjs() ] }); const { code } = await bundle.generate({ format: 'cjs' }); assert.equal( code.indexOf( 'var index' ), -1 ); assert.notEqual( code.indexOf( 'var invalidVar' ), -1 ); assert.notEqual( code.indexOf( 'var validVar' ), -1 ); assert.notEqual( code.indexOf( 'var nonIndex' ), -1 ); }); it( 'does not misassign default when consuming rollup output', async () => { // Issue #224 const bundle = await rollup({ input: 'samples/use-own-output/main.js', plugins: [ commonjs() ], }); const window = {}; await executeBundle( bundle, { context: { window } } ); assert.notEqual( window.b.default, undefined ); }); it( 'does not warn even if the ES module not export "default"', async () => { const warns = []; await rollup({ input: 'samples/es-modules-without-default-export/main.js', plugins: [ commonjs() ], onwarn: (warn) => warns.push( warn ) }); assert.equal( warns.length, 0 ); await rollup({ input: 'function/bare-import/bar.js', plugins: [ commonjs() ], onwarn: (warn) => warns.push( warn ) }); assert.equal( warns.length, 0 ); }); }); });