pax_global_header00006660000000000000000000000064131755540510014520gustar00rootroot0000000000000052 comment=e800b4c84e308d1b34a84b58190099da47401523 rollup-plugin-commonjs-8.2.6/000077500000000000000000000000001317555405100161715ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/.eslintrc000066400000000000000000000012601317555405100200140ustar00rootroot00000000000000{ "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.2.6/.gitignore000066400000000000000000000000701317555405100201560ustar00rootroot00000000000000.DS_Store node_modules .gobble* dist !test/node_modules rollup-plugin-commonjs-8.2.6/.travis.yml000066400000000000000000000003151317555405100203010ustar00rootroot00000000000000sudo: 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.2.6/CHANGELOG.md000066400000000000000000000152271317555405100200110ustar00rootroot00000000000000# rollup-plugin-commonjs changelog ## 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.2.6/LICENSE000066400000000000000000000021771317555405100172050ustar00rootroot00000000000000The 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.2.6/README.md000066400000000000000000000064351317555405100174600ustar00rootroot00000000000000# 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.2.6/appveyor.yml000066400000000000000000000011371317555405100205630ustar00rootroot00000000000000# 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.2.6/package-lock.json000066400000000000000000001636501317555405100214200ustar00rootroot00000000000000{ "name": "rollup-plugin-commonjs", "version": "8.2.6", "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.50.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", "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-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" } }, "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" } }, "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.2.6/package.json000066400000000000000000000025601317555405100204620ustar00rootroot00000000000000{ "name": "rollup-plugin-commonjs", "version": "8.2.6", "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.50.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.2.6/rollup.config.js000066400000000000000000000005761317555405100213200ustar00rootroot00000000000000import 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' ]), sourcemap: true, output: [ { format: 'es', file: pkg.module }, { format: 'cjs', file: pkg.main } ] }; rollup-plugin-commonjs-8.2.6/src/000077500000000000000000000000001317555405100167605ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/src/ast-utils.js000066400000000000000000000046741317555405100212560ustar00rootroot00000000000000export 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.2.6/src/defaultResolver.js000066400000000000000000000017471317555405100224750ustar00rootroot00000000000000import * 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.2.6/src/helpers.js000066400000000000000000000013211317555405100207550ustar00rootroot00000000000000export 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.2.6/src/index.js000066400000000000000000000133631317555405100204330ustar00rootroot00000000000000import { 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 entryModuleIdPromise = null; let entryModuleId = 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 = options.external ? Array.isArray( options.external ) ? id => ~options.external.indexOf( id ) : options.external : () => false; resolvers.unshift( id => isExternal( id ) ? false : null ); resolveUsingOtherResolvers = first( resolvers ); entryModuleIdPromise = resolveId( options.input || options.entry ).then( resolved => { entryModuleId = resolved; }); }, 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 entryModuleIdPromise.then( () => { 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, id === entryModuleId, ignoreGlobal, ignoreRequire, customNamedExports[ id ], sourceMap, allowDynamicRequire, ast ); if ( !transformed ) return; commonjsModules.set( id, true ); return transformed; }); } }; } rollup-plugin-commonjs-8.2.6/src/transform.js000066400000000000000000000333421317555405100213360ustar00rootroot00000000000000import 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' ) return; // TODO handle these weird cases? if ( ignoreRequire( node.arguments[0].value ) ) return; return true; } function getRequired ( node, name ) { const source = node.arguments[0].value; 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});`; Object.keys( namedExports ) .filter( key => !blacklist[ key ] ) .forEach( addExport ); } 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 }); } defaultExportPropertyAssignments.push( `${moduleName}.${name} = ${deconflicted};` ); } } }); if ( !hasDefaultExport ) { wrapperEnd = `\n\nvar ${moduleName} = {\n${ names.map( ({ name, deconflicted }) => `\t${name}: ${deconflicted}` ).join( ',\n' ) }\n};`; } } 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.2.6/src/utils.js000066400000000000000000000005761317555405100204660ustar00rootroot00000000000000import { 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.2.6/test/000077500000000000000000000000001317555405100171505ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/000077500000000000000000000000001317555405100201135ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/async-function/000077500000000000000000000000001317555405100230535ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/async-function/input.js000066400000000000000000000000611317555405100245450ustar00rootroot00000000000000module.exports = async function () { // TODO }; rollup-plugin-commonjs-8.2.6/test/form/async-function/output.js000066400000000000000000000001501317555405100247450ustar00rootroot00000000000000var input = async function () { // TODO }; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.2.6/test/form/ignore-ids-function/000077500000000000000000000000001317555405100237765ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/ignore-ids-function/_config.js000066400000000000000000000001011317555405100257300ustar00rootroot00000000000000module.exports = { options: { ignore: id => id === 'foo' } };rollup-plugin-commonjs-8.2.6/test/form/ignore-ids-function/input.js000066400000000000000000000000671317555405100254760ustar00rootroot00000000000000var foo = require( 'foo' ); var bar = require( 'bar' );rollup-plugin-commonjs-8.2.6/test/form/ignore-ids-function/output.js000066400000000000000000000002371317555405100256760ustar00rootroot00000000000000import 'bar'; import bar from 'commonjs-proxy:bar'; var foo = require( 'foo' ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.2.6/test/form/ignore-ids/000077500000000000000000000000001317555405100221535ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/ignore-ids/_config.js000066400000000000000000000000701317555405100241120ustar00rootroot00000000000000module.exports = { options: { ignore: [ 'foo' ] } };rollup-plugin-commonjs-8.2.6/test/form/ignore-ids/input.js000066400000000000000000000000671317555405100236530ustar00rootroot00000000000000var foo = require( 'foo' ); var bar = require( 'bar' );rollup-plugin-commonjs-8.2.6/test/form/ignore-ids/output.js000066400000000000000000000002371317555405100240530ustar00rootroot00000000000000import 'bar'; import bar from 'commonjs-proxy:bar'; var foo = require( 'foo' ); var input = { }; export default input; export { input as __moduleExports };rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations-b/000077500000000000000000000000001317555405100254215ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations-b/input.js000066400000000000000000000000701317555405100271130ustar00rootroot00000000000000var a = require('./a') , b = 42; console.log( a, b );rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations-b/output.js000066400000000000000000000002431317555405100273160ustar00rootroot00000000000000import './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.2.6/test/form/multiple-var-declarations-c/000077500000000000000000000000001317555405100254225ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations-c/input.js000066400000000000000000000001121317555405100271110ustar00rootroot00000000000000var a = 'a' , b = require( './b' ) , c = 'c'; console.log( a, b, c );rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations-c/output.js000066400000000000000000000002631317555405100273210ustar00rootroot00000000000000import './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.2.6/test/form/multiple-var-declarations/000077500000000000000000000000001317555405100252025ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations/input.js000066400000000000000000000001061317555405100266740ustar00rootroot00000000000000var a = require('./a')() , b = require('./b'); console.log( a, b );rollup-plugin-commonjs-8.2.6/test/form/multiple-var-declarations/output.js000066400000000000000000000003501317555405100270760ustar00rootroot00000000000000import './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.2.6/test/form/optimised-default-export-function-double-assign/000077500000000000000000000000001317555405100314265ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-function-double-assign/input.js000066400000000000000000000000641317555405100331230ustar00rootroot00000000000000var bar; module.exports = bar = function foo () {}; rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-function-double-assign/output.js000066400000000000000000000001531317555405100333230ustar00rootroot00000000000000var bar; var input = bar = function foo () {}; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-function/000077500000000000000000000000001317555405100266745ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-function/input.js000066400000000000000000000000451317555405100303700ustar00rootroot00000000000000module.exports = function foo () {}; rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-function/output.js000066400000000000000000000001341317555405100305700ustar00rootroot00000000000000var input = function foo () {}; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-iife/000077500000000000000000000000001317555405100257635ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-iife/input.js000066400000000000000000000001131317555405100274530ustar00rootroot00000000000000module.exports = (function foo () { return function fooChild() {}; }()); rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export-iife/output.js000066400000000000000000000002021317555405100276530ustar00rootroot00000000000000var input = (function foo () { return function fooChild() {}; }()); export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export/000077500000000000000000000000001317555405100250515ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export/input.js000066400000000000000000000000251317555405100265430ustar00rootroot00000000000000module.exports = 42; rollup-plugin-commonjs-8.2.6/test/form/optimised-default-export/output.js000066400000000000000000000001141317555405100267430ustar00rootroot00000000000000var input = 42; export default input; export { input as __moduleExports }; rollup-plugin-commonjs-8.2.6/test/form/optimised-named-export-conflicts/000077500000000000000000000000001317555405100264735ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/optimised-named-export-conflicts/input.js000066400000000000000000000001101317555405100301600ustar00rootroot00000000000000var foo = 1; var bar = 2; exports.foo = 'a'; module.exports.bar = 'b'; rollup-plugin-commonjs-8.2.6/test/form/optimised-named-export-conflicts/output.js000066400000000000000000000003261317555405100303720ustar00rootroot00000000000000var 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.2.6/test/form/optimised-named-export/000077500000000000000000000000001317555405100245115ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/optimised-named-export/input.js000066400000000000000000000000551317555405100262060ustar00rootroot00000000000000exports.foo = 'a'; module.exports.bar = 'b'; rollup-plugin-commonjs-8.2.6/test/form/optimised-named-export/output.js000066400000000000000000000002411317555405100264040ustar00rootroot00000000000000var 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.2.6/test/form/require-collision/000077500000000000000000000000001317555405100235605ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/require-collision/input.js000066400000000000000000000001371317555405100252560ustar00rootroot00000000000000(function() { var foo = require("foo"); var require$$0 = "FAIL"; console.log(foo); })(); rollup-plugin-commonjs-8.2.6/test/form/require-collision/output.js000066400000000000000000000003461317555405100254610ustar00rootroot00000000000000import '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.2.6/test/form/typeof-module-exports/000077500000000000000000000000001317555405100244065ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/typeof-module-exports/input.js000066400000000000000000000003541317555405100261050ustar00rootroot00000000000000var 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.2.6/test/form/typeof-module-exports/output.js000066400000000000000000000006551317555405100263120ustar00rootroot00000000000000import * 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.2.6/test/form/unambiguous-with-default-export/000077500000000000000000000000001317555405100263635ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-default-export/input.js000066400000000000000000000000531317555405100300560ustar00rootroot00000000000000require( './foo.js' ); export default {}; rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-default-export/output.js000066400000000000000000000000531317555405100302570ustar00rootroot00000000000000require( './foo.js' ); export default {}; rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-import/000077500000000000000000000000001317555405100247325ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-import/input.js000066400000000000000000000000531317555405100264250ustar00rootroot00000000000000require( './foo.js' ); import './bar.js'; rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-import/output.js000066400000000000000000000000531317555405100266260ustar00rootroot00000000000000require( './foo.js' ); import './bar.js'; rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-named-export/000077500000000000000000000000001317555405100260235ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-named-export/input.js000066400000000000000000000000431317555405100275150ustar00rootroot00000000000000require( './foo.js' ); export {}; rollup-plugin-commonjs-8.2.6/test/form/unambiguous-with-named-export/output.js000066400000000000000000000000431317555405100277160ustar00rootroot00000000000000require( './foo.js' ); export {}; rollup-plugin-commonjs-8.2.6/test/function/000077500000000000000000000000001317555405100207755ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/__esModule/000077500000000000000000000000001317555405100230505ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/__esModule/answer.js000066400000000000000000000000601317555405100247010ustar00rootroot00000000000000exports.__esModule = true; exports.answer = 42; rollup-plugin-commonjs-8.2.6/test/function/__esModule/main.js000066400000000000000000000002251317555405100243310ustar00rootroot00000000000000import * 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.2.6/test/function/assign-properties-to-default-export/000077500000000000000000000000001317555405100300345ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/assign-properties-to-default-export/foo.js000066400000000000000000000001161317555405100311530ustar00rootroot00000000000000var foo = {}; module.exports = foo; module.exports.bar = 1; exports.baz = 2; rollup-plugin-commonjs-8.2.6/test/function/assign-properties-to-default-export/main.js000066400000000000000000000001251317555405100313140ustar00rootroot00000000000000import foo from './foo.js'; assert.equal( foo.bar, 1 ); assert.equal( foo.baz, 2 ); rollup-plugin-commonjs-8.2.6/test/function/assumed-globals/000077500000000000000000000000001317555405100240575ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/assumed-globals/_config.js000066400000000000000000000001001317555405100260100ustar00rootroot00000000000000module.exports = { context: { document: { real: true } } }; rollup-plugin-commonjs-8.2.6/test/function/assumed-globals/document.js000066400000000000000000000001621317555405100262320ustar00rootroot00000000000000if ( typeof document !== 'undefined' ) { module.exports = document; } else { module.exports = { fake: true }; } rollup-plugin-commonjs-8.2.6/test/function/assumed-globals/main.js000066400000000000000000000001241317555405100253360ustar00rootroot00000000000000import document from './document.js'; assert.deepEqual( document, { real: true }); rollup-plugin-commonjs-8.2.6/test/function/bare-import/000077500000000000000000000000001317555405100232165ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/bare-import/bar.js000066400000000000000000000000171317555405100243160ustar00rootroot00000000000000Math.bar = 42; rollup-plugin-commonjs-8.2.6/test/function/bare-import/foo.js000066400000000000000000000000271317555405100243360ustar00rootroot00000000000000require( './bar.js' ); rollup-plugin-commonjs-8.2.6/test/function/bare-import/main.js000066400000000000000000000000621317555405100244760ustar00rootroot00000000000000import './foo.js'; assert.equal( Math.bar, 42 ); rollup-plugin-commonjs-8.2.6/test/function/basic/000077500000000000000000000000001317555405100220565ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/basic/_config.js000066400000000000000000000001641317555405100240210ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 42 ); } }; rollup-plugin-commonjs-8.2.6/test/function/basic/foo.js000066400000000000000000000000251317555405100231740ustar00rootroot00000000000000module.exports = 21; rollup-plugin-commonjs-8.2.6/test/function/basic/main.js000066400000000000000000000000701317555405100233350ustar00rootroot00000000000000var foo = require( './foo' ); module.exports = foo * 2; rollup-plugin-commonjs-8.2.6/test/function/deconflict-export-and-local/000077500000000000000000000000001317555405100262565ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/deconflict-export-and-local/index.js000066400000000000000000000001361317555405100277230ustar00rootroot00000000000000var someValueModule = require('./someValue'); exports.someValue = someValueModule.someValue; rollup-plugin-commonjs-8.2.6/test/function/deconflict-export-and-local/main.js000066400000000000000000000001101317555405100275300ustar00rootroot00000000000000import { someValue } from './index.js'; assert.equal( someValue, 10 ); rollup-plugin-commonjs-8.2.6/test/function/deconflict-export-and-local/someValue.js000066400000000000000000000000301317555405100305450ustar00rootroot00000000000000exports.someValue = 10; rollup-plugin-commonjs-8.2.6/test/function/dot/000077500000000000000000000000001317555405100215635ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/dot/foo.bar.js000066400000000000000000000000321317555405100234420ustar00rootroot00000000000000module.exports = 'fubar'; rollup-plugin-commonjs-8.2.6/test/function/dot/main.js000066400000000000000000000001071317555405100230430ustar00rootroot00000000000000var status = require( './foo.bar' ); assert.equal( status, 'fubar' ); rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports-b/000077500000000000000000000000001317555405100263125ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports-b/main.js000066400000000000000000000000741317555405100275750ustar00rootroot00000000000000import x from './x'; assert.deepEqual( x, { default: 42 });rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports-b/x.js000066400000000000000000000000751317555405100271210ustar00rootroot00000000000000var x = {}; module.exports = x; module.exports.default = 42;rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports-c/000077500000000000000000000000001317555405100263135ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports-c/exports.js000066400000000000000000000001221317555405100303500ustar00rootroot00000000000000exports.Foo = 1; exports.var = 'VAR'; exports.default = { Foo: 2, default: 3 }; rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports-c/main.js000066400000000000000000000005751317555405100276040ustar00rootroot00000000000000import 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.2.6/test/function/duplicate-default-exports/000077500000000000000000000000001317555405100260735ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports/main.js000066400000000000000000000000711317555405100273530ustar00rootroot00000000000000import x from './x'; assert.strictEqual( x.default, x );rollup-plugin-commonjs-8.2.6/test/function/duplicate-default-exports/x.js000066400000000000000000000000741317555405100267010ustar00rootroot00000000000000var x = {}; module.exports = x; module.exports.default = x;rollup-plugin-commonjs-8.2.6/test/function/dynamic-require-fails/000077500000000000000000000000001317555405100251675ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/dynamic-require-fails/main.js000066400000000000000000000003121317555405100264450ustar00rootroot00000000000000let 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.2.6/test/function/exports/000077500000000000000000000000001317555405100225015ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/exports/_config.js000066400000000000000000000001721317555405100244430ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 'BARBAZ' ); } }; rollup-plugin-commonjs-8.2.6/test/function/exports/foo.js000066400000000000000000000000521317555405100236170ustar00rootroot00000000000000exports.bar = 'BAR'; exports.baz = 'BAZ'; rollup-plugin-commonjs-8.2.6/test/function/exports/main.js000066400000000000000000000001411317555405100237570ustar00rootroot00000000000000var bar = require( './foo' ).bar; var baz = require( './foo' ).baz; module.exports = bar + baz; rollup-plugin-commonjs-8.2.6/test/function/external-imports/000077500000000000000000000000001317555405100243125ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/external-imports/_config.js000066400000000000000000000002351317555405100262540ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { options: { external: [ 'foo' ] }, exports: exports => { assert.equal( exports, 'foo' ); } }; rollup-plugin-commonjs-8.2.6/test/function/external-imports/main.js000066400000000000000000000000631317555405100255730ustar00rootroot00000000000000var foo = require( 'foo' ); module.exports = foo; rollup-plugin-commonjs-8.2.6/test/function/fallback-no-default/000077500000000000000000000000001317555405100245705ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/fallback-no-default/foo.js000066400000000000000000000000511317555405100257050ustar00rootroot00000000000000export var one = 1; export var two = 2; rollup-plugin-commonjs-8.2.6/test/function/fallback-no-default/main.js000066400000000000000000000001301317555405100260440ustar00rootroot00000000000000var foo = require('./foo.js'); assert.equal( foo.one, 1 ); assert.equal( foo.two, 2 ); rollup-plugin-commonjs-8.2.6/test/function/global-not-overwritten/000077500000000000000000000000001317555405100254215ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/global-not-overwritten/_config.js000066400000000000000000000002471317555405100273660ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: function ( exports ) { assert.equal( exports.encoded, encodeURIComponent( 'test string' ) ); } }; rollup-plugin-commonjs-8.2.6/test/function/global-not-overwritten/encode.js000066400000000000000000000002141317555405100272110ustar00rootroot00000000000000exports.encodeURIComponent = function () { return encodeURIComponent( this.str ); }; global.foo = exports; // to ensure module is wrapped rollup-plugin-commonjs-8.2.6/test/function/global-not-overwritten/main.js000066400000000000000000000002331317555405100267010ustar00rootroot00000000000000import { encodeURIComponent } from './encode.js'; var foo = { str: 'test string', encodeURIComponent }; export var encoded = foo.encodeURIComponent(); rollup-plugin-commonjs-8.2.6/test/function/global-var/000077500000000000000000000000001317555405100230235ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/global-var/main.js000066400000000000000000000003041317555405100243020ustar00rootroot00000000000000function 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.2.6/test/function/index/000077500000000000000000000000001317555405100221045ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/index/foo/000077500000000000000000000000001317555405100226675ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/index/foo/index.js000066400000000000000000000000251317555405100243310ustar00rootroot00000000000000module.exports = 42; rollup-plugin-commonjs-8.2.6/test/function/index/main.js000066400000000000000000000000701317555405100233630ustar00rootroot00000000000000var foo = require( './foo' ); assert.equal( foo, 42 ); rollup-plugin-commonjs-8.2.6/test/function/inline/000077500000000000000000000000001317555405100222535ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/inline/_config.js000066400000000000000000000001651317555405100242170ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports(), 2 ); } }; rollup-plugin-commonjs-8.2.6/test/function/inline/foo.js000066400000000000000000000000241317555405100233700ustar00rootroot00000000000000module.exports = 1; rollup-plugin-commonjs-8.2.6/test/function/inline/main.js000066400000000000000000000001341317555405100235330ustar00rootroot00000000000000module.exports = function () { return require( './multiply' )( 2, require( './foo' ) ); }; rollup-plugin-commonjs-8.2.6/test/function/inline/multiply.js000066400000000000000000000000671317555405100244730ustar00rootroot00000000000000module.exports = function ( a, b ) { return a * b; }; rollup-plugin-commonjs-8.2.6/test/function/named-exports/000077500000000000000000000000001317555405100235635ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/named-exports/foo.js000066400000000000000000000000451317555405100247030ustar00rootroot00000000000000exports.a = 1; module.exports.b = 2; rollup-plugin-commonjs-8.2.6/test/function/named-exports/main.js000066400000000000000000000001161317555405100250430ustar00rootroot00000000000000import { a, b } from './foo.js'; assert.equal( a, 1 ); assert.equal( b, 2 ); rollup-plugin-commonjs-8.2.6/test/function/ordering/000077500000000000000000000000001317555405100226065ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/ordering/bar.js000066400000000000000000000001051317555405100237040ustar00rootroot00000000000000var shared = require('./shared'); module.exports = shared.fooLoaded rollup-plugin-commonjs-8.2.6/test/function/ordering/foo.js000066400000000000000000000001301317555405100237210ustar00rootroot00000000000000var shared = require('./shared'); // Mutate the shared module shared.fooLoaded = true; rollup-plugin-commonjs-8.2.6/test/function/ordering/main.js000066400000000000000000000001161317555405100240660ustar00rootroot00000000000000require('./foo'); var fooLoaded = require('./bar'); assert.ok( fooLoaded ); rollup-plugin-commonjs-8.2.6/test/function/ordering/shared.js000066400000000000000000000000501317555405100244050ustar00rootroot00000000000000module.exports = { fooLoaded: false }; rollup-plugin-commonjs-8.2.6/test/function/react-apollo/000077500000000000000000000000001317555405100233575ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/react-apollo/commonjs-bar.js000066400000000000000000000001251317555405100263020ustar00rootroot00000000000000function Bar () { this.x = 42; } exports.__esModule = true; exports.default = Bar; rollup-plugin-commonjs-8.2.6/test/function/react-apollo/commonjs-foo.js000066400000000000000000000001361317555405100263230ustar00rootroot00000000000000var Bar = require( './commonjs-bar' ); exports.__esModule = true; exports.Bar = Bar.default; rollup-plugin-commonjs-8.2.6/test/function/react-apollo/main.js000066400000000000000000000001131317555405100246340ustar00rootroot00000000000000import { Bar } from './commonjs-foo.js'; assert.equal( new Bar().x, 42 ); rollup-plugin-commonjs-8.2.6/test/function/reassignment/000077500000000000000000000000001317555405100234745ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/reassignment/foo.js000066400000000000000000000001011317555405100246050ustar00rootroot00000000000000function foo () {} foo.something = false; module.exports = foo; rollup-plugin-commonjs-8.2.6/test/function/reassignment/main.js000066400000000000000000000002241317555405100247540ustar00rootroot00000000000000var foo = require( './foo.js' ); if ( !foo.something ) { foo = function somethingElse () {} foo.something = true; } assert.ok( foo.something ); rollup-plugin-commonjs-8.2.6/test/function/reexports/000077500000000000000000000000001317555405100230305ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/reexports/_config.js000066400000000000000000000002321317555405100247670ustar00rootroot00000000000000const path = require( 'path' ); module.exports = { pluginOptions: { namedExports: { [ path.resolve( __dirname, 'foo.js' ) ]: [ 'named' ] } } }; rollup-plugin-commonjs-8.2.6/test/function/reexports/bar.js000066400000000000000000000000241317555405100241260ustar00rootroot00000000000000exports.named = 42; rollup-plugin-commonjs-8.2.6/test/function/reexports/foo.js000066400000000000000000000000501317555405100241440ustar00rootroot00000000000000module.exports = require( './bar.js' ); rollup-plugin-commonjs-8.2.6/test/function/reexports/main.js000066400000000000000000000000761317555405100243150ustar00rootroot00000000000000import { named } from './foo.js'; assert.equal( named, 42 ); rollup-plugin-commonjs-8.2.6/test/function/shadowing/000077500000000000000000000000001317555405100227605ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/shadowing/main.js000066400000000000000000000003011317555405100242340ustar00rootroot00000000000000function 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.2.6/test/function/skips-dead-branches/000077500000000000000000000000001317555405100246045ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/skips-dead-branches/_config.js000066400000000000000000000003001317555405100265370ustar00rootroot00000000000000const 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.2.6/test/function/skips-dead-branches/a.js000066400000000000000000000000161317555405100253570ustar00rootroot00000000000000global.a = 1; rollup-plugin-commonjs-8.2.6/test/function/skips-dead-branches/b.js000066400000000000000000000000441317555405100253610ustar00rootroot00000000000000global.b = 2; module.exports = 'b'; rollup-plugin-commonjs-8.2.6/test/function/skips-dead-branches/c.js000066400000000000000000000000441317555405100253620ustar00rootroot00000000000000global.c = 3; module.exports = 'c'; rollup-plugin-commonjs-8.2.6/test/function/skips-dead-branches/main.js000066400000000000000000000002061317555405100260640ustar00rootroot00000000000000if ( 'development' === 'production' ) { require( './a.js' ); } module.exports = true ? require( './b.js' ) : require( './c.js' ); rollup-plugin-commonjs-8.2.6/test/function/this/000077500000000000000000000000001317555405100217445ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/this/foo.js000066400000000000000000000001141317555405100230610ustar00rootroot00000000000000module.exports = function augmentThis () { this.x = 'x'; }; this.y = 'y'; rollup-plugin-commonjs-8.2.6/test/function/this/main.js000066400000000000000000000001701317555405100232240ustar00rootroot00000000000000var foo = require( './foo' ); var obj = {}; foo.call( obj ); assert.equal( obj.x, 'x' ); assert.equal( this.y, 'y' ); rollup-plugin-commonjs-8.2.6/test/function/toplevel-return-complex/000077500000000000000000000000001317555405100256115ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/toplevel-return-complex/_config.js000066400000000000000000000001701317555405100275510ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 'bar' ); } }; rollup-plugin-commonjs-8.2.6/test/function/toplevel-return-complex/bar.js000066400000000000000000000000611317555405100267100ustar00rootroot00000000000000module.exports = function () { return true; }; rollup-plugin-commonjs-8.2.6/test/function/toplevel-return-complex/foo.js000066400000000000000000000001451317555405100267320ustar00rootroot00000000000000var bar = require('./bar'); module.exports = 'bar'; if (bar()) { return; } module.exports = 'foo'; rollup-plugin-commonjs-8.2.6/test/function/toplevel-return-complex/main.js000066400000000000000000000000631317555405100270720ustar00rootroot00000000000000var foo = require('./foo'); module.exports = foo; rollup-plugin-commonjs-8.2.6/test/function/toplevel-return/000077500000000000000000000000001317555405100241445ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/toplevel-return/_config.js000066400000000000000000000001671317555405100261120ustar00rootroot00000000000000const assert = require( 'assert' ); module.exports = { exports: exports => { assert.equal( exports, 'foo' ); } }; rollup-plugin-commonjs-8.2.6/test/function/toplevel-return/foo.js000066400000000000000000000000401317555405100252570ustar00rootroot00000000000000module.exports = 'foo'; return; rollup-plugin-commonjs-8.2.6/test/function/toplevel-return/main.js000066400000000000000000000000651317555405100254270ustar00rootroot00000000000000var foo = require('./foo'); module.exports = 'foo'; rollup-plugin-commonjs-8.2.6/test/function/trailing-slash/000077500000000000000000000000001317555405100237165ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/trailing-slash/foo/000077500000000000000000000000001317555405100245015ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/trailing-slash/foo/index.js000066400000000000000000000000251317555405100261430ustar00rootroot00000000000000module.exports = 42; rollup-plugin-commonjs-8.2.6/test/function/trailing-slash/main.js000066400000000000000000000000711317555405100251760ustar00rootroot00000000000000var foo = require( './foo/' ); assert.equal( foo, 42 ); rollup-plugin-commonjs-8.2.6/test/function/typeof-require/000077500000000000000000000000001317555405100237555ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/function/typeof-require/foo.js000066400000000000000000000001471317555405100251000ustar00rootroot00000000000000if ( typeof require === 'function' && require ) { module.exports = 1; } else { module.exports = 2; } rollup-plugin-commonjs-8.2.6/test/function/typeof-require/main.js000066400000000000000000000000651317555405100252400ustar00rootroot00000000000000import foo from './foo.js'; assert.equal( foo, 1 ); rollup-plugin-commonjs-8.2.6/test/node_modules/000077500000000000000000000000001317555405100216255ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/node_modules/.gitkeep000066400000000000000000000000001317555405100232440ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/node_modules/bar/000077500000000000000000000000001317555405100223715ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/node_modules/bar/index.js000066400000000000000000000001121317555405100240300ustar00rootroot00000000000000const baz = require('baz'); module.exports = function () { return baz; };rollup-plugin-commonjs-8.2.6/test/node_modules/baz/000077500000000000000000000000001317555405100224015ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/node_modules/baz/index.js000066400000000000000000000000311317555405100240400ustar00rootroot00000000000000module.exports = 'hello';rollup-plugin-commonjs-8.2.6/test/node_modules/external/000077500000000000000000000000001317555405100234475ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/node_modules/external/index.js000066400000000000000000000000751317555405100251160ustar00rootroot00000000000000var externalLib = exports; externalLib.message = 'it works'; rollup-plugin-commonjs-8.2.6/test/node_modules/foo/000077500000000000000000000000001317555405100224105ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/node_modules/foo/index.js000066400000000000000000000000271317555405100240540ustar00rootroot00000000000000module.exports = 'foo';rollup-plugin-commonjs-8.2.6/test/samples/000077500000000000000000000000001317555405100206145ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/corejs/000077500000000000000000000000001317555405100221015ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/corejs/literal-with-default.js000066400000000000000000000000721317555405100264650ustar00rootroot00000000000000module.exports = { default: 'foobar', __esModule: true }; rollup-plugin-commonjs-8.2.6/test/samples/custom-named-exports-false-positive/000077500000000000000000000000001317555405100276425ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/custom-named-exports-false-positive/main.js000066400000000000000000000001021317555405100311150ustar00rootroot00000000000000import { thing } from './other.js'; assert.equal( thing, 'yes' ); rollup-plugin-commonjs-8.2.6/test/samples/custom-named-exports-false-positive/other.js000066400000000000000000000001451317555405100313210ustar00rootroot00000000000000/* require (https://github.com/rollup/rollup-plugin-commonjs/issues/36) */ export var thing = 'yes'; rollup-plugin-commonjs-8.2.6/test/samples/custom-named-exports/000077500000000000000000000000001317555405100247125ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/custom-named-exports/main.js000066400000000000000000000002311317555405100261700ustar00rootroot00000000000000import { named } from './secret-named-exporter.js'; import { message } from 'external'; assert.equal( named, 42 ); assert.equal( message, 'it works' ); rollup-plugin-commonjs-8.2.6/test/samples/custom-named-exports/secret-named-exporter.js000066400000000000000000000000471317555405100314660ustar00rootroot00000000000000var myLib = exports; myLib.named = 42; rollup-plugin-commonjs-8.2.6/test/samples/deconflict-helpers/000077500000000000000000000000001317555405100243665ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/deconflict-helpers/main.js000066400000000000000000000001131317555405100256430ustar00rootroot00000000000000var commonjsHelpers = { commonjsGlobal: 'nope' }; module.exports = global; rollup-plugin-commonjs-8.2.6/test/samples/define-is-undefined/000077500000000000000000000000001317555405100244165ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/define-is-undefined/foo.js000066400000000000000000000004171317555405100255410ustar00rootroot00000000000000(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.2.6/test/samples/define-is-undefined/main.js000066400000000000000000000000601317555405100256740ustar00rootroot00000000000000import foo from './foo.js'; export default 42; rollup-plugin-commonjs-8.2.6/test/samples/es-modules-without-default-export/000077500000000000000000000000001317555405100273335ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/es-modules-without-default-export/main.js000066400000000000000000000000741317555405100306160ustar00rootroot00000000000000const { a } = require('./other.js'); assert.equal( a, 1 ); rollup-plugin-commonjs-8.2.6/test/samples/es-modules-without-default-export/other.js000066400000000000000000000000241317555405100310060ustar00rootroot00000000000000export const a = 1; rollup-plugin-commonjs-8.2.6/test/samples/extension/000077500000000000000000000000001317555405100226305ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/extension/foo.coffee000066400000000000000000000000251317555405100245610ustar00rootroot00000000000000module.exports = 21; rollup-plugin-commonjs-8.2.6/test/samples/extension/main.coffee000066400000000000000000000000701317555405100247220ustar00rootroot00000000000000var foo = require( './foo' ); module.exports = foo * 2; rollup-plugin-commonjs-8.2.6/test/samples/external/000077500000000000000000000000001317555405100224365ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/external/main.js000066400000000000000000000000731317555405100237200ustar00rootroot00000000000000import bar from 'bar'; export default bar().toUpperCase();rollup-plugin-commonjs-8.2.6/test/samples/global-in-if-block/000077500000000000000000000000001317555405100241445ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/global-in-if-block/main.js000066400000000000000000000000761317555405100254310ustar00rootroot00000000000000if (!global.count) { global.count = 0; } global.count += 1; rollup-plugin-commonjs-8.2.6/test/samples/global/000077500000000000000000000000001317555405100220545ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/global/main.js000066400000000000000000000000241317555405100233320ustar00rootroot00000000000000global.foo = 'bar'; rollup-plugin-commonjs-8.2.6/test/samples/ignore-global/000077500000000000000000000000001317555405100233355ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/ignore-global/firstpass.js000066400000000000000000000001571317555405100257140ustar00rootroot00000000000000export var immediate = typeof global.setImmediate === 'function' ? global.setImmediate : global.setTimeout; rollup-plugin-commonjs-8.2.6/test/samples/ignore-global/identifier.js000066400000000000000000000002071317555405100260140ustar00rootroot00000000000000// require (firstpass) export var immediate = typeof global.setImmediate === 'function' ? global.setImmediate : global.setTimeout; rollup-plugin-commonjs-8.2.6/test/samples/ignore-global/main.js000066400000000000000000000002411317555405100246140ustar00rootroot00000000000000export { immediate as immediate1 } from './firstpass'; export { immediate as immediate2 } from './identifier'; export { immediate as immediate3 } from './this'; rollup-plugin-commonjs-8.2.6/test/samples/ignore-global/this.js000066400000000000000000000003411317555405100246400ustar00rootroot00000000000000// 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.2.6/test/samples/named-exports-from-object-literal/000077500000000000000000000000001317555405100272415ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/named-exports-from-object-literal/a.js000066400000000000000000000000241317555405100300130ustar00rootroot00000000000000module.exports = 1; rollup-plugin-commonjs-8.2.6/test/samples/named-exports-from-object-literal/main.js000066400000000000000000000001511317555405100305200ustar00rootroot00000000000000import { a, b, c } from './other.js'; assert.equal( a, 1 ); assert.equal( b, 2 ); assert.equal( c, 3 ); rollup-plugin-commonjs-8.2.6/test/samples/named-exports-from-object-literal/other.js000066400000000000000000000001461317555405100307210ustar00rootroot00000000000000var a = require( './a.js' ); var b = 2; module.exports = { a: a, b: b, c: a + b, 2: 1 + 1 }; rollup-plugin-commonjs-8.2.6/test/samples/other-transforms/000077500000000000000000000000001317555405100241315ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/other-transforms/bar.js000066400000000000000000000000251317555405100252300ustar00rootroot00000000000000module.exports = 40; rollup-plugin-commonjs-8.2.6/test/samples/other-transforms/foo.js000066400000000000000000000000741317555405100252530ustar00rootroot00000000000000var bar = require( './bar.js' ); module.exports = bar + 1; rollup-plugin-commonjs-8.2.6/test/samples/other-transforms/main.js000066400000000000000000000000661317555405100254150ustar00rootroot00000000000000import foo from './foo.js'; assert.equal( foo, 42 ); rollup-plugin-commonjs-8.2.6/test/samples/paren-expression/000077500000000000000000000000001317555405100241165ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/paren-expression/index.js000066400000000000000000000000271317555405100255620ustar00rootroot00000000000000module.exports = (42); rollup-plugin-commonjs-8.2.6/test/samples/reexport/000077500000000000000000000000001317555405100224645ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/reexport/export.js000066400000000000000000000000231317555405100243360ustar00rootroot00000000000000exports.named = 2; rollup-plugin-commonjs-8.2.6/test/samples/reexport/main.js000066400000000000000000000001001317555405100237350ustar00rootroot00000000000000import { named } from './reexport.js'; assert.equal(named, 2); rollup-plugin-commonjs-8.2.6/test/samples/reexport/reexport.js000066400000000000000000000000511317555405100246660ustar00rootroot00000000000000module.exports = require('./export.js'); rollup-plugin-commonjs-8.2.6/test/samples/rename-index/000077500000000000000000000000001317555405100231705ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/rename-index/invalid-var/000077500000000000000000000000001317555405100254045ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/rename-index/invalid-var/index.js000066400000000000000000000000341317555405100270460ustar00rootroot00000000000000module.exports = 'invalid'; rollup-plugin-commonjs-8.2.6/test/samples/rename-index/main.js000066400000000000000000000002201317555405100244440ustar00rootroot00000000000000import invalid from './invalid-var'; import valid from './validVar'; import other from './other/nonIndex'; console.log(invalid, valid, other); rollup-plugin-commonjs-8.2.6/test/samples/rename-index/other/000077500000000000000000000000001317555405100243115ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/rename-index/other/nonIndex.js000066400000000000000000000000461317555405100264310ustar00rootroot00000000000000module.exports = 'not an index file'; rollup-plugin-commonjs-8.2.6/test/samples/rename-index/validVar/000077500000000000000000000000001317555405100247405ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/rename-index/validVar/index.js000066400000000000000000000000321317555405100264000ustar00rootroot00000000000000module.exports = 'valid'; rollup-plugin-commonjs-8.2.6/test/samples/reserved-as-property/000077500000000000000000000000001317555405100247165ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/reserved-as-property/main.js000066400000000000000000000000371317555405100262000ustar00rootroot00000000000000module.exports.delete = 'foo'; rollup-plugin-commonjs-8.2.6/test/samples/sourcemap/000077500000000000000000000000001317555405100226125ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/sourcemap/foo.js000066400000000000000000000000231317555405100237260ustar00rootroot00000000000000export default 42; rollup-plugin-commonjs-8.2.6/test/samples/sourcemap/main.js000066400000000000000000000000621317555405100240720ustar00rootroot00000000000000var foo = require( './foo' ); console.log( foo ); rollup-plugin-commonjs-8.2.6/test/samples/umd/000077500000000000000000000000001317555405100214015ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/umd/correct-scoping.js000066400000000000000000000001651317555405100250420ustar00rootroot00000000000000if ( typeof require === 'function' ) { module.exports = function ( require ) { return typeof require; }( {} ); } rollup-plugin-commonjs-8.2.6/test/samples/umd/protobuf.js000066400000000000000000000010761317555405100236030ustar00rootroot00000000000000// 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.2.6/test/samples/umd/sinon.js000066400000000000000000000025071317555405100230710ustar00rootroot00000000000000// 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.2.6/test/samples/use-own-output/000077500000000000000000000000001317555405100235475ustar00rootroot00000000000000rollup-plugin-commonjs-8.2.6/test/samples/use-own-output/from-rollup.js000066400000000000000000000001161317555405100263610ustar00rootroot00000000000000Object.defineProperty(exports, '__esModule', { value: true }); exports.x = 10 rollup-plugin-commonjs-8.2.6/test/samples/use-own-output/main.js000066400000000000000000000000621317555405100250270ustar00rootroot00000000000000import * as b from "./from-rollup"; window.b = b; rollup-plugin-commonjs-8.2.6/test/test.js000066400000000000000000000300731317555405100204700ustar00rootroot00000000000000const 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, 'samples/sourcemap/foo.js' ); assert.equal( loc.line, 1 ); assert.equal( loc.column, 15 ); generatedLoc = locator( 'log' ); loc = smc.originalPositionFor( generatedLoc ); // log assert.equal( loc.source, 'samples/sourcemap/main.js' ); assert.equal( loc.line, 2 ); assert.equal( loc.column, 8 ); }); 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( '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 ); }); }); });