From 6da2d7487f6463ecd27556f8cca4020acf73185f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Fri, 24 Aug 2018 10:16:39 +0200 Subject: [PATCH] Transpile only default babel extensions, allow for custom extensions option (fixes #111) --- .../rollup-plugin-babel/package-lock.json | 583 +++++++++--------- packages/rollup-plugin-babel/package.json | 1 + packages/rollup-plugin-babel/src/index.js | 13 +- packages/rollup-plugin-babel/src/utils.js | 3 + .../test/samples/extensions-custom/ext.es | 1 + .../test/samples/extensions-custom/ext.es6 | 1 + .../test/samples/extensions-custom/ext.js | 1 + .../test/samples/extensions-custom/ext.jsx | 1 + .../test/samples/extensions-custom/ext.mjs | 1 + .../test/samples/extensions-custom/ext.other | 1 + .../test/samples/extensions-custom/main.js | 6 + .../test/samples/extensions-default/ext.es | 1 + .../test/samples/extensions-default/ext.es6 | 1 + .../test/samples/extensions-default/ext.js | 1 + .../test/samples/extensions-default/ext.json | 1 + .../test/samples/extensions-default/ext.jsx | 1 + .../test/samples/extensions-default/ext.mjs | 1 + .../test/samples/extensions-default/ext.other | 1 + .../test/samples/extensions-default/main.js | 7 + packages/rollup-plugin-babel/test/test.js | 27 + 20 files changed, 362 insertions(+), 291 deletions(-) create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es6 create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/ext.js create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/ext.jsx create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/ext.mjs create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/ext.other create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-custom/main.js create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.es create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.es6 create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.js create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.json create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.jsx create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.mjs create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/ext.other create mode 100644 packages/rollup-plugin-babel/test/samples/extensions-default/main.js diff --git a/packages/rollup-plugin-babel/package-lock.json b/packages/rollup-plugin-babel/package-lock.json index ad1dafb69..3a09ae592 100644 --- a/packages/rollup-plugin-babel/package-lock.json +++ b/packages/rollup-plugin-babel/package-lock.json @@ -26,13 +26,13 @@ "@babel/template": "7.0.0-beta.56", "@babel/traverse": "7.0.0-beta.56", "@babel/types": "7.0.0-beta.56", - "convert-source-map": "1.5.1", - "debug": "3.1.0", - "json5": "0.5.1", - "lodash": "4.17.10", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "convert-source-map": "^1.1.0", + "debug": "^3.1.0", + "json5": "^0.5.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "source-map": { @@ -50,10 +50,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.56", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "source-map": { @@ -102,7 +102,7 @@ "requires": { "@babel/helper-function-name": "7.0.0-beta.56", "@babel/types": "7.0.0-beta.56", - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/helper-explode-assignable-expression": { @@ -159,7 +159,7 @@ "integrity": "sha512-iVWFscU+yIu6DIo5IWkMgVXd74/d3z/ZomwF/QJNGFwFP/lNA282rpjsky56fSxS7oT7wAlXoYoHVCOOaL7tbg==", "requires": { "@babel/types": "7.0.0-beta.56", - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/helper-module-transforms": { @@ -173,7 +173,7 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.56", "@babel/template": "7.0.0-beta.56", "@babel/types": "7.0.0-beta.56", - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/helper-optimise-call-expression": { @@ -197,7 +197,7 @@ "integrity": "sha512-wtb8bmlc5TF7W7KMd5muS+CVQQu7cNGTdPbI5+8x5w36bN8ytbkun5160hJ2S1r3Tti0FPnrYwz+9W5AGj+d9g==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/helper-remap-async-to-generator": { @@ -233,7 +233,7 @@ "requires": { "@babel/template": "7.0.0-beta.56", "@babel/types": "7.0.0-beta.56", - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/helper-split-export-declaration": { @@ -274,9 +274,9 @@ "integrity": "sha512-q4TfI+jJISul6vVpZJktzH4tupwRiVk6KXRhB8PHqJ7erl966I6ePDXl9mAbE8jMM7YswhnnB0j1SYP7LBVyhg==", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, "@babel/parser": { @@ -343,7 +343,7 @@ "requires": { "@babel/helper-plugin-utils": "7.0.0-beta.56", "@babel/helper-regex": "7.0.0-beta.56", - "regexpu-core": "4.2.0" + "regexpu-core": "^4.2.0" } }, "@babel/plugin-syntax-async-generators": { @@ -418,7 +418,7 @@ "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0-beta.56", - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -434,7 +434,7 @@ "@babel/helper-plugin-utils": "7.0.0-beta.56", "@babel/helper-replace-supers": "7.0.0-beta.56", "@babel/helper-split-export-declaration": "7.0.0-beta.56", - "globals": "11.7.0" + "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { @@ -463,7 +463,7 @@ "requires": { "@babel/helper-plugin-utils": "7.0.0-beta.56", "@babel/helper-regex": "7.0.0-beta.56", - "regexpu-core": "4.2.0" + "regexpu-core": "^4.1.3" } }, "@babel/plugin-transform-duplicate-keys": { @@ -590,7 +590,7 @@ "integrity": "sha512-wSRlSwXSXlpAdAKethZu+JyrnSL1NvLn3VtomlOCqHWhRhjOkjehIBlAe/AmguSn9JTUja0vqBWn1FS8sSnp7Q==", "dev": true, "requires": { - "regenerator-transform": "0.13.3" + "regenerator-transform": "^0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -658,7 +658,7 @@ "requires": { "@babel/helper-plugin-utils": "7.0.0-beta.56", "@babel/helper-regex": "7.0.0-beta.56", - "regexpu-core": "4.2.0" + "regexpu-core": "^4.1.3" } }, "@babel/preset-env": { @@ -703,10 +703,10 @@ "@babel/plugin-transform-template-literals": "7.0.0-beta.56", "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.56", "@babel/plugin-transform-unicode-regex": "7.0.0-beta.56", - "browserslist": "3.2.8", - "invariant": "2.2.4", - "js-levenshtein": "1.1.3", - "semver": "5.5.0" + "browserslist": "^3.0.0", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" } }, "@babel/template": { @@ -718,7 +718,7 @@ "@babel/code-frame": "7.0.0-beta.56", "@babel/parser": "7.0.0-beta.56", "@babel/types": "7.0.0-beta.56", - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "@babel/traverse": { @@ -733,9 +733,9 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.56", "@babel/parser": "7.0.0-beta.56", "@babel/types": "7.0.0-beta.56", - "debug": "3.1.0", - "globals": "11.7.0", - "lodash": "4.17.10" + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -743,9 +743,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.56.tgz", "integrity": "sha512-fRIBeHtKxAD3D1E7hYSpG4MnLt0AfzHHs5gfVclOB0NlfLu3qiWU/IqdbK2ixTK61424iEkV1P/VAzndx6ungA==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "@types/estree": { @@ -772,7 +772,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.0" } }, "acorn-jsx": { @@ -781,7 +781,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.3" } }, "ajv": { @@ -790,10 +790,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ajv-keywords": { @@ -820,7 +820,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "argparse": { @@ -829,7 +829,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -837,7 +837,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -851,7 +851,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -877,9 +877,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -894,11 +894,11 @@ "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" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -907,7 +907,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -930,7 +930,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -939,9 +939,9 @@ "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" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "browser-stdout": { @@ -956,8 +956,8 @@ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000874", - "electron-to-chromium": "1.3.55" + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" } }, "buble": { @@ -966,14 +966,14 @@ "integrity": "sha512-3B0Lcy2u6x6km0BqTz/FS3UnrOJlnIlBWsyjvtqzdtmWkqiS0+Sg4hc6L9Mmm63hZKTACpYS9vUeIoKSi1vcrQ==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-dynamic-import": "3.0.0", - "acorn-jsx": "4.1.1", - "chalk": "2.4.1", - "magic-string": "0.22.5", - "minimist": "1.2.0", - "os-homedir": "1.0.2", - "vlq": "1.0.0" + "acorn": "^5.4.1", + "acorn-dynamic-import": "^3.0.0", + "acorn-jsx": "^4.1.1", + "chalk": "^2.3.1", + "magic-string": "^0.22.4", + "minimist": "^1.2.0", + "os-homedir": "^1.0.1", + "vlq": "^1.0.0" } }, "buffer-from": { @@ -988,7 +988,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -1009,9 +1009,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -1032,7 +1032,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -1080,11 +1080,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "debug": { @@ -1108,8 +1108,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "del": { @@ -1118,13 +1118,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "diff": { @@ -1139,7 +1139,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "electron-to-chromium": { @@ -1154,11 +1154,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -1167,9 +1167,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "escape-string-regexp": { @@ -1184,44 +1184,44 @@ "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", "dev": true, "requires": { - "ajv": "6.5.1", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "4.0.0", - "eslint-visitor-keys": "1.0.0", - "espree": "4.0.0", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "5.2.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "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", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "string.prototype.matchall": "2.0.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.5.0", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "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", + "regexpp": "^1.1.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" } }, "eslint-scope": { @@ -1230,8 +1230,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -1246,8 +1246,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "4.1.1" + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" } }, "esprima": { @@ -1262,7 +1262,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -1271,7 +1271,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -1295,7 +1295,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -1303,7 +1303,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "external-editor": { @@ -1312,9 +1312,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -1322,7 +1322,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "fast-deep-equal": { @@ -1349,7 +1349,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -1358,8 +1358,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -1372,11 +1372,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "flat-cache": { @@ -1385,10 +1385,10 @@ "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" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "for-in": { @@ -1401,7 +1401,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -1434,12 +1434,12 @@ "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" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -1447,8 +1447,8 @@ "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": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -1456,7 +1456,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -1471,12 +1471,12 @@ "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" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "graceful-fs": { @@ -1497,7 +1497,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -1506,7 +1506,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -1533,7 +1533,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -1554,8 +1554,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1570,19 +1570,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.11", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" } }, "invariant": { @@ -1591,7 +1591,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, "is-buffer": { @@ -1621,7 +1621,7 @@ "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-primitive": "^2.0.0" } }, "is-extendable": { @@ -1645,7 +1645,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -1653,7 +1653,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-path-cwd": { @@ -1668,7 +1668,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -1677,7 +1677,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-posix-bracket": { @@ -1702,7 +1702,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-resolvable": { @@ -1754,8 +1754,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsesc": { @@ -1787,7 +1787,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "levn": { @@ -1796,8 +1796,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "lodash": { @@ -1811,7 +1811,7 @@ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "magic-string": { @@ -1820,7 +1820,7 @@ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "dev": true, "requires": { - "vlq": "0.2.3" + "vlq": "^0.2.2" }, "dependencies": { "vlq": { @@ -1841,19 +1841,19 @@ "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.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { @@ -1868,7 +1868,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1942,7 +1942,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "object-assign": { @@ -1962,8 +1962,8 @@ "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" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { @@ -1972,7 +1972,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -1981,7 +1981,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optionator": { @@ -1990,12 +1990,12 @@ "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" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "os-homedir": { @@ -2015,10 +2015,10 @@ "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" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "path-is-absolute": { @@ -2063,7 +2063,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pluralize": { @@ -2106,9 +2106,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -2135,7 +2135,7 @@ "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "dev": true, "requires": { - "regenerate": "1.4.0" + "regenerate": "^1.4.0" } }, "regenerator-transform": { @@ -2144,7 +2144,7 @@ "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "dev": true, "requires": { - "private": "0.1.8" + "private": "^0.1.6" } }, "regex-cache": { @@ -2152,7 +2152,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regexp.prototype.flags": { @@ -2161,7 +2161,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "^1.1.2" } }, "regexpp": { @@ -2176,12 +2176,12 @@ "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", "dev": true, "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.4.0", - "regjsparser": "0.3.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" } }, "regjsgen": { @@ -2196,7 +2196,7 @@ "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -2228,8 +2228,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "resolve": { @@ -2238,7 +2238,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-from": { @@ -2253,8 +2253,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "rimraf": { @@ -2263,7 +2263,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "rollup": { @@ -2273,7 +2273,7 @@ "dev": true, "requires": { "@types/estree": "0.0.39", - "@types/node": "10.3.6" + "@types/node": "*" } }, "rollup-plugin-buble": { @@ -2282,8 +2282,17 @@ "integrity": "sha512-dxK0prR8j/7qhI2EZDz/evKCRuhuZMpRlUGPrRWmpg5/2V8tP1XFW+Uk0WfxyNgFfJHvy0GmxnJSTb5dIaNljQ==", "dev": true, "requires": { - "buble": "0.19.3", - "rollup-pluginutils": "2.3.0" + "buble": "^0.19.2", + "rollup-pluginutils": "^2.0.1" + } + }, + "rollup-plugin-json": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-3.0.0.tgz", + "integrity": "sha512-WUAV9/I/uFWvHhyRTqFb+3SIapjISFJS7R1xN/cXxWESrfYo9I8ncHI7AxJHflKRXhBVSv7revBVJh2wvhWh5w==", + "dev": true, + "requires": { + "rollup-pluginutils": "^2.2.0" } }, "rollup-pluginutils": { @@ -2291,8 +2300,8 @@ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz", "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", "requires": { - "estree-walker": "0.5.2", - "micromatch": "2.3.11" + "estree-walker": "^0.5.2", + "micromatch": "^2.3.11" } }, "run-async": { @@ -2301,7 +2310,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { @@ -2331,7 +2340,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -2352,7 +2361,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, "source-map": { @@ -2367,8 +2376,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "sprintf-js": { @@ -2383,8 +2392,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "string.prototype.matchall": { @@ -2393,11 +2402,11 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "regexp.prototype.flags": "1.2.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" } }, "strip-ansi": { @@ -2406,7 +2415,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" }, "dependencies": { "ansi-regex": { @@ -2429,7 +2438,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "symbol-observable": { @@ -2444,12 +2453,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "6.5.1", - "ajv-keywords": "3.2.0", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" } }, "text-table": { @@ -2470,7 +2479,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -2490,7 +2499,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "unicode-canonical-property-names-ecmascript": { @@ -2505,8 +2514,8 @@ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "1.0.4", - "unicode-property-aliases-ecmascript": "1.0.4" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -2527,7 +2536,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "vlq": { @@ -2542,7 +2551,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "wordwrap": { @@ -2563,7 +2572,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } } } diff --git a/packages/rollup-plugin-babel/package.json b/packages/rollup-plugin-babel/package.json index 03ccdcc8d..bce139704 100644 --- a/packages/rollup-plugin-babel/package.json +++ b/packages/rollup-plugin-babel/package.json @@ -47,6 +47,7 @@ "mocha": "^5.2.0", "rollup": "^0.62.0", "rollup-plugin-buble": "^0.19.2", + "rollup-plugin-json": "^3.0.0", "source-map": "^0.6.1", "source-map-support": "^0.5.6" }, diff --git a/packages/rollup-plugin-babel/src/index.js b/packages/rollup-plugin-babel/src/index.js index e69000396..2f1587cf1 100644 --- a/packages/rollup-plugin-babel/src/index.js +++ b/packages/rollup-plugin-babel/src/index.js @@ -1,12 +1,13 @@ import { dirname } from 'path'; -import { buildExternalHelpers, transform } from '@babel/core'; +import { buildExternalHelpers, DEFAULT_EXTENSIONS, transform } from '@babel/core'; import { createFilter } from 'rollup-pluginutils'; import createPreflightCheck from './preflightCheck.js'; import helperPlugin from './helperPlugin.js'; -import { warnOnce } from './utils.js'; +import { escapeRegExpCharacters, warnOnce } from './utils.js'; import { RUNTIME, EXTERNAL, HELPERS } from './constants.js'; const unpackOptions = ({ + extensions = DEFAULT_EXTENSIONS, // rollup uses sourcemap, babel uses sourceMaps // just normalize them here so people don't have to worry about it sourcemap = true, @@ -15,13 +16,15 @@ const unpackOptions = ({ sourceMaps = true, ...rest } = {}) => ({ + extensions, sourceMaps: sourcemap && sourcemaps && sourceMap && sourceMaps, - ...rest + ...rest, }); export default function babel ( options ) { const { exclude, + extensions, externalHelpers, externalHelpersWhitelist, include, @@ -29,7 +32,9 @@ export default function babel ( options ) { ...babelOptions } = unpackOptions(options); - const filter = createFilter( include, exclude ); + const extensionRegExp = new RegExp(`(${extensions.map(escapeRegExpCharacters).join('|')})$`); + const includeExcludeFilter = createFilter( include, exclude ); + const filter = id => extensionRegExp.test(id) && includeExcludeFilter(id); const preflightCheck = createPreflightCheck(); return { diff --git a/packages/rollup-plugin-babel/src/utils.js b/packages/rollup-plugin-babel/src/utils.js index 84a9d1a23..97b1f04c0 100644 --- a/packages/rollup-plugin-babel/src/utils.js +++ b/packages/rollup-plugin-babel/src/utils.js @@ -4,3 +4,6 @@ export function warnOnce ( ctx, msg ) { warned[ msg ] = true; ctx.warn( msg ); } + +const regExpCharactersRegExp = /[\\^$.*+?()[\]{}|]/g; +export const escapeRegExpCharacters = str => str.replace(regExpCharactersRegExp, '\\$&'); diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es new file mode 100644 index 000000000..469eb61ef --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es @@ -0,0 +1 @@ +export default class Es {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es6 b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es6 new file mode 100644 index 000000000..23f92eb98 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.es6 @@ -0,0 +1 @@ +export default class Es6 {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.js b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.js new file mode 100644 index 000000000..a1269dfc8 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.js @@ -0,0 +1 @@ +export default class Js {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.jsx b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.jsx new file mode 100644 index 000000000..613e5a504 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.jsx @@ -0,0 +1 @@ +export default class Jsx {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.mjs b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.mjs new file mode 100644 index 000000000..07a418f6e --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.mjs @@ -0,0 +1 @@ +export default class Mjs {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.other b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.other new file mode 100644 index 000000000..7480446b2 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/ext.other @@ -0,0 +1 @@ +export default class Other {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-custom/main.js b/packages/rollup-plugin-babel/test/samples/extensions-custom/main.js new file mode 100644 index 000000000..63cda60df --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-custom/main.js @@ -0,0 +1,6 @@ +export { default as Js } from './ext.js'; +export { default as Jsx } from './ext.jsx'; +export { default as Es6 } from './ext.es6'; +export { default as Es } from './ext.es'; +export { default as Mjs } from './ext.mjs'; +export { default as Other } from './ext.other'; diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.es b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.es new file mode 100644 index 000000000..469eb61ef --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.es @@ -0,0 +1 @@ +export default class Es {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.es6 b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.es6 new file mode 100644 index 000000000..23f92eb98 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.es6 @@ -0,0 +1 @@ +export default class Es6 {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.js b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.js new file mode 100644 index 000000000..a1269dfc8 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.js @@ -0,0 +1 @@ +export default class Js {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.json b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.json new file mode 100644 index 000000000..c7cd4a612 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.json @@ -0,0 +1 @@ +{"json": true} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.jsx b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.jsx new file mode 100644 index 000000000..613e5a504 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.jsx @@ -0,0 +1 @@ +export default class Jsx {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.mjs b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.mjs new file mode 100644 index 000000000..07a418f6e --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.mjs @@ -0,0 +1 @@ +export default class Mjs {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/ext.other b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.other new file mode 100644 index 000000000..7480446b2 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/ext.other @@ -0,0 +1 @@ +export default class Other {} diff --git a/packages/rollup-plugin-babel/test/samples/extensions-default/main.js b/packages/rollup-plugin-babel/test/samples/extensions-default/main.js new file mode 100644 index 000000000..46bf5b530 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/extensions-default/main.js @@ -0,0 +1,7 @@ +export { default as Js } from './ext.js'; +export { default as Jsx } from './ext.jsx'; +export { default as Es6 } from './ext.es6'; +export { default as Es } from './ext.es'; +export { default as Mjs } from './ext.mjs'; +export { default as Json } from './ext.json'; +export { default as Other } from './ext.other'; diff --git a/packages/rollup-plugin-babel/test/test.js b/packages/rollup-plugin-babel/test/test.js index a6060c0d6..e027981f1 100644 --- a/packages/rollup-plugin-babel/test/test.js +++ b/packages/rollup-plugin-babel/test/test.js @@ -2,6 +2,7 @@ var assert = require( 'assert' ); var path = require( 'path' ); var rollup = require( 'rollup' ); var SourceMapConsumer = require( 'source-map' ).SourceMapConsumer; +var jsonPlugin = require( 'rollup-plugin-json' ); var babelPlugin = require( '..' ); // from ./src/constants @@ -212,4 +213,30 @@ describe( 'rollup-plugin-babel', function () { assert.ok( code.indexOf('class Ignored') !== -1 ); }); }); + + it( 'transpiles only files with default extensions', () => { + return bundle('samples/extensions-default/main.js', undefined, undefined, { + plugins: [babelPlugin(), jsonPlugin()], + }).then(({ code }) => { + assert.ok( code.indexOf('class Es ') === -1, 'should transpile .es' ); + assert.ok( code.indexOf('class Es6 ') === -1, 'should transpile .es6' ); + assert.ok( code.indexOf('class Js ') === -1, 'should transpile .js' ); + assert.ok( code.indexOf('class Jsx ') === -1, 'should transpile .jsx' ); + assert.ok( code.indexOf('class Mjs ') === -1, 'should transpile .mjs' ); + assert.ok( code.indexOf('class Other ') !== -1, 'should not transpile .other' ); + }); + }); + + it( 'transpiles only files with whitelisted extensions', () => { + return bundle('samples/extensions-custom/main.js', { + extensions: ['.js', '.other'] + }).then(({ code }) => { + assert.ok( code.indexOf('class Es ') !== -1, 'should not transpile .es' ); + assert.ok( code.indexOf('class Es6 ') !== -1, 'should not transpile .es6' ); + assert.ok( code.indexOf('class Js ') === -1, 'should transpile .js' ); + assert.ok( code.indexOf('class Jsx ') !== -1, 'should not transpile .jsx' ); + assert.ok( code.indexOf('class Mjs ') !== -1, 'should not transpile .mjs' ); + assert.ok( code.indexOf('class Other ') === -1, 'should transpile .other' ); + }); + }); });