From 440dbc4f53c8ded33f2ad58f10ea647b30807435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sun, 26 Apr 2020 23:53:36 +0200 Subject: [PATCH] chore: migrate rollup-plugin-babel (#108) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * initial commit * allow include/exclude * admin and README * -> 1.0.0 * fix prepublish script * Update README.md * make compatible with babel 6 * -> 2.0.0 * Merge pull request #6 from Victorystick/patch-1 Add repository * Merge pull request #8 from TrySound/tidy-up Tidy up * -> 2.0.1 * remove unnecessary logging * bump up timeout, to try and fix tests on 0.12 * generate sourcemaps by default * -> 2.1.0 * test for #16 * run preflight check per file – fixes #16 * -> 2.2.0 * Merge branch 'master' of https://github.com/rollup/rollup-plugin-babel * debug travis test failure * add missing devDep * add appveyor config * es6ify source code * fix tests on windows? * install babel-register * Merge pull request #19 from rollup/gh-17 Better handling of helpers * -> 2.3.0 * -> 2.3.2 * fix incomprehensible travis test failure * fix helper renaming (#22) * -> 2.3.3 * fix failing preflight check in absence of class transformer (closes #23) * -> 2.3.4 * Merge branch 'master' of https://github.com/rollup/rollup-plugin-babel * use class transformer local to plugin * -> 2.3.5 * typo * verify warnings are correct * prevent unnecessary `var babelHelpers = {}` * update rollup * Merge pull request #29 from rollup/fix-preflight-check-caching Ensure caching works properly for repeated calls with the same `dir`. * -> 2.3.6 * remove some debugging code * Merge pull request #31 from ericf/fix-babel-helper-bindings Fix Babel helper binding renaming * -> 2.3.7 * -> 2.3.8 * external-helpers-2 -> external-helpers * Merge remote-tracking branch 'ericf/remove-babel-helper-renaming' * -> 2.3.9 * Update README.md * Merge pull request #41 from joeldenning/external-helpers Adding support for referencing external, global helpers * -> 2.4.0 * import helpers, so that transform function is pure * update test * update deps, switch from babel to buble * -> v2.5.0 * install buble * Merge pull request #57 from rollup/mocha-opts Extract mocha options into their own file. * Merge pull request #56 from rollup/gh-55 typeof * -> v2.5.1 * Update dependencies. * dont export _typeof, _extends etc * use NUL convention for helper name * -> v2.6.0 * -> v2.6.1 * typo * Merge pull request #73 from zeitiger/updateDocumentationForBabel63 update README for new Babel 6.13 * update dependencies * Merge branch 'issue/81-generates-sourcemap-by-default-spec-failing' of https://github.com/snuggs/rollup-plugin-babel into snuggs-issue/81-generates-sourcemap-by-default-spec-failing * update build matrix * update appveyor matrix * update babel-preset-es2015-rollup for tests * test with babel-preset-es2015-rollup@3 * Merge pull request #90 from DrewML/update-babel-warning Remove recommendation to change Babel preset from lib * Merge pull request #85 from rollup/use-onwarn-if-available Use options.onwarn if available * Merge pull request #94 from rtsao/patch-1 Updated external-helpers package name in README * Merge pull request #99 from AMcBain/master Ignore Babel 'only' options property for preflight checks. * Merge pull request #92 from sorgloomer/master Added externalHelpersWhitelist option * -> v2.7.0 * Merge pull request #108 from rollup/gh-102 remove ignore from preflight options * Merge pull request #107 from rollup/gh-105 fix duplicated helper warnings with runtime helpers * Merge pull request #109 from rollup/gh-95 Allow custom runtime-helpers moduleName * -> v2.7.1 * -> v2.7.1 * fix prepublish script * Merge pull request #117 from vinkla/patch-1 Simplify repository config * make use of object-assign (#118) Delete assign from utils.js * Breaking: Babel 7 alpha update (#139) Breaking: Babel 7 alpha update * 3.0.0-alpha.12 * update to babel 7 alpha.15 * 3.0.0-alpha.15 * use alpha.17 (#151) * 3.0.0-alpha.17 * Peer dep (#153) * make an inline plugin for the preflight check, make babel-core a peerDep * turn babel-core dep into a peerDep * fix reference to old class plugin * update lock file, ignore log files * 3.0.0 * 3.0.0 changelog [skip ci] * fix transform (#154) * 3.0.1 * changelog [skip ci] * Fix regression with Babel 6 (#158) * Fix regression with Babel 6 Since in Babel 6 it is not supported to replace the argument of a default export declaration with an expression, use a custom "replaceWith" function which handles also that case. Fixes #155, fixes #156. * Run tests using both Babel 7 and Babel 6 * 3.0.2 * Fixed support for babel 7 (#170) * Fixed support for babel 7 * feat(babel): Use scoped babel packages BREAKING CHANGE: This now requires scoped babel packages to be used. * Updated to @babel/plugin-proposal-decorators * Replace es2015 preset with env (#174) * Merge pull request #150 from wmhilton/patch-1 Use "module" in addition to "jsnext:main" * 4.0.0-beta.0 * Merge pull request #175 from rollup/existentialism-patch-1 Fix small grammar nit in external-helpers warning * Update README.md (#163) Added a missing word and fixed few tiny errors * Update rollup dependencies and fix tests and build * merge master -> update-deps * Merge pull request #147 from kopax/master clarify README.md showing an example excluding helpers with a variable set to true * Refactored async tests to bare promises to fix them on older nodes (#194) * Fixed issue with reading .code from null (untranspiled file due to ignore/only options) (#193) * 4.0.0-beta.2 * Restore NUL convention for helper name (#198) The null character `\0` seems to have first been introduced by d169da1. Fixes #197 * 4.0.0-beta.3 * bumped babel deps * 4.0.0-beta.4 * Fix npm beta label in README (#207) Previously, the instructions for usage with Babel 7 was to install the plugin with the label "next" which doesn't exist. The correct label is "beta". * Bumped version of babel deps * Tweaked preflight check (fixes #211) * 4.0.0-beta.5 * Drop node@4 support * Bumped all dependencies. (#219) * Update pinned version of babel. * Update all development dependencies so this plugin is tested against current software. * Make changes to test needed by updated rollup. * Add node.js 10 to testing. * Delegate warnings and errors reporting to rollup (#223) * Delegate warnings and errors reporting to rollup * Fixed mocha deprecation warn * Merge branch 'option-cleanup' * Cache preflight check results per plugin's instance (#224) * Merge remote-tracking branch 'miketrexler/modules-false-docs' * Tweaked babelrc: false workaround recommendation * Throw when used with module transform BEFORE throwing about unexpected situation (#225) * Updated deps: eslint, rollup, pluginutils - tests still green * Fix for issue #220: Check ESM first before checking inheritance helper + Expect imported package instead of variable name which feels safer for checking runtime usage. * Fine-tuned runtime check to allow custom helper name. Issue #220. * Added new previously failing test for issue #220. * Made hints related to babel modules:false more explicit and helpful. * Extracted error messages into variables, splitted by lines for better code readability. Template literals are not allowed right now by linting. * Removed irrelevant babel plugin from a test case * 4.0.0-beta.6 * Fixed runtime helpers detection with useESModules & useBuiltIns options (#226) * Add support for esm and builtin runtime helpers This diff adds support for `useESModules` and `useBuiltIns` options in transform-runtime plugin which injects paths with `es6` and `builtin` suffixes. * Fix lint * 4.0.0-beta.7 * Improve distributed dist directory (#234) * Improve dist - rename .es.js to .esm.js - removed jsnext:main - simplified rollup config * Tweak files and revert external * Upgrade babel deps and tweak preflight check according to latest changes (#233) * Upgrade babel and tweak according changes - simplified preflight check for runtime helpers - removed moduleName test - tweaked removed options * Fix lint * Regenerate lockfile * 4.0.0-beta.8 * Transpile only default babel extensions, allow for custom extensions option (fixes #111) * Pass appropriate caller config to babel.transform (#238) * 4.0.0 * Update docs regarding babel versions and matching plugin versions * Bumped babel deps * 4.0.1 * Fix `rollup` peer dependency (#240) Semver range `^0.60.0` doesn't include `0.65.0`, etc., as if major version is 0, minor version updates indicate breaking changes. `>1` is added for future-proof. * 4.0.2 * Tweaked README, added 4.0 CHANGELOG notes * Fixed fallbackClassTransform * 4.0.3-0 * 4.0.3 * Fix preflightChecks for ignored files * Setup prettier * Run prettier over the repo files * Tweak eslint rules to stop conflicting with prettier output * 4.1.0-0 * Add options.extensions to README (#256) * Upgraded husky * Remove babel 6 test from AppVeyor (#263) * Remove babel 6 test from appveyor * Remove reduntant echo * Fix indentation in examples of configuration in readme (#266) * Return null from the transform hook when it doesn't transform anything * 4.1.0-1 * 4.1.0 * Reword 'except' as 'plus' (#280) * Allow rollup@1 as peer dep * 4.2.0 * Update devDep to rollup@1 * Fail build when trying plugin tries to add non-existent helper (#290) * Merge branch 'custom-builder' * 4.3.0 * Fix reference to the plugin in the README * Update CHANGELOG * Add js extention to helper file (#296) * 4.3.1 * Add note to CHANGELOG about v4.3.1 * Fix usage with externalHelpers flag * 4.3.2 * Update CHANGELOG with note about 4.3.2 * chore: audit fixes * chore: npm audit fix * Update rollup-pluginutils@2.8.1 (#311) * Update rollup-pluginutils@2.8.1 Update `rollup-pluginutils` to a version which contains a fix for the `braces` package vulnerability. https://nodesecurity.io/advisories/786 * Regenerate package-lock * 4.3.3 * Add possibility to run babel per output (#333) * Update dependencies * First draft for using the plugin to transform output options * Deduplicate code * Pass correct context to transformCode * Update documentation and add chunking test * Fix Windows tests * Address review comments * No longer respect "file" and "dir" options and adjust docs * Use plugin.generated for output plugin * Add warning for formats other than ESM or CJS, update docs * Throw for not recommended formats but add an override option. * Address review comments * Fixed issue with incorrect caller data being passed to Babel by generated output plugins * Reduce information about external helpers as those are not recommended * Add `sourceType` when transforming the output. * Update test and readme for runtime helpers * Add note about babelrc files * Do not load config files by default * Update dependencies * Note minimal Rollup version for output plugins * Merge branch 'tla' # Conflicts: # src/index.js * Use babel.transformAsync (#331) * Use rimraf in prebuild script (#335) * use rimraf * move to dev dep * Drop node 6 support, use untranspiled async/await syntax * Recommend explicit babelHelpers option to be used (#339) * Refactored babelHelpers settings - require user declaring which kind of helpers they want to use * Adjust tests to new babelHelpers logic * Keep UNRESOLVED_IMPORT warnings out of the console when running tests * 5.0.0-alpha.0 * Rename skipBabelHelpersCheck to skipPreflightCheck * Make missing babelHelpers a warning * 5.0.0-alpha.1 * Use transformAsync in preflight check * Tweak implementation of the preflight helpers check * Add example to the README how to use the plugin with the Rollup CLI (#327) * explain how to configure the rollup cli * Tweak README * Dont crash on minified code when performing preflight check * Rename rollup-plugin-babel directory to babel * Remove tooling configs not needed in monorepo * Drop transpilation of rollup-plugin-babel, set engines to node@>=10 * Reformat babel plugin with monorepo prettier & ESLint rules * Use exports: named for babel plugin CJS bundle * Migrate babel plugin tests to use ava * Use pnpm to run npm scripts in babel plugin * Use scoped @rollup/plugin-json in babel plugin * Remove unnecessary eslint-disable comment * Update babel plugin metadata to point to monorepo * Remove LICENSE file from babel plugin, pnpm will use the root one when publishing * Move .eslints with turned off rules to fixtures directory * Move loop counter declaration * use getCode helper where possible * Use more proper throwsAsync & notThrowsAsync assertions * Transpile @rollup/plugin-babel using itself * Migrate to use @rollup/pluginutils in babel plugin * Set peer dep range for rollup to ^1.20.0 to align with the rest of plugins * Fix homepage in babel plugin package.json * Include repository reference in test descriptionbs refering to issue numbers * Change URLs in the source files to point to a plugins repo * Change rollup-plugin-babel to @rollup/plugin-babel in source files * cleanup README a little bit * Tweak "Modules" section, remove mentions of Babel 6 from there * Fix some more references to rollup-plugin-babel * Add badges to the top of the README * Adhere to the README template used by other plugins * Tweak CHANGELOG * Mention Babel plugin in the root README * Add publishConfig to package.json of the Babel plugin * Update packages/babel/README.md Co-Authored-By: Tiger Oakes * Update packages/babel/README.md Co-Authored-By: Tiger Oakes * Fixed how @rollup/pluginutils are used * Allow Rollup 2 in peer dependency range * Refactor babel plugin exports shape * tweak usage example in the babel plugin README * Align package.json of Babel plugin to existing package.json files in the monorepo * Update @rollup/pluginutils in the Babel plugin * Add new changelog entries to the Babel plugin * Move babelHelpers recommendation text to the README * Fix typo in the README * chore: remove prepare script, build in prepublishOnly This avoids fresh `pnpm install` problems where the build runs before babel plugins are installed. * Upgrade @babel/preset-env in babel plugin Co-authored-by: Rich-Harris Co-authored-by: Oskar Segersvärd Co-authored-by: Brian Donovan Co-authored-by: Yuta Hiroto Co-authored-by: Henry Zhu Co-authored-by: Nicolò Ribaudo Co-authored-by: Denis Co-authored-by: Daniel Tschinder Co-authored-by: Brian Ng Co-authored-by: Roy Revelt Co-authored-by: Minh Nguyen Co-authored-by: Can Göktas Co-authored-by: Corey Farrell Co-authored-by: Sebastian Werner Co-authored-by: Bogdan Chadkin Co-authored-by: ylemkimon Co-authored-by: Kristoffer Co-authored-by: Shadab Khan Co-authored-by: Adam Gołąb Co-authored-by: Kinrany Co-authored-by: Mike Heddes Co-authored-by: shellscape Co-authored-by: Ryan Walters Co-authored-by: Lukas Taegert-Atkinson Co-authored-by: Troy Rhinehart Co-authored-by: Josh Soref Co-authored-by: Tiger Oakes --- README.md | 1 + packages/babel/CHANGELOG.md | 164 ++ packages/babel/README.md | 352 ++++ packages/babel/package.json | 77 + packages/babel/rollup.config.js | 20 + packages/babel/src/bundledHelpersPlugin.js | 22 + packages/babel/src/constants.js | 8 + packages/babel/src/index.js | 219 +++ packages/babel/src/preflightCheck.js | 76 + packages/babel/src/transformCode.js | 48 + packages/babel/src/utils.js | 16 + packages/babel/test/as-input-plugin.js | 430 +++++ packages/babel/test/as-output-plugin.js | 359 ++++ packages/babel/test/fixtures/.babelrc | 3 + packages/babel/test/fixtures/.eslintrc | 10 + packages/babel/test/fixtures/basic/main.js | 2 + .../babel/test/fixtures/checks/foo/.babelrc | 3 + .../babel/test/fixtures/checks/foo/index.js | 1 + packages/babel/test/fixtures/checks/main.js | 5 + packages/babel/test/fixtures/chunks/dep.js | 1 + packages/babel/test/fixtures/chunks/main.js | 1 + .../babel/test/fixtures/class-loose/.babelrc | 3 + .../babel/test/fixtures/class-loose/main.js | 5 + packages/babel/test/fixtures/class/main.js | 5 + .../test/fixtures/config-file/config.json | 3 + .../babel/test/fixtures/config-file/main.js | 2 + .../babel/test/fixtures/exclusions/foo.js | 1 + .../babel/test/fixtures/exclusions/main.js | 3 + .../test/fixtures/extensions-custom/ext.es | 1 + .../test/fixtures/extensions-custom/ext.es6 | 1 + .../test/fixtures/extensions-custom/ext.js | 1 + .../test/fixtures/extensions-custom/ext.jsx | 1 + .../test/fixtures/extensions-custom/ext.mjs | 1 + .../test/fixtures/extensions-custom/ext.other | 1 + .../test/fixtures/extensions-custom/main.js | 7 + .../test/fixtures/extensions-default/ext.es | 1 + .../test/fixtures/extensions-default/ext.es6 | 1 + .../test/fixtures/extensions-default/ext.js | 1 + .../test/fixtures/extensions-default/ext.json | 1 + .../test/fixtures/extensions-default/ext.jsx | 1 + .../test/fixtures/extensions-default/ext.mjs | 1 + .../fixtures/extensions-default/ext.other | 1 + .../test/fixtures/extensions-default/main.js | 8 + .../test/fixtures/external-helpers/.babelrc | 4 + .../test/fixtures/external-helpers/bar.js | 1 + .../test/fixtures/external-helpers/foo.js | 1 + .../test/fixtures/external-helpers/main.js | 4 + .../babel/test/fixtures/ignored-file/.babelrc | 4 + .../test/fixtures/ignored-file/ignored.js | 1 + .../babel/test/fixtures/ignored-file/main.js | 1 + .../fixtures/named-function-helper/_config.js | 4 + .../fixtures/named-function-helper/main.js | 11 + .../fixtures/no-class-transformer/.babelrc | 1 + .../fixtures/no-class-transformer/main.js | 1 + .../test/fixtures/preserve-modules/dep.js | 1 + .../test/fixtures/preserve-modules/main.js | 4 + .../fixtures/proposal-decorators/.babelrc | 6 + .../test/fixtures/proposal-decorators/main.js | 6 + .../runtime-helpers-builtins/.babelrc | 6 + .../fixtures/runtime-helpers-builtins/main.js | 1 + .../runtime-helpers-commonjs/.babelrc | 4 + .../fixtures/runtime-helpers-commonjs/main.js | 1 + .../fixtures/runtime-helpers-esm/.babelrc | 6 + .../test/fixtures/runtime-helpers-esm/main.js | 1 + .../test/fixtures/runtime-helpers/.babelrc | 4 + .../test/fixtures/runtime-helpers/main.js | 1 + packages/babel/test/fixtures/typeof/bar.js | 3 + packages/babel/test/fixtures/typeof/foo.js | 3 + packages/babel/test/fixtures/typeof/main.js | 4 + packages/typescript/src/index.ts | 12 +- pnpm-lock.yaml | 1589 +++++++++++------ 71 files changed, 3045 insertions(+), 508 deletions(-) create mode 100644 packages/babel/CHANGELOG.md create mode 100644 packages/babel/README.md create mode 100644 packages/babel/package.json create mode 100644 packages/babel/rollup.config.js create mode 100644 packages/babel/src/bundledHelpersPlugin.js create mode 100644 packages/babel/src/constants.js create mode 100644 packages/babel/src/index.js create mode 100644 packages/babel/src/preflightCheck.js create mode 100644 packages/babel/src/transformCode.js create mode 100644 packages/babel/src/utils.js create mode 100644 packages/babel/test/as-input-plugin.js create mode 100644 packages/babel/test/as-output-plugin.js create mode 100644 packages/babel/test/fixtures/.babelrc create mode 100644 packages/babel/test/fixtures/.eslintrc create mode 100644 packages/babel/test/fixtures/basic/main.js create mode 100644 packages/babel/test/fixtures/checks/foo/.babelrc create mode 100644 packages/babel/test/fixtures/checks/foo/index.js create mode 100644 packages/babel/test/fixtures/checks/main.js create mode 100644 packages/babel/test/fixtures/chunks/dep.js create mode 100644 packages/babel/test/fixtures/chunks/main.js create mode 100644 packages/babel/test/fixtures/class-loose/.babelrc create mode 100644 packages/babel/test/fixtures/class-loose/main.js create mode 100644 packages/babel/test/fixtures/class/main.js create mode 100644 packages/babel/test/fixtures/config-file/config.json create mode 100644 packages/babel/test/fixtures/config-file/main.js create mode 100644 packages/babel/test/fixtures/exclusions/foo.js create mode 100644 packages/babel/test/fixtures/exclusions/main.js create mode 100644 packages/babel/test/fixtures/extensions-custom/ext.es create mode 100644 packages/babel/test/fixtures/extensions-custom/ext.es6 create mode 100644 packages/babel/test/fixtures/extensions-custom/ext.js create mode 100644 packages/babel/test/fixtures/extensions-custom/ext.jsx create mode 100644 packages/babel/test/fixtures/extensions-custom/ext.mjs create mode 100644 packages/babel/test/fixtures/extensions-custom/ext.other create mode 100644 packages/babel/test/fixtures/extensions-custom/main.js create mode 100644 packages/babel/test/fixtures/extensions-default/ext.es create mode 100644 packages/babel/test/fixtures/extensions-default/ext.es6 create mode 100644 packages/babel/test/fixtures/extensions-default/ext.js create mode 100644 packages/babel/test/fixtures/extensions-default/ext.json create mode 100644 packages/babel/test/fixtures/extensions-default/ext.jsx create mode 100644 packages/babel/test/fixtures/extensions-default/ext.mjs create mode 100644 packages/babel/test/fixtures/extensions-default/ext.other create mode 100644 packages/babel/test/fixtures/extensions-default/main.js create mode 100644 packages/babel/test/fixtures/external-helpers/.babelrc create mode 100644 packages/babel/test/fixtures/external-helpers/bar.js create mode 100644 packages/babel/test/fixtures/external-helpers/foo.js create mode 100644 packages/babel/test/fixtures/external-helpers/main.js create mode 100644 packages/babel/test/fixtures/ignored-file/.babelrc create mode 100644 packages/babel/test/fixtures/ignored-file/ignored.js create mode 100644 packages/babel/test/fixtures/ignored-file/main.js create mode 100644 packages/babel/test/fixtures/named-function-helper/_config.js create mode 100644 packages/babel/test/fixtures/named-function-helper/main.js create mode 100644 packages/babel/test/fixtures/no-class-transformer/.babelrc create mode 100644 packages/babel/test/fixtures/no-class-transformer/main.js create mode 100644 packages/babel/test/fixtures/preserve-modules/dep.js create mode 100644 packages/babel/test/fixtures/preserve-modules/main.js create mode 100644 packages/babel/test/fixtures/proposal-decorators/.babelrc create mode 100644 packages/babel/test/fixtures/proposal-decorators/main.js create mode 100644 packages/babel/test/fixtures/runtime-helpers-builtins/.babelrc create mode 100644 packages/babel/test/fixtures/runtime-helpers-builtins/main.js create mode 100644 packages/babel/test/fixtures/runtime-helpers-commonjs/.babelrc create mode 100644 packages/babel/test/fixtures/runtime-helpers-commonjs/main.js create mode 100644 packages/babel/test/fixtures/runtime-helpers-esm/.babelrc create mode 100644 packages/babel/test/fixtures/runtime-helpers-esm/main.js create mode 100644 packages/babel/test/fixtures/runtime-helpers/.babelrc create mode 100644 packages/babel/test/fixtures/runtime-helpers/main.js create mode 100644 packages/babel/test/fixtures/typeof/bar.js create mode 100644 packages/babel/test/fixtures/typeof/foo.js create mode 100644 packages/babel/test/fixtures/typeof/main.js diff --git a/README.md b/README.md index b65e1a9d0..2ef3a832c 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ This repository houses plugins that Rollup considers critical to every day use o | ------------------------------------- | ----------------------------------------------------------------------------------------- | | [alias](packages/alias) | Define and resolve aliases for bundle dependencies | | [auto-install](packages/auto-install) | Automatically install dependencies that are imported by a bundle. | +| [babel](packages/babel) | Compile your filed with Babel | | [beep](packages/beep) | System beeps on errors and warnings | | [buble](packages/buble) | Compile ES2015 with buble | | [commonjs](packages/commonjs) | Convert CommonJS modules to ES6 | diff --git a/packages/babel/CHANGELOG.md b/packages/babel/CHANGELOG.md new file mode 100644 index 000000000..27648b3c0 --- /dev/null +++ b/packages/babel/CHANGELOG.md @@ -0,0 +1,164 @@ +# @rollup/plugin-babel changelog + +## 5.0.0 + +- **Breaking:** Minimum compatible Rollup version is 1.2.0 +- **Breaking:** Minimum supported Node version is 8.0.0 +- **Breaking:** `.custom` factory is now available as separate `createBabelInputPluginFactory` export +- **Breaking:** Removed `externalHelpers` & `externalHelpers` options. There is now a single `babelHelpers` option which can take one of `'bundled'`, `'inline'`, `'runtime'` and `'external'` as a value. The default is `'bundled'` which matches 4.x behavior, but it is recommended to configure this option explicitly. +- Added `getBabelOutputPlugin` and `createBabelOutputPluginFactory` exports which can be used to transform generated code +- Default export got also exported as `getBabelInputPlugin` for symmetry with `getBabelOutputPlugin` +- Added `skipPreflightCheck` option. The plugin performs some extra checks to see if the passed configuration is correct and matching its expectations. This comes with some runtime overhead and can slow down builds. If you know what you are doing and you are confident that you have configured things correctly you can disable those checks with this option. +- Published as `@rollup/plugin-babel` + +## 4.3.2 + +- Fixed usage with `externalHelpers: true` option + +## 4.3.1 + +- Add `.js` extension to the virtual babel helpers file (only matters when using `preserveModules` option in rollup) + +## 4.3.0 + +- Added `.custom` builder. +- Fail build when a plugin tries to add non existent babel helper + +## 4.2.0 + +Allow `rollup@1` as peer dependency. + +## 4.1.0 + +- Fixed "preflight check" for ignored files. +- Return `null` when no transformation has been done (fixing source maps for this case) + +## 4.0.3 + +Fixed fallback class transform in "preflight check". + +## 4.0.2 + +Fixed `rollup` peer dependency. + +## 4.0.0 + +Babel 7 compatible! (dropped Babel 6 compatibility though). + +Additionally: + +- Internal preflight checks are created now per plugin instance, so using 2 instances of rollup-plugin-babel (i.e. targeting 2 different set of files with include/exclude options) shouldn't conflict with each other +- Transpiling by default only what Babel transpiles - files with those extensions: .js, .jsx, .es6, .es, .mjs. You can customize this with new `extensions` option. This also fixes long standing issue with rollup-plugin-babel trying to transform JSON files. + +## 3.0.3 + +- Drop babel7 support. Use 4.0.0-beta if you use babel 7 +- Use "module" in addition to "jsnext:main" ([#150](https://github.com/rollup/rollup-plugin-babel/issues/150)) +- Remove unused babel helpers namespace declaration & expression ([#164](https://github.com/rollup/rollup-plugin-babel/issues/164)) + +## 3.0.2 + +- Fix regression with Babel 6 ([#158](https://github.com/rollup/rollup-plugin-babel/issues/158)) + +## 3.0.1 + +- Wasn't working, fix bug with transform (not using es2015-classes for preflight check) + +## 3.0.0 + +- Drop Node 0.10/0.12 (Use native `Object.assign`) +- Change `babel-core` to be a peerDependency +- Support `babel-core` v7 as well as a peerDep (no changes necessary) + +## 2.7.1 + +- Prevent erroneous warnings about duplicated runtime helpers ([#105](https://github.com/rollup/rollup-plugin-babel/issues/105)) +- Ignore `ignore` option in preflight check ([#102](https://github.com/rollup/rollup-plugin-babel/issues/102)) +- Allow custom `moduleName` with `runtime-helpers` ([#95](https://github.com/rollup/rollup-plugin-babel/issues/95)) + +## 2.7.0 + +- Add `externalHelpersWhitelist` option ([#92](https://github.com/rollup/rollup-plugin-babel/pull/92)) +- Ignore `only` option during preflight checks ([#98](https://github.com/rollup/rollup-plugin-babel/issues/98)) +- Use `options.onwarn` if available ([#84](https://github.com/rollup/rollup-plugin-babel/issues/84)) +- Update documentation and dependencies + +## 2.6.1 + +- Return a `name` + +## 2.6.0 + +- Use `\0` convention for helper module ID ([#64](https://github.com/rollup/rollup-plugin-babel/issues/64)) + +## 2.5.1 + +- Don't mutate `options.plugins` ([#47](https://github.com/rollup/rollup-plugin-babel/issues/47)) + +## 2.5.0 + +- Import `babelHelpers` rather than injecting them – allows `transform` function to be pure ([#rollup/658](https://github.com/rollup/rollup/pull/658#issuecomment-223876824)) + +## 2.4.0 + +- Add `externalHelpers` option ([#41](https://github.com/rollup/rollup-plugin-babel/pull/41)) + +## 2.3.9 + +- Do not rename Babel helpers ([#34](https://github.com/rollup/rollup-plugin-babel/pull/34)) + +## 2.3.8 + +- Create new version to (hopefully) solve bizarre CI issue + +## 2.3.7 + +- Be less clever about renaming Babel helpers ([#19](https://github.com/rollup/rollup-plugin-babel/issues/19)) + +## 2.3.6 + +- Fix cache misses in preflight check ([#29](https://github.com/rollup/rollup-plugin-babel/pull/29)) + +## 2.3.5 + +- Use class transformer local to plugin, not project being built + +## 2.3.4 + +- Ensure class transformer is present for preflight check, and only run check once per directory ([#23](https://github.com/rollup/rollup-plugin-babel/issues/23)) + +## 2.3.3 + +- Fix helper renaming ([#22](https://github.com/rollup/rollup-plugin-babel/issues/22)) + +## 2.3.1-2 + +- Include correct files in npm package + +## 2.3.0 + +- Allow `transform-runtime` Babel plugin, if combined with `runtimeHelpers: true` option ([#17](https://github.com/rollup/rollup-plugin-babel/issues/17)) +- More permissive handling of helpers – only warn if inline helpers are duplicated +- Handle plugins that change export patterns ([#18](https://github.com/rollup/rollup-plugin-babel/issues/18)) + +## 2.2.0 + +- Preflight checks are run per-file, to avoid configuration snafus ([#16](https://github.com/rollup/rollup-plugin-babel/issues/16)) + +## 2.1.0 + +- Generate sourcemaps by default + +## 2.0.1 + +- Use object-assign ponyfill +- Add travis support +- Fix test + +## 2.0.0 + +- Babel 6 compatible + +## 1.0.0 + +- First release diff --git a/packages/babel/README.md b/packages/babel/README.md new file mode 100644 index 000000000..86f927a9a --- /dev/null +++ b/packages/babel/README.md @@ -0,0 +1,352 @@ +[npm]: https://img.shields.io/npm/v/@rollup/plugin-babel +[npm-url]: https://www.npmjs.com/package/@rollup/plugin-babel +[size]: https://packagephobia.now.sh/badge?p=@rollup/plugin-babel +[size-url]: https://packagephobia.now.sh/result?p=@rollup/plugin-babel + +[![npm][npm]][npm-url] +[![size][size]][size-url] +[![libera manifesto](https://img.shields.io/badge/libera-manifesto-lightgrey.svg)](https://liberamanifesto.com) + +# @rollup/plugin-babel + +🍣 A Rollup plugin for seamless integration between Rollup and Babel. + +## Why? + +If you're using Babel to transpile your ES6/7 code and Rollup to generate a standalone bundle, you have a couple of options: + +- run the code through Babel first, being careful to exclude the module transformer, or +- run the code through Rollup first, and _then_ pass it to Babel. + +Both approaches have disadvantages – in the first case, on top of the additional configuration complexity, you may end up with Babel's helpers (like `classCallCheck`) repeated throughout your code (once for each module where the helpers are used). In the second case, transpiling is likely to be slower, because transpiling a large bundle is much more work for Babel than transpiling a set of small files. + +Either way, you have to worry about a place to put the intermediate files, and getting sourcemaps to behave becomes a royal pain. + +Using Rollup with `@rollup/plugin-babel` makes the process far easier. + +## Requirements + +This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v8.0.0+) and Rollup v1.20.0+. + +## Install + +```bash +npm install @rollup/plugin-babel --save-dev +``` + +## Usage + +Create a `rollup.config.js` [configuration file](https://www.rollupjs.org/guide/en/#configuration-files) and import the plugin: + +```js +import babel from '@rollup/plugin-babel'; +import pkg from './package.json'; + +const config = { + input: 'src/index.js', + output: { + dir: 'output', + format: 'esm' + }, + plugins: [babel({ babelHelpers: 'bundled' })] +}; + +export default config; +``` + +Then call `rollup` either via the [CLI](https://www.rollupjs.org/guide/en/#command-line-reference) or the [API](https://www.rollupjs.org/guide/en/#javascript-api). + +## Options + +This plugin respects Babel [configuration files](https://babeljs.io/docs/en/configuration) by default and they are generally the best place to put your configuration. + +You can also run Babel on the generated chunks instead of the input files. Even though this is slower, it is the only way to transpile Rollup's auto-generated wrapper code to lower compatibility targets than ES5 (or most likely ES6 when Rollup 2 will be released), see [Running Babel on the generated code](#running-babel-on-the-generated-code) for details. + +All options are as per the [Babel documentation](https://babeljs.io/docs/en/options), plus the following: + +### `exclude` + +Type: `String | RegExp | Array[...String|RegExp]`
+ +A [minimatch pattern](https://github.com/isaacs/minimatch), or array of patterns, which specifies the files in the build the plugin should _ignore_. When relaying on Babel configuration files you can only exclude additional files with this option, you cannot override what you have configured for Babel itself. + +### `include` + +Type: `String | RegExp | Array[...String|RegExp]`
+ +A [minimatch pattern](https://github.com/isaacs/minimatch), or array of patterns, which specifies the files in the build the plugin should operate on. When relying on Babel configuration files you cannot include files already excluded there. + +### `extensions` + +Type: `Array[...String]`
+Default: `['.js', '.jsx', '.es6', '.es', '.mjs']` + +An array of file extensions that Babel should transpile. If you want to tranpile TypeScript files with this plugin it's essential to include `.ts` and `.tsx` in this option. + +### `babelHelpers` + +Type: `'bundled' | 'runtime' | 'inline' | 'external'`
+Default: `'bundled'` + +It is recommended to configure this option explicitly (even if with its default value) so an informed decision is taken on how those babel helpers are inserted into the code. + +We recommend to follow those guidelines for each possible value: + +- `'runtime'` - you should use it especially when building libraries with rollup. It has to be used in combination with `@babel/plugin-transform-runtime` and you should also specify `@babel/runtime` as dependency of your package (don't forget to tell rollup to treat it as your external dependency when bundling for `cjs` & `es` formats). +- `'bundled'` - you should use it if you want your resulting bundle to contain those helpers (at most one copy of each). Useful especially if you bundle an application code. +- `'external'` - use it only if you know what you are doing. It will reference helpers on **global** `babelHelpers` object. Used in combination with `@babel/plugin-external-helpers`. +- `'inline'` - this is not recommended. Helpers will be inserted in each file using them. This can cause serious code duplication (this is the default Babel behaviour). + +### `skipPreflightCheck` + +Type: `Boolean`
+Default: `false` + +Before transpiling your input files this plugin also transpile a short piece of code **for each** input file. This is used to validate some misconfiguration errors, but for sufficiently big projects it can slow your build times so if you are confident about your configuration then you might disable those checks with this option. + +### External dependencies + +Ideally, you should only be transforming your source code, rather than running all of your external dependencies through Babel – hence the `exclude: 'node_modules/**'` in the example above. If you have a dependency that exposes untranspiled ES6 source code that doesn't run in your target environment, then you may need to break this rule, but it often causes problems with unusual `.babelrc` files or mismatched versions of Babel. + +We encourage library authors not to distribute code that uses untranspiled ES6 features (other than modules) for this reason. Consumers of your library should _not_ have to transpile your ES6 code, any more than they should have to transpile your CoffeeScript, ClojureScript or TypeScript. + +Use `babelrc: false` to prevent Babel from using local (i.e. to your external dependencies) `.babelrc` files, relying instead on the configuration you pass in. + +### Helpers + +In some cases Babel uses _helpers_ to avoid repeating chunks of code – for example, if you use the `class` keyword, it will use a `classCallCheck` function to ensure that the class is instantiated correctly. + +By default, those helpers will be inserted at the top of the file being transformed, which can lead to duplication. This rollup plugin automatically deduplicates those helpers, keeping only one copy of each one used in the output bundle. Rollup will combine the helpers in a single block at the top of your bundle. + +You can customize how those helpers are being inserted into the transformed file with [`babelHelpers`](#babelhelpers) option. + +### Modules + +This is not needed since Babel 7 - it knows automatically that Rollup understands ES modules & that it shouldn't use any module transform with it. Unless you forcefully include a module transform in your Babel configuration. + +If you have been pointed to this section by an error thrown by this plugin, please check your Babel configuration files and disable any module transforms when running Rollup builds. + +## Running Babel on the generated code + +You can run `@rollup/plugin-babel` on the output files instead of the input files by using `getBabelOutputPlugin(...)`. This can be used to perform code transformations on the resulting chunks and is the only way to transform Rollup's auto-generated code. By default, the plugin will be applied to all outputs: + +```js +// rollup.config.js +import { getBabelOutputPlugin } from '@rollup/plugin-babel'; + +export default { + input: 'main.js', + plugins: [ + getBabelOutputPlugin({ + presets: ['@babel/preset-env'] + }) + ], + output: [ + { file: 'bundle.cjs.js', format: 'cjs' }, + { file: 'bundle.esm.js', format: 'esm' } + ] +}; +``` + +If you only want to apply it to specific outputs, you can use it as an output plugin (requires at least Rollup v1.27.0): + +```js +// rollup.config.js +import { getBabelOutputPlugin } from '@rollup/plugin-babel'; + +export default { + input: 'main.js', + output: [ + { file: 'bundle.js', format: 'esm' }, + { + file: 'bundle.es5.js', + format: 'esm', + plugins: [getBabelOutputPlugin({ presets: ['@babel/preset-env'] })] + } + ] +}; +``` + +The `include`, `exclude` and `extensions` options are ignored when the when using `getBabelOutputPlugin` and `createBabelOutputPluginFactory` will produce warnings, and there are a few more points to note that users should be aware of. + +You can also run the plugin twice on the code, once when processing the input files to transpile special syntax to JavaScript and once on the output to transpile to a lower compatibility target: + +```js +// rollup.config.js +import babel, { getBabelOutputPlugin } from '@rollup/plugin-babel'; + +export default { + input: 'main.js', + plugins: [babel({ presets: ['@babel/preset-react'] })], + output: [ + { + file: 'bundle.js', + format: 'esm', + plugins: [getBabelOutputPlugin({ presets: ['@babel/preset-env'] })] + } + ] +}; +``` + +### Babel configuration files + +Unlike the regular `babel` plugin, `getBabelOutputPlugin(...)` will **not** automatically search for [Babel configuration files](https://babeljs.io/docs/en/config-files). Besides passing in Babel options directly, however, you can specify a configuration file manually via Babel's [`configFile`](https://babeljs.io/docs/en/options#configfile) option: + +```js +getBabelOutputPlugin({ + configFile: path.resolve(__dirname, 'babel.config.js') +}); +``` + +### Using formats other than ES modules or CommonJS + +As `getBabelOutputPlugin(...)` will run _after_ Rollup has done all its transformations, it needs to make sure it preserves the semantics of Rollup's output format. This is especially important for Babel plugins that add, modify or remove imports or exports, but also for other transformations that add new variables as they can accidentally become global variables depending on the format. Therefore it is recommended that for formats other than `esm` or `cjs`, you set Rollup to use the `esm` output format and let Babel handle the transformation to another format, e.g. via + +``` +presets: [['@babel/preset-env', { modules: 'umd' }], ...] +``` + +to create a UMD/IIFE compatible output. If you want to use `getBabelOutputPlugin(...)` with other formats, you need to specify `allowAllFormats: true` as plugin option: + +```js +rollup.rollup({...}) +.then(bundle => bundle.generate({ + format: 'iife', + plugins: [getBabelOutputPlugin({ + allowAllFormats: true, + // ... + })] +})) +``` + +### Injected helpers + +By default, helpers e.g. when transpiling classes will be inserted at the top of each chunk. In contrast to when applying this plugin on the input files, helpers will not be deduplicated across chunks. + +Alternatively, you can use imported runtime helpers by adding the `@babel/transform-runtime` plugin. This will make `@babel/runtime` an external dependency of your project, see [@babel/plugin-transform-runtime](https://babeljs.io/docs/en/babel-plugin-transform-runtime) for details. + +Note that this will only work for `esm` and `cjs` formats, and you need to make sure to set the `useESModules` option of `@babel/plugin-transform-runtime` to `true` if you create ESM output: + +```js +rollup.rollup({...}) +.then(bundle => bundle.generate({ + format: 'esm', + plugins: [getBabelOutputPlugin({ + presets: ['@babel/preset-env'], + plugins: [['@babel/plugin-transform-runtime', { useESModules: true }]] + })] +})) +``` + +```js +// input +export default class Foo {} + +// output +import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck'; + +var Foo = function Foo() { + _classCallCheck(this, Foo); +}; + +export default Foo; +``` + +And for CommonJS: + +```js +rollup.rollup({...}) +.then(bundle => bundle.generate({ + format: 'cjs', + plugins: [getBabelOutputPlugin({ + presets: ['@babel/preset-env'], + plugins: [['@babel/plugin-transform-runtime', { useESModules: false }]] + })] +})) +``` + +```js +// input +export default class Foo {} + +// output +('use strict'); + +var _classCallCheck = require('@babel/runtime/helpers/classCallCheck'); + +var Foo = function Foo() { + _classCallCheck(this, Foo); +}; + +module.exports = Foo; +``` + +Another option is to use `@babel/plugin-external-helpers`, which will reference the global `babelHelpers` object. It is your responsibility to make sure this global variable exists. + +## Custom plugin builder + +`@rollup/plugin-babel` exposes a plugin-builder utility that allows users to add custom handling of Babel's configuration for each file that it processes. + +`createBabelInputPluginFactory` accepts a callback that will be called with the loader's instance of `babel` so that tooling can ensure that it using exactly the same `@babel/core` instance as the loader itself. + +It's main purpose is to allow other tools for configuration of transpilation without forcing people to add extra configuration but still allow for using their own babelrc / babel config files. + +### Example + +```js +import { createBabelInputPluginFactory } from '@rollup/plugin-babel'; + +export default createBabelInputPluginFactory(babelCore => { + function myPlugin() { + return { + visitor: {} + }; + } + + return { + // Passed the plugin options. + options({ opt1, opt2, ...pluginOptions }) { + return { + // Pull out any custom options that the plugin might have. + customOptions: { opt1, opt2 }, + + // Pass the options back with the two custom options removed. + pluginOptions + }; + }, + + config( + cfg /* Passed Babel's 'PartialConfig' object. */, + { code, customOptions } + ) { + if (cfg.hasFilesystemConfig()) { + // Use the normal config + return cfg.options; + } + + return { + ...cfg.options, + plugins: [ + ...(cfg.options.plugins || []), + + // Include a custom plugin in the options. + myPlugin + ] + }; + }, + + result(result, { code, customOptions, config, transformOptions }) { + return { + ...result, + code: result.code + '\n// Generated by some custom plugin' + }; + } + }; +}); +``` + +## Meta + +[CONTRIBUTING](/.github/CONTRIBUTING.md) + +[LICENSE (MIT)](/LICENSE) diff --git a/packages/babel/package.json b/packages/babel/package.json new file mode 100644 index 000000000..405111880 --- /dev/null +++ b/packages/babel/package.json @@ -0,0 +1,77 @@ +{ + "name": "@rollup/plugin-babel", + "version": "5.0.0-alpha.1", + "publishConfig": { + "access": "public" + }, + "description": "Seamless integration between Rollup and Babel.", + "license": "MIT", + "repository": "rollup/plugins", + "author": "Rich Harris", + "homepage": "https://github.com/rollup/plugins/tree/master/packages/babel#readme", + "bugs": "https://github.com/rollup/plugins/issues", + "main": "dist/index.js", + "engines": { + "node": ">= 8.0.0" + }, + "scripts": { + "build": "rollup -c", + "ci:coverage": "nyc pnpm run test && nyc report --reporter=text-lcov > coverage.lcov", + "ci:lint": "pnpm run build && pnpm run lint", + "ci:lint:commits": "commitlint --from=${CIRCLE_BRANCH} --to=${CIRCLE_SHA1}", + "ci:test": "pnpm run test -- --verbose", + "lint": "pnpm run lint:js && pnpm run lint:docs && pnpm run lint:package", + "lint:docs": "prettier --single-quote --write README.md", + "lint:js": "eslint --fix --cache src test", + "lint:package": "prettier --write package.json --plugin=prettier-plugin-package", + "prebuild": "del-cli dist", + "prepublishOnly": "pnpm run lint && pnpm run test && pnpm run build", + "pretest": "pnpm run build", + "test": "ava" + }, + "files": [ + "dist", + "README.md", + "LICENSE" + ], + "keywords": [ + "rollup", + "plugin", + "rollup-plugin", + "babel", + "es2015", + "es6" + ], + "peerDependencies": { + "@babel/core": "^7.0.0", + "rollup": "^1.20.0||^2.0.0" + }, + "dependencies": { + "@babel/helper-module-imports": "^7.7.4", + "@rollup/pluginutils": "^3.0.8" + }, + "devDependencies": { + "@babel/core": "^7.7.4", + "@babel/plugin-external-helpers": "^7.7.4", + "@babel/plugin-proposal-decorators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-transform-runtime": "^7.7.4", + "@babel/preset-env": "^7.9.0", + "@rollup/plugin-json": "^4.0.0", + "rollup": "^2.0.0", + "source-map": "^0.6.1" + }, + "ava": { + "files": [ + "!**/fixtures/**", + "!**/helpers/**", + "!**/recipes/**", + "!**/types.ts" + ] + }, + "contributors": [ + "Bogdan Chadkin ", + "Mateusz Burzyński (https://github.com/Andarist)" + ], + "module": "dist/index.es.js" +} diff --git a/packages/babel/rollup.config.js b/packages/babel/rollup.config.js new file mode 100644 index 000000000..98295afaf --- /dev/null +++ b/packages/babel/rollup.config.js @@ -0,0 +1,20 @@ +import pkg from './package.json'; +import { babel } from './src/index'; + +const externalDeps = Object.keys(Object.assign({}, pkg.dependencies, pkg.peerDependencies)); +const nodeDeps = ['path']; + +export default { + input: './src/index.js', + external: externalDeps.concat(nodeDeps), + plugins: [ + babel({ + presets: [['@babel/preset-env', { targets: { node: 8 } }]], + babelHelpers: 'bundled' + }) + ], + output: [ + { file: pkg.main, format: 'cjs', exports: 'named' }, + { file: pkg.module, format: 'esm' } + ] +}; diff --git a/packages/babel/src/bundledHelpersPlugin.js b/packages/babel/src/bundledHelpersPlugin.js new file mode 100644 index 000000000..6a39d060a --- /dev/null +++ b/packages/babel/src/bundledHelpersPlugin.js @@ -0,0 +1,22 @@ +import { addNamed } from '@babel/helper-module-imports'; + +import { HELPERS } from './constants'; + +export default function importHelperPlugin() { + return { + pre(file) { + const cachedHelpers = {}; + file.set('helperGenerator', (name) => { + if (!file.availableHelper(name)) { + return null; + } + + if (cachedHelpers[name]) { + return cachedHelpers[name]; + } + + return (cachedHelpers[name] = addNamed(file.path, name, HELPERS)); + }); + } + }; +} diff --git a/packages/babel/src/constants.js b/packages/babel/src/constants.js new file mode 100644 index 000000000..39483b74c --- /dev/null +++ b/packages/babel/src/constants.js @@ -0,0 +1,8 @@ +export const BUNDLED = 'bundled'; +export const INLINE = 'inline'; +export const RUNTIME = 'runtime'; +export const EXTERNAL = 'external'; + +// NOTE: DO NOT REMOVE the null character `\0` as it may be used by other plugins +// e.g. https://github.com/rollup/rollup-plugin-node-resolve/blob/313a3e32f432f9eb18cc4c231cc7aac6df317a51/src/index.js#L74 +export const HELPERS = '\0rollupPluginBabelHelpers.js'; diff --git a/packages/babel/src/index.js b/packages/babel/src/index.js new file mode 100644 index 000000000..49389d1cb --- /dev/null +++ b/packages/babel/src/index.js @@ -0,0 +1,219 @@ +import * as babel from '@babel/core'; +import { createFilter } from '@rollup/pluginutils'; + +import { BUNDLED, HELPERS } from './constants'; +import bundledHelpersPlugin from './bundledHelpersPlugin'; +import preflightCheck from './preflightCheck'; +import transformCode from './transformCode'; +import { addBabelPlugin, escapeRegExpCharacters, warnOnce } from './utils'; + +const unpackOptions = ({ + extensions = babel.DEFAULT_EXTENSIONS, + // rollup uses sourcemap, babel uses sourceMaps + // just normalize them here so people don't have to worry about it + sourcemap = true, + sourcemaps = true, + sourceMap = true, + sourceMaps = true, + ...rest +} = {}) => { + return { + extensions, + plugins: [], + sourceMaps: sourcemap && sourcemaps && sourceMap && sourceMaps, + ...rest, + caller: { + name: '@rollup/plugin-babel', + ...rest.caller + } + }; +}; + +const unpackInputPluginOptions = ({ skipPreflightCheck = false, ...rest }) => { + if (!rest.babelHelpers) { + // eslint-disable-next-line no-console + console.warn( + "babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: " + + 'https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers' + ); + } + return unpackOptions({ + ...rest, + skipPreflightCheck, + babelHelpers: rest.babelHelpers || BUNDLED, + caller: { + supportsStaticESM: true, + supportsDynamicImport: true, + supportsTopLevelAwait: true, + ...rest.caller + } + }); +}; + +const unpackOutputPluginOptions = (options, { format }) => + unpackOptions({ + configFile: false, + sourceType: format === 'es' ? 'module' : 'script', + ...options, + caller: { + supportsStaticESM: format === 'es', + ...options.caller + } + }); + +function getOptionsWithOverrides(pluginOptions = {}, overrides = {}) { + if (!overrides.options) return { customOptions: null, pluginOptionsWithOverrides: pluginOptions }; + const overridden = overrides.options(pluginOptions); + + if (typeof overridden.then === 'function') { + throw new Error( + ".options hook can't be asynchronous. It should return `{ customOptions, pluginsOptions }` synchronously." + ); + } + + return { + customOptions: overridden.customOptions || null, + pluginOptionsWithOverrides: overridden.pluginOptions || pluginOptions + }; +} + +const returnObject = () => { + return {}; +}; + +function createBabelInputPluginFactory(customCallback = returnObject) { + const overrides = customCallback(babel); + + return (pluginOptions) => { + const { customOptions, pluginOptionsWithOverrides } = getOptionsWithOverrides( + pluginOptions, + overrides + ); + + const { + exclude, + extensions, + babelHelpers, + include, + skipPreflightCheck, + ...babelOptions + } = unpackInputPluginOptions(pluginOptionsWithOverrides); + + const extensionRegExp = new RegExp(`(${extensions.map(escapeRegExpCharacters).join('|')})$`); + const includeExcludeFilter = createFilter(include, exclude); + const filter = (id) => extensionRegExp.test(id) && includeExcludeFilter(id); + + return { + name: 'babel', + + resolveId(id) { + if (id !== HELPERS) { + return null; + } + return id; + }, + + load(id) { + if (id !== HELPERS) { + return null; + } + return babel.buildExternalHelpers(null, 'module'); + }, + + transform(code, filename) { + if (!filter(filename)) return null; + if (filename === HELPERS) return null; + + return transformCode( + code, + { ...babelOptions, filename }, + overrides, + customOptions, + this, + async (transformOptions) => { + if (!skipPreflightCheck) { + await preflightCheck(this, babelHelpers, transformOptions); + } + + return babelHelpers === BUNDLED + ? addBabelPlugin(transformOptions, bundledHelpersPlugin) + : transformOptions; + } + ); + } + }; + }; +} + +function getRecommendedFormat(rollupFormat) { + switch (rollupFormat) { + case 'amd': + return 'amd'; + case 'iife': + case 'umd': + return 'umd'; + case 'system': + return 'systemjs'; + default: + return ''; + } +} + +function createBabelOutputPluginFactory(customCallback = returnObject) { + const overrides = customCallback(babel); + + return (pluginOptions) => { + const { customOptions, pluginOptionsWithOverrides } = getOptionsWithOverrides( + pluginOptions, + overrides + ); + + return { + name: 'babel', + + renderStart(outputOptions) { + const { extensions, include, exclude, allowAllFormats } = pluginOptionsWithOverrides; + + if (extensions || include || exclude) { + warnOnce( + this, + 'The "include", "exclude" and "extensions" options are ignored when transforming the output.' + ); + } + if (!allowAllFormats && outputOptions.format !== 'es' && outputOptions.format !== 'cjs') { + this.error( + `Using Babel on the generated chunks is strongly discouraged for formats other than "esm" or "cjs" as it can easily break wrapper code and lead to accidentally created global variables. Instead, you should set "output.format" to "esm" and use Babel to transform to another format, e.g. by adding "presets: [['@babel/env', { modules: '${getRecommendedFormat( + outputOptions.format + )}' }]]" to your Babel options. If you still want to proceed, add "allowAllFormats: true" to your plugin options.` + ); + } + }, + + renderChunk(code, chunk, outputOptions) { + /* eslint-disable no-unused-vars */ + const { + allowAllFormats, + exclude, + extensions, + externalHelpers, + externalHelpersWhitelist, + include, + runtimeHelpers, + ...babelOptions + } = unpackOutputPluginOptions(pluginOptionsWithOverrides, outputOptions); + /* eslint-enable no-unused-vars */ + + return transformCode(code, babelOptions, overrides, customOptions, this); + } + }; + }; +} + +// export this for symmetry with output-related exports +export const getBabelInputPlugin = createBabelInputPluginFactory(); +export const getBabelOutputPlugin = createBabelOutputPluginFactory(); +export { createBabelInputPluginFactory, createBabelOutputPluginFactory }; + +export default getBabelInputPlugin; +// support `rollup -c —plugin babel` +export { getBabelInputPlugin as babel }; diff --git a/packages/babel/src/preflightCheck.js b/packages/babel/src/preflightCheck.js new file mode 100644 index 000000000..ce0660941 --- /dev/null +++ b/packages/babel/src/preflightCheck.js @@ -0,0 +1,76 @@ +import * as babel from '@babel/core'; + +import { INLINE, RUNTIME, EXTERNAL, BUNDLED } from './constants'; +import { addBabelPlugin } from './utils'; + +const MODULE_ERROR = + 'Rollup requires that your Babel configuration keeps ES6 module syntax intact. ' + + 'Unfortunately it looks like your configuration specifies a module transformer ' + + 'to replace ES6 modules with another module format. To continue you have to disable it.' + + '\n\n' + + "Most commonly it's a CommonJS transform added by @babel/preset-env - " + + 'in such case you should disable it by adding `modules: false` option to that preset ' + + '(described in more detail here - https://github.com/rollup/plugins/tree/master/packages/babel#modules ).'; + +const UNEXPECTED_ERROR = + 'An unexpected situation arose. Please raise an issue at ' + + 'https://github.com/rollup/plugins/issues. Thanks!'; + +const PREFLIGHT_TEST_STRING = '__ROLLUP__PREFLIGHT_CHECK_DO_NOT_TOUCH__'; +const PREFLIGHT_INPUT = `export default "${PREFLIGHT_TEST_STRING}";`; + +function helpersTestTransform() { + return { + visitor: { + StringLiteral(path, state) { + if (path.node.value === PREFLIGHT_TEST_STRING) { + path.replaceWith(state.file.addHelper('inherits')); + } + } + } + }; +} + +const mismatchError = (actual, expected, filename) => + `You have declared using "${expected}" babelHelpers, but transforming ${filename} resulted in "${actual}". Please check your configuration.`; + +const inheritsHelperRe = /\/helpers\/(esm\/)?inherits/; + +export default async function preflightCheck(ctx, babelHelpers, transformOptions) { + const finalOptions = addBabelPlugin(transformOptions, helpersTestTransform); + const check = (await babel.transformAsync(PREFLIGHT_INPUT, finalOptions)).code; + + // Babel sometimes splits ExportDefaultDeclaration into 2 statements, so we also check for ExportNamedDeclaration + if (!/export (d|{)/.test(check)) { + ctx.error(MODULE_ERROR); + } + + if (inheritsHelperRe.test(check)) { + if (babelHelpers === RUNTIME) { + return; + } + ctx.error(mismatchError(RUNTIME, babelHelpers, transformOptions.filename)); + } + + if (check.includes('babelHelpers.inherits')) { + if (babelHelpers === EXTERNAL) { + return; + } + ctx.error(mismatchError(EXTERNAL, babelHelpers, transformOptions.filename)); + } + + // test unminifiable string content + if (check.includes('Super expression must either be null or a function')) { + if (babelHelpers === INLINE || babelHelpers === BUNDLED) { + return; + } + if (babelHelpers === RUNTIME && !transformOptions.plugins.length) { + ctx.error( + `You must use the \`@babel/plugin-transform-runtime\` plugin when \`babelHelpers\` is "${RUNTIME}".\n` + ); + } + ctx.error(mismatchError(INLINE, babelHelpers, transformOptions.filename)); + } + + ctx.error(UNEXPECTED_ERROR); +} diff --git a/packages/babel/src/transformCode.js b/packages/babel/src/transformCode.js new file mode 100644 index 000000000..cf20a3ea3 --- /dev/null +++ b/packages/babel/src/transformCode.js @@ -0,0 +1,48 @@ +import * as babel from '@babel/core'; + +export default async function transformCode( + inputCode, + babelOptions, + overrides, + customOptions, + ctx, + finalizeOptions +) { + const config = babel.loadPartialConfig(babelOptions); + + // file is ignored by babel + if (!config) { + return null; + } + + let transformOptions = !overrides.config + ? config.options + : await overrides.config.call(this, config, { + code: inputCode, + customOptions + }); + + if (finalizeOptions) { + transformOptions = await finalizeOptions(transformOptions); + } + + if (!overrides.result) { + const { code, map } = await babel.transformAsync(inputCode, transformOptions); + return { + code, + map + }; + } + + const result = await babel.transformAsync(inputCode, transformOptions); + const { code, map } = await overrides.result.call(ctx, result, { + code: inputCode, + customOptions, + config, + transformOptions + }); + return { + code, + map + }; +} diff --git a/packages/babel/src/utils.js b/packages/babel/src/utils.js new file mode 100644 index 000000000..f05c8b221 --- /dev/null +++ b/packages/babel/src/utils.js @@ -0,0 +1,16 @@ +export const addBabelPlugin = (options, plugin) => { + return { + ...options, + plugins: options.plugins.concat(plugin) + }; +}; + +const warned = {}; +export function warnOnce(ctx, msg) { + if (warned[msg]) return; + warned[msg] = true; + ctx.warn(msg); +} + +const regExpCharactersRegExp = /[\\^$.*+?()[\]{}|]/g; +export const escapeRegExpCharacters = (str) => str.replace(regExpCharactersRegExp, '\\$&'); diff --git a/packages/babel/test/as-input-plugin.js b/packages/babel/test/as-input-plugin.js new file mode 100644 index 000000000..65689d893 --- /dev/null +++ b/packages/babel/test/as-input-plugin.js @@ -0,0 +1,430 @@ +import * as nodePath from 'path'; + +import test from 'ava'; +import { rollup } from 'rollup'; +import { SourceMapConsumer } from 'source-map'; +import jsonPlugin from '@rollup/plugin-json'; + +import { getCode } from '../../../util/test'; + +import babelPlugin, { getBabelOutputPlugin, createBabelInputPluginFactory } from '..'; + +process.chdir(__dirname); + +function getLocation(source, charIndex) { + const lines = source.split('\n'); + const len = lines.length; + + let lineStart = 0; + + for (let i = 0; i < len; i += 1) { + const line = lines[i]; + // +1 for newline + const lineEnd = lineStart + line.length + 1; + + if (lineEnd > charIndex) { + return { line: i + 1, column: charIndex - lineStart }; + } + + lineStart = lineEnd; + } + + throw new Error('Could not determine location of character'); +} + +function replaceConsoleLogProperty({ types: t }) { + return { + name: 'replace-console-log-property', + visitor: { + MemberExpression(path, state) { + const { opts } = state; + if (path.node.property.name === 'log') { + path.get('property').replaceWith(t.identifier(opts.replace)); + } + } + } + }; +} + +async function generate(input, babelOptions = {}, generateOptions = {}, rollupOptions = {}) { + const bundle = await rollup({ + input, + plugins: [babelPlugin({ babelHelpers: 'bundled', ...babelOptions })], + ...rollupOptions + }); + + return getCode(bundle, { + format: 'cjs', + ...generateOptions + }); +} + +test('runs code through babel', async (t) => { + const code = await generate('fixtures/basic/main.js'); + t.false(code.includes('const')); + t.is( + code, + `'use strict'; + +var answer = 42; +console.log("the answer is ".concat(answer)); +` + ); +}); + +test('adds helpers', async (t) => { + const code = await generate('fixtures/class/main.js'); + t.true(code.includes('function _classCallCheck')); +}); + +test('adds helpers in loose mode', async (t) => { + const code = await generate('fixtures/class-loose/main.js'); + t.true(code.includes('function _inherits')); +}); + +test('does not babelify excluded code', async (t) => { + const code = await generate('fixtures/exclusions/main.js', { exclude: '**/foo.js' }); + // eslint-disable-next-line no-template-curly-in-string + t.false(code.includes('${foo()}')); + t.true(code.includes('=> 42')); + t.is( + code, + `'use strict'; + +const foo = () => 42; + +console.log("the answer is ".concat(foo())); +` + ); +}); + +test('generates sourcemap by default', async (t) => { + const bundle = await rollup({ + input: 'fixtures/class/main.js', + plugins: [babelPlugin({ babelHelpers: 'bundled' })] + }); + + const { + output: [{ code, map }] + } = await bundle.generate({ format: 'cjs', sourcemap: true }); + + const target = 'log'; + const smc = new SourceMapConsumer(map); + const loc = getLocation(code, code.indexOf(target)); + const original = smc.originalPositionFor(loc); + + t.deepEqual(original, { + source: 'fixtures/class/main.js'.split(nodePath.sep).join('/'), + line: 3, + column: 12, + name: target + }); +}); + +test('works with proposal-decorators (rollup/rollup-plugin-babel#18)', async (t) => { + await t.notThrowsAsync(() => + rollup({ + input: 'fixtures/proposal-decorators/main.js', + plugins: [babelPlugin({ babelHelpers: 'bundled' })] + }) + ); +}); + +test('checks config per-file', async (t) => { + const code = await generate('fixtures/checks/main.js', {}, { format: 'esm' }); + t.true(code.includes('class Foo')); + t.true(code.includes('var Bar')); + t.false(code.includes('class Bar')); +}); + +test('allows transform-runtime to be used instead of bundled helpers', async (t) => { + const warnings = []; + const code = await generate( + 'fixtures/runtime-helpers/main.js', + { babelHelpers: 'runtime' }, + {}, + { + onwarn(warning) { + warnings.push(warning.message); + } + } + ); + t.deepEqual(warnings, [ + `'@babel/runtime/helpers/classCallCheck' is imported by fixtures${nodePath.sep}runtime-helpers${nodePath.sep}main.js, but could not be resolved – treating it as an external dependency` + ]); + t.is( + code, + `'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var _classCallCheck = _interopDefault(require('@babel/runtime/helpers/classCallCheck')); + +var Foo = function Foo() { + _classCallCheck(this, Foo); +}; + +module.exports = Foo; +` + ); +}); + +test('allows transform-runtime to inject esm version of helpers', async (t) => { + const warnings = []; + const code = await generate( + 'fixtures/runtime-helpers-esm/main.js', + { babelHelpers: 'runtime' }, + { + format: 'esm' + }, + { + onwarn(warning) { + warnings.push(warning.message); + } + } + ); + t.deepEqual(warnings, [ + `'@babel/runtime/helpers/esm/classCallCheck' is imported by fixtures${nodePath.sep}runtime-helpers-esm${nodePath.sep}main.js, but could not be resolved – treating it as an external dependency` + ]); + t.is( + code, + `import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck'; + +var Foo = function Foo() { + _classCallCheck(this, Foo); +}; + +export default Foo; +` + ); +}); + +test('allows transform-runtime to be used instead of bundled helpers, but throws when CommonJS is used', async (t) => { + await t.throwsAsync( + () => generate('fixtures/runtime-helpers-commonjs/main.js', { babelHelpers: 'runtime' }), + { + message: /Rollup requires that your Babel configuration keeps ES6 module syntax intact/ + } + ); +}); + +test('allows using external-helpers plugin in combination with @babel/plugin-external-helpers', async (t) => { + const code = await generate('fixtures/external-helpers/main.js', { + babelHelpers: 'external' + }); + t.false(code.includes('function _classCallCheck')); + t.true(code.includes('babelHelpers.classCallCheck')); + t.is( + code, + `'use strict'; + +var Foo = function Foo() { + babelHelpers.classCallCheck(this, Foo); +}; + +var Bar = function Bar() { + babelHelpers.classCallCheck(this, Bar); +}; + +var main = [new Foo(), new Bar()]; + +module.exports = main; +` + ); +}); + +test('correctly renames helpers (rollup/rollup-plugin-babel#22)', async (t) => { + const code = await generate('fixtures/named-function-helper/main.js'); + t.false(code.includes('babelHelpers_get get'), 'helper was incorrectly renamed'); +}); + +test('runs preflight check correctly in absence of class transformer (rollup/rollup-plugin-babel#23)', async (t) => { + await t.notThrowsAsync(() => + rollup({ + input: 'fixtures/no-class-transformer/main.js', + plugins: [babelPlugin({ babelHelpers: 'bundled' })] + }) + ); +}); + +test('produces valid code with typeof helper', async (t) => { + const code = await generate('fixtures/typeof/main.js'); + t.false(code.includes('var typeof')); +}); + +test('handles babelrc with ignore option used', async (t) => { + const code = await generate('fixtures/ignored-file/main.js'); + t.true(code.includes('class Ignored')); +}); + +test('transpiles only files with default extensions', async (t) => { + const code = await generate( + 'fixtures/extensions-default/main.js', + {}, + {}, + { + plugins: [babelPlugin({ babelHelpers: 'bundled' }), jsonPlugin()] + } + ); + t.false(code.includes('class Es '), 'should transpile .es'); + t.false(code.includes('class Es6 '), 'should transpile .es6'); + t.false(code.includes('class Js '), 'should transpile .js'); + t.false(code.includes('class Jsx '), 'should transpile .jsx'); + t.false(code.includes('class Mjs '), 'should transpile .mjs'); + t.true(code.includes('class Other '), 'should not transpile .other'); +}); + +test('transpiles only files with whitelisted extensions', async (t) => { + const code = await generate('fixtures/extensions-custom/main.js', { + extensions: ['.js', '.other'] + }); + t.true(code.includes('class Es '), 'should not transpile .es'); + t.true(code.includes('class Es6 '), 'should not transpile .es6'); + t.false(code.includes('class Js '), 'should transpile .js'); + t.true(code.includes('class Jsx '), 'should not transpile .jsx'); + t.true(code.includes('class Mjs '), 'should not transpile .mjs'); + t.false(code.includes('class Other '), 'should transpile .other'); +}); + +test('throws when trying to add babel helper unavailable in used @babel/core version', async (t) => { + await t.throwsAsync( + () => + generate('fixtures/basic/main.js', { + plugins: [ + function testPlugin() { + return { + visitor: { + Program(path, state) { + state.file.addHelper('__nonexistentHelper'); + } + } + }; + } + ] + }), + { + message: `${nodePath.resolve( + __dirname, + 'fixtures', + 'basic', + 'main.js' + )}: Unknown helper __nonexistentHelper` + } + ); +}); + +test('works with minified bundled helpers', async (t) => { + const BASE_CHAR_CODE = 'a'.charCodeAt(0); + let counter = 0; + + await t.notThrowsAsync(() => + generate('fixtures/class/main.js', { + plugins: [ + function testPlugin({ types }) { + return { + visitor: { + FunctionDeclaration(path) { + // super simple mangling + path + .get('id') + .replaceWith(types.identifier(String.fromCharCode(BASE_CHAR_CODE + counter))); + + counter += 1; + } + } + }; + } + ] + }) + ); +}); + +test('supports customizing the loader', async (t) => { + const customBabelPlugin = createBabelInputPluginFactory(() => { + return { + config(cfg) { + return { + ...cfg.options, + plugins: [ + ...(cfg.options.plugins || []), + // Include a custom plugin in the options. + [replaceConsoleLogProperty, { replace: 'foobaz' }] + ] + }; + }, + result(result) { + return { + ...result, + code: `${result.code}\n// Generated by some custom loader` + }; + } + }; + }); + const bundle = await rollup({ + input: 'fixtures/basic/main.js', + plugins: [customBabelPlugin({ babelHelpers: 'bundled' })] + }); + const code = await getCode(bundle); + + t.true(code.includes('// Generated by some custom loader'), 'adds the custom comment'); + t.true(code.includes('console.foobaz'), 'runs the plugin'); +}); + +test('supports overriding the plugin options in custom loader', async (t) => { + const customBabelPlugin = createBabelInputPluginFactory(() => { + return { + options(options) { + // Ignore the js extension to test overriding the options + return { pluginOptions: { ...options, extensions: ['.x'] } }; + }, + config(cfg) { + return { + ...cfg.options, + plugins: [ + ...(cfg.options.plugins || []), + // Include a custom plugin in the options. + [replaceConsoleLogProperty, { replace: 'foobaz' }] + ] + }; + }, + result(result) { + return { + ...result, + code: `${result.code}\n// Generated by some custom loader` + }; + } + }; + }); + const bundle = await rollup({ + input: 'fixtures/basic/main.js', + plugins: [customBabelPlugin({ babelHelpers: 'bundled' })] + }); + const code = await getCode(bundle); + + t.false( + code.includes('// Generated by some custom loader'), + 'does not add the comment to ignored file' + ); + t.false(code.includes('console.foobaz'), 'does not run the plugin on ignored file'); +}); + +test('uses babel plugins passed in to the rollup plugin', async (t) => { + const code = await generate('fixtures/basic/main.js', { + plugins: [[replaceConsoleLogProperty, { replace: 'foobaz' }]] + }); + t.true(code.includes('console.foobaz')); +}); + +test('can be used as an input plugin while transforming the output', async (t) => { + const bundle = await rollup({ + input: 'fixtures/basic/main.js', + plugins: [ + getBabelOutputPlugin({ + presets: ['@babel/env'] + }) + ] + }); + const code = await getCode(bundle); + + t.false(code.includes('const')); +}); diff --git a/packages/babel/test/as-output-plugin.js b/packages/babel/test/as-output-plugin.js new file mode 100644 index 000000000..8190060df --- /dev/null +++ b/packages/babel/test/as-output-plugin.js @@ -0,0 +1,359 @@ +import * as nodePath from 'path'; + +import test from 'ava'; +import { rollup } from 'rollup'; +import { SourceMapConsumer } from 'source-map'; + +import { getCode } from '../../../util/test'; + +import { getBabelOutputPlugin, createBabelOutputPluginFactory } from '..'; + +process.chdir(__dirname); + +function getLocation(source, charIndex) { + const lines = source.split('\n'); + const len = lines.length; + + let lineStart = 0; + + for (let i = 0; i < len; i += 1) { + const line = lines[i]; + // +1 for newline + const lineEnd = lineStart + line.length + 1; + + if (lineEnd > charIndex) { + return { line: i + 1, column: charIndex - lineStart }; + } + + lineStart = lineEnd; + } + + throw new Error('Could not determine location of character'); +} + +function replaceConsoleLogProperty({ types: t }) { + return { + name: 'replace-console-log-property', + visitor: { + MemberExpression(path, state) { + const { opts } = state; + if (path.node.property.name === 'log') { + path.get('property').replaceWith(t.identifier(opts.replace)); + } + } + } + }; +} + +async function generate(input, babelOptions = {}, generateOptions = {}, rollupOptions = {}) { + const bundle = await rollup({ + input, + ...rollupOptions + }); + + return getCode(bundle, { + format: 'cjs', + plugins: [getBabelOutputPlugin(babelOptions)], + ...generateOptions + }); +} + +test('allows running the plugin on the output via output options', async (t) => { + const code = await generate('fixtures/basic/main.js', { + presets: ['@babel/env'] + }); + t.false(code.includes('const')); +}); + +test('ignores .babelrc when transforming the output by default', async (t) => { + const code = await generate('fixtures/basic/main.js'); + t.true(code.includes('const')); +}); + +test("allows transform-runtime to be used with `useESModules: false` (the default) and `format: 'cjs'`", async (t) => { + const code = await generate( + 'fixtures/runtime-helpers/main.js', + { + presets: ['@babel/env'], + plugins: [['@babel/transform-runtime', { useESModules: false }]] + }, + { format: 'cjs' } + ); + t.is( + code, + `'use strict'; + +var _classCallCheck = require("@babel/runtime/helpers/classCallCheck"); + +var Foo = function Foo() { + _classCallCheck(this, Foo); +}; + +module.exports = Foo; +` + ); +}); + +test("allows transform-runtime to be used with `useESModules: true` and `format: 'esm'`", async (t) => { + const code = await generate( + 'fixtures/runtime-helpers/main.js', + { + presets: ['@babel/env'], + plugins: [['@babel/transform-runtime', { useESModules: true }]] + }, + { format: 'esm' } + ); + t.is( + code, + `import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; + +var Foo = function Foo() { + _classCallCheck(this, Foo); +}; + +export default Foo; +` + ); +}); + +test('generates sourcemap by default', async (t) => { + const bundle = await rollup({ input: 'fixtures/class/main.js' }); + + const { + output: [{ code, map }] + } = await bundle.generate({ + format: 'cjs', + plugins: [getBabelOutputPlugin()], + sourcemap: true + }); + + const target = 'log'; + const smc = new SourceMapConsumer(map); + const loc = getLocation(code, code.indexOf(target)); + const original = smc.originalPositionFor(loc); + + t.deepEqual(original, { + source: 'fixtures/class/main.js'.split(nodePath.sep).join('/'), + line: 3, + column: 12, + name: target + }); +}); + +test('allows using external-helpers plugin even if the externalHelpers flag is not passed', async (t) => { + const warnings = []; + const code = await generate( + 'fixtures/external-helpers/main.js', + { + presets: ['@babel/env'], + plugins: ['@babel/external-helpers'] + }, + {}, + { + onwarn(warning) { + warnings.push(warning.message); + } + } + ); + t.deepEqual(warnings, []); + t.false(code.includes('function _classCallCheck')); + t.true(code.includes('babelHelpers.classCallCheck')); + t.is( + code, + `'use strict'; + +var Foo = function Foo() { + babelHelpers.classCallCheck(this, Foo); +}; + +var Bar = function Bar() { + babelHelpers.classCallCheck(this, Bar); +}; + +var main = [new Foo(), new Bar()]; +module.exports = main; +` + ); +}); + +test('warns when using the "include" option', async (t) => { + const warnings = []; + await generate( + 'fixtures/basic/main.js', + { + include: ['*.js'] + }, + {}, + { + onwarn(warning) { + warnings.push(warning.message); + } + } + ); + t.deepEqual(warnings, [ + 'The "include", "exclude" and "extensions" options are ignored when transforming the output.' + ]); +}); + +test('transforms all chunks in a code-splitting setup', async (t) => { + const bundle = await rollup({ input: 'fixtures/chunks/main.js' }); + const output = await getCode( + bundle, + { + format: 'esm', + plugins: [ + getBabelOutputPlugin({ + plugins: ['@babel/syntax-dynamic-import'], + presets: ['@babel/env'] + }) + ] + }, + true + ); + + t.deepEqual( + output.map(({ code }) => code), + [ + `import('./dep-525a96b3.js').then(function (result) { + return console.log(result); +}); +`, + `var dep = function dep() { + return 42; +}; + +export default dep; +` + ] + ); +}); + +test('transforms all chunks when preserving modules', async (t) => { + const bundle = await rollup({ + input: 'fixtures/preserve-modules/main.js', + preserveModules: true + }); + const output = await getCode( + bundle, + { + format: 'esm', + plugins: [ + getBabelOutputPlugin({ + presets: ['@babel/env'] + }) + ] + }, + true + ); + + t.deepEqual( + output.map(({ code }) => code), + [ + `import getResult from './dep.js'; +var value = 42; +console.log(getResult(value)); +`, + `var getResult = function getResult(value) { + return value + 1; +}; + +export default getResult; +` + ] + ); +}); + +test('supports customizing the loader', async (t) => { + const customBabelPlugin = createBabelOutputPluginFactory(() => { + return { + config(cfg) { + return Object.assign({}, cfg.options, { + plugins: [ + ...(cfg.options.plugins || []), + + // Include a custom plugin in the options. + [replaceConsoleLogProperty, { replace: 'foobaz' }] + ] + }); + }, + result(result) { + return Object.assign({}, result, { + code: `${result.code}\n// Generated by some custom loader` + }); + } + }; + }); + const bundle = await rollup({ input: 'fixtures/basic/main.js' }); + const code = await getCode(bundle, { format: 'cjs', plugins: [customBabelPlugin()] }); + + t.true(code.includes('// Generated by some custom loader'), 'adds the custom comment'); + t.true(code.includes('console.foobaz'), 'runs the plugin'); +}); + +test('throws when using a Rollup output format other than esm or cjs', async (t) => { + await t.throwsAsync(() => generate('fixtures/basic/main.js', {}, { format: 'iife' }), { + message: `Using Babel on the generated chunks is strongly discouraged for formats other than "esm" or "cjs" as it can easily break wrapper code and lead to accidentally created global variables. Instead, you should set "output.format" to "esm" and use Babel to transform to another format, e.g. by adding "presets: [['@babel/env', { modules: 'umd' }]]" to your Babel options. If you still want to proceed, add "allowAllFormats: true" to your plugin options.` + }); +}); + +test('allows using a Rollup output format other than esm or cjs with allowAllFormats', async (t) => { + const code = await generate( + 'fixtures/basic/main.js', + { presets: ['@babel/env'], allowAllFormats: true }, + { format: 'iife' } + ); + t.is( + code, + `(function () { + 'use strict'; + + var answer = 42; + console.log("the answer is ".concat(answer)); +})(); +` + ); +}); + +test('allows using Babel to transform to other formats', async (t) => { + const code = await generate( + 'fixtures/basic/main.js', + { presets: [['@babel/env', { modules: 'umd' }]] }, + { format: 'esm' } + ); + t.is( + code, + `(function (global, factory) { + if (typeof define === "function" && define.amd) { + define([], factory); + } else if (typeof exports !== "undefined") { + factory(); + } else { + var mod = { + exports: {} + }; + factory(); + global.unknown = mod.exports; + } +})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function () { + "use strict"; + + var answer = 42; + console.log("the answer is ".concat(answer)); +}); +` + ); +}); + +test('loads configuration files when configFile is passed', async (t) => { + const code = await generate('fixtures/config-file/main.js', { + configFile: nodePath.resolve(__dirname, 'fixtures/config-file/config.json') + }); + t.is( + code, + `'use strict'; + +const answer = Math.pow(42, 2); +console.log(\`the answer is \${answer}\`); +` + ); +}); diff --git a/packages/babel/test/fixtures/.babelrc b/packages/babel/test/fixtures/.babelrc new file mode 100644 index 000000000..7afd6ac9b --- /dev/null +++ b/packages/babel/test/fixtures/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [ "@babel/env" ] +} diff --git a/packages/babel/test/fixtures/.eslintrc b/packages/babel/test/fixtures/.eslintrc new file mode 100644 index 000000000..1dbea7f94 --- /dev/null +++ b/packages/babel/test/fixtures/.eslintrc @@ -0,0 +1,10 @@ +{ + "rules": { + "class-methods-use-this": "off", + "no-alert": "off", + "no-console": "off", + "no-param-reassign": "off", + "no-undef": "off", + "import/prefer-default-export": "off" + } +} diff --git a/packages/babel/test/fixtures/basic/main.js b/packages/babel/test/fixtures/basic/main.js new file mode 100644 index 000000000..3395d9ae2 --- /dev/null +++ b/packages/babel/test/fixtures/basic/main.js @@ -0,0 +1,2 @@ +const answer = 42; +console.log(`the answer is ${answer}`); diff --git a/packages/babel/test/fixtures/checks/foo/.babelrc b/packages/babel/test/fixtures/checks/foo/.babelrc new file mode 100644 index 000000000..e5772e85f --- /dev/null +++ b/packages/babel/test/fixtures/checks/foo/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [ ["@babel/env", { "exclude": ["transform-classes"] }] ] +} diff --git a/packages/babel/test/fixtures/checks/foo/index.js b/packages/babel/test/fixtures/checks/foo/index.js new file mode 100644 index 000000000..780411100 --- /dev/null +++ b/packages/babel/test/fixtures/checks/foo/index.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel/test/fixtures/checks/main.js b/packages/babel/test/fixtures/checks/main.js new file mode 100644 index 000000000..ecb3001d0 --- /dev/null +++ b/packages/babel/test/fixtures/checks/main.js @@ -0,0 +1,5 @@ +import Foo from './foo/index'; + +class Bar {} + +console.log({ Foo, Bar }); diff --git a/packages/babel/test/fixtures/chunks/dep.js b/packages/babel/test/fixtures/chunks/dep.js new file mode 100644 index 000000000..48b9ab611 --- /dev/null +++ b/packages/babel/test/fixtures/chunks/dep.js @@ -0,0 +1 @@ +export default () => 42; diff --git a/packages/babel/test/fixtures/chunks/main.js b/packages/babel/test/fixtures/chunks/main.js new file mode 100644 index 000000000..ee1234fd6 --- /dev/null +++ b/packages/babel/test/fixtures/chunks/main.js @@ -0,0 +1 @@ +import('./dep.js').then((result) => console.log(result)); diff --git a/packages/babel/test/fixtures/class-loose/.babelrc b/packages/babel/test/fixtures/class-loose/.babelrc new file mode 100644 index 000000000..ebc0723a3 --- /dev/null +++ b/packages/babel/test/fixtures/class-loose/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [ ["@babel/env", { "loose": true } ] ] +} diff --git a/packages/babel/test/fixtures/class-loose/main.js b/packages/babel/test/fixtures/class-loose/main.js new file mode 100644 index 000000000..eceb9ded3 --- /dev/null +++ b/packages/babel/test/fixtures/class-loose/main.js @@ -0,0 +1,5 @@ +export default class Foo extends Bar { + baz() { + console.log('xyz'); + } +} diff --git a/packages/babel/test/fixtures/class/main.js b/packages/babel/test/fixtures/class/main.js new file mode 100644 index 000000000..8bbbe68ed --- /dev/null +++ b/packages/babel/test/fixtures/class/main.js @@ -0,0 +1,5 @@ +export default class Foo { + bar() { + console.log('baz'); + } +} diff --git a/packages/babel/test/fixtures/config-file/config.json b/packages/babel/test/fixtures/config-file/config.json new file mode 100644 index 000000000..3ae4ad399 --- /dev/null +++ b/packages/babel/test/fixtures/config-file/config.json @@ -0,0 +1,3 @@ +{ + "presets": [["@babel/env", { "targets": { "node": "6" } }]] +} diff --git a/packages/babel/test/fixtures/config-file/main.js b/packages/babel/test/fixtures/config-file/main.js new file mode 100644 index 000000000..5b43d51a2 --- /dev/null +++ b/packages/babel/test/fixtures/config-file/main.js @@ -0,0 +1,2 @@ +const answer = 42 ** 2; +console.log(`the answer is ${answer}`); diff --git a/packages/babel/test/fixtures/exclusions/foo.js b/packages/babel/test/fixtures/exclusions/foo.js new file mode 100644 index 000000000..0cf01bec8 --- /dev/null +++ b/packages/babel/test/fixtures/exclusions/foo.js @@ -0,0 +1 @@ +export const foo = () => 42; diff --git a/packages/babel/test/fixtures/exclusions/main.js b/packages/babel/test/fixtures/exclusions/main.js new file mode 100644 index 000000000..dd77e2704 --- /dev/null +++ b/packages/babel/test/fixtures/exclusions/main.js @@ -0,0 +1,3 @@ +import { foo } from './foo'; + +console.log(`the answer is ${foo()}`); diff --git a/packages/babel/test/fixtures/extensions-custom/ext.es b/packages/babel/test/fixtures/extensions-custom/ext.es new file mode 100644 index 000000000..469eb61ef --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/ext.es @@ -0,0 +1 @@ +export default class Es {} diff --git a/packages/babel/test/fixtures/extensions-custom/ext.es6 b/packages/babel/test/fixtures/extensions-custom/ext.es6 new file mode 100644 index 000000000..23f92eb98 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/ext.es6 @@ -0,0 +1 @@ +export default class Es6 {} diff --git a/packages/babel/test/fixtures/extensions-custom/ext.js b/packages/babel/test/fixtures/extensions-custom/ext.js new file mode 100644 index 000000000..a1269dfc8 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/ext.js @@ -0,0 +1 @@ +export default class Js {} diff --git a/packages/babel/test/fixtures/extensions-custom/ext.jsx b/packages/babel/test/fixtures/extensions-custom/ext.jsx new file mode 100644 index 000000000..613e5a504 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/ext.jsx @@ -0,0 +1 @@ +export default class Jsx {} diff --git a/packages/babel/test/fixtures/extensions-custom/ext.mjs b/packages/babel/test/fixtures/extensions-custom/ext.mjs new file mode 100644 index 000000000..07a418f6e --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/ext.mjs @@ -0,0 +1 @@ +export default class Mjs {} diff --git a/packages/babel/test/fixtures/extensions-custom/ext.other b/packages/babel/test/fixtures/extensions-custom/ext.other new file mode 100644 index 000000000..7480446b2 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/ext.other @@ -0,0 +1 @@ +export default class Other {} diff --git a/packages/babel/test/fixtures/extensions-custom/main.js b/packages/babel/test/fixtures/extensions-custom/main.js new file mode 100644 index 000000000..59a08a741 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-custom/main.js @@ -0,0 +1,7 @@ +// eslint-disable-next-line import/extensions +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/babel/test/fixtures/extensions-default/ext.es b/packages/babel/test/fixtures/extensions-default/ext.es new file mode 100644 index 000000000..469eb61ef --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.es @@ -0,0 +1 @@ +export default class Es {} diff --git a/packages/babel/test/fixtures/extensions-default/ext.es6 b/packages/babel/test/fixtures/extensions-default/ext.es6 new file mode 100644 index 000000000..23f92eb98 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.es6 @@ -0,0 +1 @@ +export default class Es6 {} diff --git a/packages/babel/test/fixtures/extensions-default/ext.js b/packages/babel/test/fixtures/extensions-default/ext.js new file mode 100644 index 000000000..a1269dfc8 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.js @@ -0,0 +1 @@ +export default class Js {} diff --git a/packages/babel/test/fixtures/extensions-default/ext.json b/packages/babel/test/fixtures/extensions-default/ext.json new file mode 100644 index 000000000..c7cd4a612 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.json @@ -0,0 +1 @@ +{"json": true} diff --git a/packages/babel/test/fixtures/extensions-default/ext.jsx b/packages/babel/test/fixtures/extensions-default/ext.jsx new file mode 100644 index 000000000..613e5a504 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.jsx @@ -0,0 +1 @@ +export default class Jsx {} diff --git a/packages/babel/test/fixtures/extensions-default/ext.mjs b/packages/babel/test/fixtures/extensions-default/ext.mjs new file mode 100644 index 000000000..07a418f6e --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.mjs @@ -0,0 +1 @@ +export default class Mjs {} diff --git a/packages/babel/test/fixtures/extensions-default/ext.other b/packages/babel/test/fixtures/extensions-default/ext.other new file mode 100644 index 000000000..7480446b2 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/ext.other @@ -0,0 +1 @@ +export default class Other {} diff --git a/packages/babel/test/fixtures/extensions-default/main.js b/packages/babel/test/fixtures/extensions-default/main.js new file mode 100644 index 000000000..1fa505571 --- /dev/null +++ b/packages/babel/test/fixtures/extensions-default/main.js @@ -0,0 +1,8 @@ +// eslint-disable-next-line import/extensions +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/babel/test/fixtures/external-helpers/.babelrc b/packages/babel/test/fixtures/external-helpers/.babelrc new file mode 100644 index 000000000..e47433bbe --- /dev/null +++ b/packages/babel/test/fixtures/external-helpers/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": [ "@babel/env" ], + "plugins": [ "@babel/external-helpers" ] +} diff --git a/packages/babel/test/fixtures/external-helpers/bar.js b/packages/babel/test/fixtures/external-helpers/bar.js new file mode 100644 index 000000000..87c1ff593 --- /dev/null +++ b/packages/babel/test/fixtures/external-helpers/bar.js @@ -0,0 +1 @@ +export default class Bar {} diff --git a/packages/babel/test/fixtures/external-helpers/foo.js b/packages/babel/test/fixtures/external-helpers/foo.js new file mode 100644 index 000000000..780411100 --- /dev/null +++ b/packages/babel/test/fixtures/external-helpers/foo.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel/test/fixtures/external-helpers/main.js b/packages/babel/test/fixtures/external-helpers/main.js new file mode 100644 index 000000000..de3ed3912 --- /dev/null +++ b/packages/babel/test/fixtures/external-helpers/main.js @@ -0,0 +1,4 @@ +import Foo from './foo'; +import Bar from './bar'; + +export default [new Foo(), new Bar()]; diff --git a/packages/babel/test/fixtures/ignored-file/.babelrc b/packages/babel/test/fixtures/ignored-file/.babelrc new file mode 100644 index 000000000..4b1e11832 --- /dev/null +++ b/packages/babel/test/fixtures/ignored-file/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": [ ["@babel/env", { "loose": true } ] ], + "ignore": ["ignored.js"] +} diff --git a/packages/babel/test/fixtures/ignored-file/ignored.js b/packages/babel/test/fixtures/ignored-file/ignored.js new file mode 100644 index 000000000..b83509bd6 --- /dev/null +++ b/packages/babel/test/fixtures/ignored-file/ignored.js @@ -0,0 +1 @@ +export default class Ignored {} diff --git a/packages/babel/test/fixtures/ignored-file/main.js b/packages/babel/test/fixtures/ignored-file/main.js new file mode 100644 index 000000000..cada814e8 --- /dev/null +++ b/packages/babel/test/fixtures/ignored-file/main.js @@ -0,0 +1 @@ +export { default } from './ignored'; diff --git a/packages/babel/test/fixtures/named-function-helper/_config.js b/packages/babel/test/fixtures/named-function-helper/_config.js new file mode 100644 index 000000000..c2319b000 --- /dev/null +++ b/packages/babel/test/fixtures/named-function-helper/_config.js @@ -0,0 +1,4 @@ +module.exports = { + solo: true, + description: 'correctly renames helpers' +}; diff --git a/packages/babel/test/fixtures/named-function-helper/main.js b/packages/babel/test/fixtures/named-function-helper/main.js new file mode 100644 index 000000000..33faad177 --- /dev/null +++ b/packages/babel/test/fixtures/named-function-helper/main.js @@ -0,0 +1,11 @@ +class Bar { + baz() { + alert('baz'); + } +} + +export class Foo extends Bar { + baz() { + super.baz(); + } +} diff --git a/packages/babel/test/fixtures/no-class-transformer/.babelrc b/packages/babel/test/fixtures/no-class-transformer/.babelrc new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/packages/babel/test/fixtures/no-class-transformer/.babelrc @@ -0,0 +1 @@ +{} diff --git a/packages/babel/test/fixtures/no-class-transformer/main.js b/packages/babel/test/fixtures/no-class-transformer/main.js new file mode 100644 index 000000000..ed2ea5e8b --- /dev/null +++ b/packages/babel/test/fixtures/no-class-transformer/main.js @@ -0,0 +1 @@ +assert.equal(1 + 1, 2); diff --git a/packages/babel/test/fixtures/preserve-modules/dep.js b/packages/babel/test/fixtures/preserve-modules/dep.js new file mode 100644 index 000000000..c7b2fdbc3 --- /dev/null +++ b/packages/babel/test/fixtures/preserve-modules/dep.js @@ -0,0 +1 @@ +export default (value) => value + 1; diff --git a/packages/babel/test/fixtures/preserve-modules/main.js b/packages/babel/test/fixtures/preserve-modules/main.js new file mode 100644 index 000000000..dfdb7345d --- /dev/null +++ b/packages/babel/test/fixtures/preserve-modules/main.js @@ -0,0 +1,4 @@ +import getResult from './dep'; + +const value = 42; +console.log(getResult(value)); diff --git a/packages/babel/test/fixtures/proposal-decorators/.babelrc b/packages/babel/test/fixtures/proposal-decorators/.babelrc new file mode 100644 index 000000000..013c94484 --- /dev/null +++ b/packages/babel/test/fixtures/proposal-decorators/.babelrc @@ -0,0 +1,6 @@ +{ + "presets": [ "@babel/env" ], + "plugins": [ + ["@babel/proposal-decorators", { "legacy": true }] + ] +} diff --git a/packages/babel/test/fixtures/proposal-decorators/main.js b/packages/babel/test/fixtures/proposal-decorators/main.js new file mode 100644 index 000000000..ff989a004 --- /dev/null +++ b/packages/babel/test/fixtures/proposal-decorators/main.js @@ -0,0 +1,6 @@ +@annotation +export default class MyClass {} + +function annotation(target) { + target.annotated = true; +} diff --git a/packages/babel/test/fixtures/runtime-helpers-builtins/.babelrc b/packages/babel/test/fixtures/runtime-helpers-builtins/.babelrc new file mode 100644 index 000000000..f78c11b52 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers-builtins/.babelrc @@ -0,0 +1,6 @@ +{ + "presets": [ "@babel/env" ], + "plugins": [ + [ "@babel/transform-runtime" ] + ] +} diff --git a/packages/babel/test/fixtures/runtime-helpers-builtins/main.js b/packages/babel/test/fixtures/runtime-helpers-builtins/main.js new file mode 100644 index 000000000..780411100 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers-builtins/main.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel/test/fixtures/runtime-helpers-commonjs/.babelrc b/packages/babel/test/fixtures/runtime-helpers-commonjs/.babelrc new file mode 100644 index 000000000..d213a808e --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers-commonjs/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": [ ["@babel/env", { "modules": "cjs" }] ], + "plugins": [ "@babel/transform-runtime" ] +} diff --git a/packages/babel/test/fixtures/runtime-helpers-commonjs/main.js b/packages/babel/test/fixtures/runtime-helpers-commonjs/main.js new file mode 100644 index 000000000..780411100 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers-commonjs/main.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel/test/fixtures/runtime-helpers-esm/.babelrc b/packages/babel/test/fixtures/runtime-helpers-esm/.babelrc new file mode 100644 index 000000000..a71688281 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers-esm/.babelrc @@ -0,0 +1,6 @@ +{ + "presets": [ "@babel/env" ], + "plugins": [ + [ "@babel/transform-runtime", { "useESModules": true } ] + ] +} diff --git a/packages/babel/test/fixtures/runtime-helpers-esm/main.js b/packages/babel/test/fixtures/runtime-helpers-esm/main.js new file mode 100644 index 000000000..780411100 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers-esm/main.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel/test/fixtures/runtime-helpers/.babelrc b/packages/babel/test/fixtures/runtime-helpers/.babelrc new file mode 100644 index 000000000..9492d1fa9 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": [ "@babel/env" ], + "plugins": [ "@babel/external-helpers", "@babel/transform-runtime" ] +} diff --git a/packages/babel/test/fixtures/runtime-helpers/main.js b/packages/babel/test/fixtures/runtime-helpers/main.js new file mode 100644 index 000000000..780411100 --- /dev/null +++ b/packages/babel/test/fixtures/runtime-helpers/main.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel/test/fixtures/typeof/bar.js b/packages/babel/test/fixtures/typeof/bar.js new file mode 100644 index 000000000..4686483c5 --- /dev/null +++ b/packages/babel/test/fixtures/typeof/bar.js @@ -0,0 +1,3 @@ +export default function bar(a) { + return typeof a; +} diff --git a/packages/babel/test/fixtures/typeof/foo.js b/packages/babel/test/fixtures/typeof/foo.js new file mode 100644 index 000000000..5a8b82360 --- /dev/null +++ b/packages/babel/test/fixtures/typeof/foo.js @@ -0,0 +1,3 @@ +export default function foo(a) { + return typeof a; +} diff --git a/packages/babel/test/fixtures/typeof/main.js b/packages/babel/test/fixtures/typeof/main.js new file mode 100644 index 000000000..038764f9f --- /dev/null +++ b/packages/babel/test/fixtures/typeof/main.js @@ -0,0 +1,4 @@ +import foo from './foo'; +import bar from './bar'; + +console.log(typeof foo, typeof bar, foo(1), bar(2)); diff --git a/packages/typescript/src/index.ts b/packages/typescript/src/index.ts index 021416d40..51c14480f 100644 --- a/packages/typescript/src/index.ts +++ b/packages/typescript/src/index.ts @@ -86,19 +86,19 @@ export default function typescript(options: RollupTypescriptOptions = {}): Plugi }, generateBundle(outputOptions) { - parsedOptions.fileNames.forEach(fileName => { + parsedOptions.fileNames.forEach((fileName) => { const output = findTypescriptOutput(ts, parsedOptions, fileName, emittedFiles); output.declarations.forEach((id) => { const code = emittedFiles.get(id); if (!code) return; this.emitFile({ - type: 'asset', - fileName: normalizePath(path.relative(outputOptions.dir!, id)), - source: code + type: 'asset', + fileName: normalizePath(path.relative(outputOptions.dir!, id)), + source: code }); - }) - }) + }); + }); const tsBuildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(parsedOptions.options); if (tsBuildInfoPath) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cfb0a5569..d61b9451d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,11 +2,11 @@ importers: .: dependencies: conventional-commits-parser: 3.0.8 - semver: 7.1.1 + semver: 7.3.2 write-pkg: 4.0.0 devDependencies: - '@typescript-eslint/eslint-plugin': 2.16.0_8fc8ff471fa3e6f8320e1003f8984b6d - '@typescript-eslint/parser': 2.16.0_typescript@3.7.5 + '@typescript-eslint/eslint-plugin': 2.29.0_78834e48aafc7e2cd4306b1d6b447263 + '@typescript-eslint/parser': 2.29.0_typescript@3.8.3 ava: 2.4.0 chalk: 2.4.2 codecov-lite: 0.3.1 @@ -17,15 +17,15 @@ importers: husky: 3.1.0 lint-staged: 9.5.0 nyc: 14.1.1 - pnpm: 4.13.0 + pnpm: 4.14.0 prettier: 1.19.1 prettier-plugin-package: 0.3.1_prettier@1.19.1 - rollup: 2.2.0 - ts-node: 8.6.2_typescript@3.7.5 + rollup: 2.7.2 + ts-node: 8.9.1_typescript@3.8.3 tsconfig-paths: 3.9.0 - tslib: 1.10.0 - typescript: 3.7.5 - yaml: 1.7.2 + tslib: 1.11.1 + typescript: 3.8.3 + yaml: 1.9.2 specifiers: '@typescript-eslint/eslint-plugin': ^2.14.0 '@typescript-eslint/parser': ^2.14.0 @@ -78,6 +78,32 @@ importers: del: ^5.1.0 node-noop: ^1.0.0 rollup: ^2.0.0 + packages/babel: + dependencies: + '@babel/helper-module-imports': 7.8.3 + '@rollup/pluginutils': 3.0.8_rollup@2.2.0 + devDependencies: + '@babel/core': 7.8.3 + '@babel/plugin-external-helpers': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-decorators': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-runtime': 7.9.0_@babel+core@7.8.3 + '@babel/preset-env': 7.9.5_@babel+core@7.8.3 + '@rollup/plugin-json': 4.0.1_rollup@2.2.0 + rollup: 2.2.0 + source-map: 0.6.1 + specifiers: + '@babel/core': ^7.7.4 + '@babel/helper-module-imports': ^7.7.4 + '@babel/plugin-external-helpers': ^7.7.4 + '@babel/plugin-proposal-decorators': ^7.7.4 + '@babel/plugin-syntax-dynamic-import': ^7.7.4 + '@babel/plugin-transform-runtime': ^7.7.4 + '@babel/preset-env': ^7.9.0 + '@rollup/plugin-json': ^4.0.0 + '@rollup/pluginutils': ^3.0.8 + rollup: ^2.0.0 + source-map: ^0.6.1 packages/beep: devDependencies: rollup: 2.2.0 @@ -89,7 +115,7 @@ importers: dependencies: '@rollup/pluginutils': 3.0.8_rollup@2.2.0 '@types/buble': 0.19.2 - buble: 0.19.8 + buble: 0.20.0 devDependencies: '@rollup/plugin-typescript': 3.0.0_rollup@2.2.0+typescript@3.7.5 del-cli: 3.0.0 @@ -107,7 +133,7 @@ importers: typescript: ^3.7.4 packages/commonjs: dependencies: - '@rollup/pluginutils': 3.0.8_rollup@2.6.0 + '@rollup/pluginutils': 3.0.8_rollup@2.7.2 commondir: 1.0.1 estree-walker: 1.0.1 glob: 7.1.6 @@ -116,16 +142,16 @@ importers: resolve: 1.15.0 devDependencies: '@babel/core': 7.9.0 - '@babel/preset-env': 7.9.0_@babel+core@7.9.0 + '@babel/preset-env': 7.9.5_@babel+core@7.9.0 '@babel/register': 7.9.0_@babel+core@7.9.0 - '@rollup/plugin-json': 4.0.2_rollup@2.6.0 - '@rollup/plugin-node-resolve': 7.1.1_rollup@2.6.0 + '@rollup/plugin-json': 4.0.1_rollup@2.7.2 + '@rollup/plugin-node-resolve': 7.1.1_rollup@2.7.2 acorn: 7.1.1 locate-character: 2.0.5 prettier: 1.19.1 require-relative: 0.8.7 - rollup: 2.6.0 - rollup-plugin-babel: 4.3.3_@babel+core@7.9.0+rollup@2.6.0 + rollup: 2.7.2 + rollup-plugin-babel: 4.3.3_@babel+core@7.9.0+rollup@2.7.2 shx: 0.3.2 source-map: 0.6.1 source-map-support: 0.5.16 @@ -245,7 +271,7 @@ importers: matched: 1.0.2 devDependencies: '@babel/core': 7.9.0 - '@babel/preset-env': 7.9.0_@babel+core@7.9.0 + '@babel/preset-env': 7.9.5_@babel+core@7.9.0 rollup: 2.2.0 rollup-plugin-babel: 4.4.0_@babel+core@7.9.0+rollup@2.2.0 specifiers: @@ -256,7 +282,7 @@ importers: rollup-plugin-babel: ^4.4.0 packages/node-resolve: dependencies: - '@rollup/pluginutils': 3.0.9_rollup@2.2.0 + '@rollup/pluginutils': 3.0.8_rollup@2.2.0 '@types/resolve': 0.0.8 builtin-modules: 3.1.0 deep-freeze: 0.0.1 @@ -265,8 +291,8 @@ importers: resolve: 1.15.0 devDependencies: '@babel/core': 7.9.0 - '@babel/preset-env': 7.9.0_@babel+core@7.9.0 - '@rollup/plugin-json': 4.0.3_rollup@2.2.0 + '@babel/preset-env': 7.9.5_@babel+core@7.9.0 + '@rollup/plugin-json': 4.0.1_rollup@2.2.0 es5-ext: 0.10.53 rollup: 2.2.0 rollup-plugin-babel: 4.3.3_@babel+core@7.9.0+rollup@2.2.0 @@ -401,7 +427,7 @@ importers: mime: 2.4.4 devDependencies: '@babel/core': 7.9.0 - '@babel/preset-env': 7.9.0_@babel+core@7.9.0 + '@babel/preset-env': 7.9.5_@babel+core@7.9.0 '@babel/register': 7.9.0_@babel+core@7.9.0 del: 5.1.0 globby: 10.0.2 @@ -441,7 +467,7 @@ importers: tosource: 1.0.0 devDependencies: '@babel/core': 7.9.0 - '@babel/preset-env': 7.9.0_@babel+core@7.9.0 + '@babel/preset-env': 7.9.5_@babel+core@7.9.0 '@rollup/plugin-node-resolve': 7.1.1_rollup@2.2.0 del-cli: 3.0.0 rollup: 2.2.0 @@ -466,13 +492,13 @@ packages: node: '>=8.9.4 <9 || >=10.0.0 <11 || >=12.0.0' resolution: integrity: sha512-3diBLIVBPPh3j4+hb5lo0I1D+S/O/VDJPI4Y502apBxmwEqjyXG4gTSPFUlm41sSZeZzMarT/Gzovw9kV7An0w== - /@ava/babel-preset-stage-4/4.0.0_@babel+core@7.8.3: + /@ava/babel-preset-stage-4/4.0.0_@babel+core@7.9.0: dependencies: - '@babel/plugin-proposal-async-generator-functions': 7.8.3_@babel+core@7.8.3 - '@babel/plugin-proposal-dynamic-import': 7.8.3_@babel+core@7.8.3 - '@babel/plugin-proposal-optional-catch-binding': 7.8.3_@babel+core@7.8.3 - '@babel/plugin-transform-dotall-regex': 7.8.3_@babel+core@7.8.3 - '@babel/plugin-transform-modules-commonjs': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-async-generator-functions': 7.8.3_@babel+core@7.9.0 + '@babel/plugin-proposal-dynamic-import': 7.8.3_@babel+core@7.9.0 + '@babel/plugin-proposal-optional-catch-binding': 7.8.3_@babel+core@7.9.0 + '@babel/plugin-transform-dotall-regex': 7.8.3_@babel+core@7.9.0 + '@babel/plugin-transform-modules-commonjs': 7.9.0_@babel+core@7.9.0 dev: true engines: node: '>=8.9.4 <9 || >=10.0.0 <11 || >=12.0.0' @@ -497,7 +523,7 @@ packages: integrity: sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== /@babel/compat-data/7.9.0: dependencies: - browserslist: 4.11.0 + browserslist: 4.12.0 invariant: 2.2.4 semver: 5.7.1 dev: true @@ -506,16 +532,16 @@ packages: /@babel/core/7.8.3: dependencies: '@babel/code-frame': 7.8.3 - '@babel/generator': 7.8.3 - '@babel/helpers': 7.8.3 - '@babel/parser': 7.8.3 - '@babel/template': 7.8.3 - '@babel/traverse': 7.8.3 - '@babel/types': 7.8.3 + '@babel/generator': 7.9.5 + '@babel/helpers': 7.9.2 + '@babel/parser': 7.9.4 + '@babel/template': 7.8.6 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 convert-source-map: 1.7.0 debug: 4.1.1 gensync: 1.0.0-beta.1 - json5: 2.1.1 + json5: 2.1.3 lodash: 4.17.15 resolve: 1.15.0 semver: 5.7.1 @@ -528,19 +554,19 @@ packages: /@babel/core/7.9.0: dependencies: '@babel/code-frame': 7.8.3 - '@babel/generator': 7.9.4 + '@babel/generator': 7.9.5 '@babel/helper-module-transforms': 7.9.0 '@babel/helpers': 7.9.2 '@babel/parser': 7.9.4 '@babel/template': 7.8.6 - '@babel/traverse': 7.9.0 - '@babel/types': 7.9.0 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 convert-source-map: 1.7.0 debug: 4.1.1 gensync: 1.0.0-beta.1 - json5: 2.1.2 + json5: 2.1.3 lodash: 4.17.15 - resolve: 1.15.1 + resolve: 1.15.0 semver: 5.7.1 source-map: 0.5.7 dev: true @@ -548,42 +574,46 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== - /@babel/generator/7.8.3: - dependencies: - '@babel/types': 7.8.3 - jsesc: 2.5.2 - lodash: 4.17.15 - source-map: 0.5.7 - dev: true - resolution: - integrity: sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug== - /@babel/generator/7.9.4: + /@babel/generator/7.9.5: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 jsesc: 2.5.2 lodash: 4.17.15 source-map: 0.5.7 dev: true resolution: - integrity: sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== + integrity: sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ== /@babel/helper-annotate-as-pure/7.8.3: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== /@babel/helper-builder-binary-assignment-operator-visitor/7.8.3: dependencies: '@babel/helper-explode-assignable-expression': 7.8.3 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== + /@babel/helper-compilation-targets/7.8.7_@babel+core@7.8.3: + dependencies: + '@babel/compat-data': 7.9.0 + '@babel/core': 7.8.3 + browserslist: 4.12.0 + invariant: 2.2.4 + levenary: 1.1.1 + semver: 5.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== /@babel/helper-compilation-targets/7.8.7_@babel+core@7.9.0: dependencies: '@babel/compat-data': 7.9.0 '@babel/core': 7.9.0 - browserslist: 4.11.0 + browserslist: 4.12.0 invariant: 2.2.4 levenary: 1.1.1 semver: 5.7.1 @@ -592,6 +622,20 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== + /@babel/helper-create-class-features-plugin/7.9.5_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-function-name': 7.9.5 + '@babel/helper-member-expression-to-functions': 7.8.3 + '@babel/helper-optimise-call-expression': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/helper-replace-supers': 7.8.6 + '@babel/helper-split-export-declaration': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-IipaxGaQmW4TfWoXdqjY0TzoXQ1HRS0kPpEgvjosb3u7Uedcq297xFqDQiCcQtRRwzIMif+N1MLVI8C5a4/PAA== /@babel/helper-create-regexp-features-plugin/7.8.8_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 @@ -616,62 +660,50 @@ packages: integrity: sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== /@babel/helper-define-map/7.8.3: dependencies: - '@babel/helper-function-name': 7.8.3 - '@babel/types': 7.9.0 + '@babel/helper-function-name': 7.9.5 + '@babel/types': 7.9.5 lodash: 4.17.15 dev: true resolution: integrity: sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== /@babel/helper-explode-assignable-expression/7.8.3: dependencies: - '@babel/traverse': 7.9.0 - '@babel/types': 7.9.0 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== - /@babel/helper-function-name/7.8.3: + /@babel/helper-function-name/7.9.5: dependencies: '@babel/helper-get-function-arity': 7.8.3 '@babel/template': 7.8.6 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: - integrity: sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + integrity: sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== /@babel/helper-get-function-arity/7.8.3: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== /@babel/helper-hoist-variables/7.8.3: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== /@babel/helper-member-expression-to-functions/7.8.3: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== /@babel/helper-module-imports/7.8.3: dependencies: - '@babel/types': 7.9.0 - dev: true + '@babel/types': 7.9.5 resolution: integrity: sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== - /@babel/helper-module-transforms/7.8.3: - dependencies: - '@babel/helper-module-imports': 7.8.3 - '@babel/helper-simple-access': 7.8.3 - '@babel/helper-split-export-declaration': 7.8.3 - '@babel/template': 7.8.3 - '@babel/types': 7.8.3 - lodash: 4.17.15 - dev: true - resolution: - integrity: sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q== /@babel/helper-module-transforms/7.9.0: dependencies: '@babel/helper-module-imports': 7.8.3 @@ -679,14 +711,14 @@ packages: '@babel/helper-simple-access': 7.8.3 '@babel/helper-split-export-declaration': 7.8.3 '@babel/template': 7.8.6 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 lodash: 4.17.15 dev: true resolution: integrity: sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== /@babel/helper-optimise-call-expression/7.8.3: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== @@ -705,8 +737,8 @@ packages: '@babel/helper-annotate-as-pure': 7.8.3 '@babel/helper-wrap-function': 7.8.3 '@babel/template': 7.8.6 - '@babel/traverse': 7.9.0 - '@babel/types': 7.9.0 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== @@ -714,68 +746,52 @@ packages: dependencies: '@babel/helper-member-expression-to-functions': 7.8.3 '@babel/helper-optimise-call-expression': 7.8.3 - '@babel/traverse': 7.9.0 - '@babel/types': 7.9.0 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== /@babel/helper-simple-access/7.8.3: dependencies: '@babel/template': 7.8.6 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== /@babel/helper-split-export-declaration/7.8.3: dependencies: - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - /@babel/helper-validator-identifier/7.9.0: - dev: true + /@babel/helper-validator-identifier/7.9.5: resolution: - integrity: sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== + integrity: sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== /@babel/helper-wrap-function/7.8.3: dependencies: - '@babel/helper-function-name': 7.8.3 + '@babel/helper-function-name': 7.9.5 '@babel/template': 7.8.6 - '@babel/traverse': 7.9.0 - '@babel/types': 7.9.0 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== - /@babel/helpers/7.8.3: - dependencies: - '@babel/template': 7.8.3 - '@babel/traverse': 7.8.3 - '@babel/types': 7.8.3 - dev: true - resolution: - integrity: sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ== /@babel/helpers/7.9.2: dependencies: '@babel/template': 7.8.6 - '@babel/traverse': 7.9.0 - '@babel/types': 7.9.0 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== /@babel/highlight/7.9.0: dependencies: - '@babel/helper-validator-identifier': 7.9.0 + '@babel/helper-validator-identifier': 7.9.5 chalk: 2.4.2 js-tokens: 4.0.0 dev: true resolution: integrity: sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== - /@babel/parser/7.8.3: - dev: true - engines: - node: '>=6.0.0' - hasBin: true - resolution: - integrity: sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ== /@babel/parser/7.9.4: dev: true engines: @@ -783,6 +799,15 @@ packages: hasBin: true resolution: integrity: sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== + /@babel/plugin-external-helpers/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw== /@babel/plugin-proposal-async-generator-functions/7.8.3_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 @@ -805,6 +830,17 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== + /@babel/plugin-proposal-decorators/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-create-class-features-plugin': 7.9.5_@babel+core@7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-syntax-decorators': 7.8.3_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== /@babel/plugin-proposal-dynamic-import/7.8.3_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 @@ -825,6 +861,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== + /@babel/plugin-proposal-json-strings/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== /@babel/plugin-proposal-json-strings/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -835,6 +881,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== + /@babel/plugin-proposal-nullish-coalescing-operator/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== /@babel/plugin-proposal-nullish-coalescing-operator/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -845,6 +901,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== + /@babel/plugin-proposal-numeric-separator/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-syntax-numeric-separator': 7.8.3_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== /@babel/plugin-proposal-numeric-separator/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -855,16 +921,28 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== - /@babel/plugin-proposal-object-rest-spread/7.9.0_@babel+core@7.9.0: + /@babel/plugin-proposal-object-rest-spread/7.9.5_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-parameters': 7.9.5_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg== + /@babel/plugin-proposal-object-rest-spread/7.9.5_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.9.0 + '@babel/plugin-transform-parameters': 7.9.5_@babel+core@7.9.0 dev: true peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow== + integrity: sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg== /@babel/plugin-proposal-optional-catch-binding/7.8.3_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 @@ -885,6 +963,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== + /@babel/plugin-proposal-optional-chaining/7.9.0_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== /@babel/plugin-proposal-optional-chaining/7.9.0_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -895,6 +983,18 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== + /@babel/plugin-proposal-unicode-property-regex/7.8.8_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-create-regexp-features-plugin': 7.8.8_@babel+core@7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + engines: + node: '>=4' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== /@babel/plugin-proposal-unicode-property-regex/7.8.8_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -925,6 +1025,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + /@babel/plugin-syntax-decorators/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ== /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 @@ -943,6 +1052,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -952,6 +1070,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -961,6 +1088,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + /@babel/plugin-syntax-numeric-separator/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== /@babel/plugin-syntax-numeric-separator/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -970,6 +1106,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -997,6 +1142,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1006,6 +1160,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + /@babel/plugin-syntax-top-level-await/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== /@babel/plugin-syntax-top-level-await/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1015,6 +1178,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== + /@babel/plugin-transform-arrow-functions/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== /@babel/plugin-transform-arrow-functions/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1024,6 +1196,17 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== + /@babel/plugin-transform-async-to-generator/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-module-imports': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/helper-remap-async-to-generator': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== /@babel/plugin-transform-async-to-generator/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1035,6 +1218,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== + /@babel/plugin-transform-block-scoped-functions/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== /@babel/plugin-transform-block-scoped-functions/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1044,6 +1236,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== + /@babel/plugin-transform-block-scoping/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + lodash: 4.17.15 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== /@babel/plugin-transform-block-scoping/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1054,12 +1256,28 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== - /@babel/plugin-transform-classes/7.9.2_@babel+core@7.9.0: + /@babel/plugin-transform-classes/7.9.5_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-annotate-as-pure': 7.8.3 + '@babel/helper-define-map': 7.8.3 + '@babel/helper-function-name': 7.9.5 + '@babel/helper-optimise-call-expression': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/helper-replace-supers': 7.8.6 + '@babel/helper-split-export-declaration': 7.8.3 + globals: 11.12.0 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== + /@babel/plugin-transform-classes/7.9.5_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-annotate-as-pure': 7.8.3 '@babel/helper-define-map': 7.8.3 - '@babel/helper-function-name': 7.8.3 + '@babel/helper-function-name': 7.9.5 '@babel/helper-optimise-call-expression': 7.8.3 '@babel/helper-plugin-utils': 7.8.3 '@babel/helper-replace-supers': 7.8.6 @@ -1069,7 +1287,16 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ== + integrity: sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== + /@babel/plugin-transform-computed-properties/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== /@babel/plugin-transform-computed-properties/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1079,7 +1306,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== - /@babel/plugin-transform-destructuring/7.8.8_@babel+core@7.9.0: + /@babel/plugin-transform-destructuring/7.9.5_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q== + /@babel/plugin-transform-destructuring/7.9.5_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 @@ -1087,7 +1323,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ== + integrity: sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q== /@babel/plugin-transform-dotall-regex/7.8.3_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 @@ -1108,6 +1344,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== + /@babel/plugin-transform-duplicate-keys/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== /@babel/plugin-transform-duplicate-keys/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1117,6 +1362,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== + /@babel/plugin-transform-exponentiation-operator/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== /@babel/plugin-transform-exponentiation-operator/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1127,6 +1382,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== + /@babel/plugin-transform-for-of/7.9.0_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== /@babel/plugin-transform-for-of/7.9.0_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1136,16 +1400,35 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== + /@babel/plugin-transform-function-name/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-function-name': 7.9.5 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== /@babel/plugin-transform-function-name/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 - '@babel/helper-function-name': 7.8.3 + '@babel/helper-function-name': 7.9.5 '@babel/helper-plugin-utils': 7.8.3 dev: true peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== + /@babel/plugin-transform-literals/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== /@babel/plugin-transform-literals/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1155,6 +1438,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== + /@babel/plugin-transform-member-expression-literals/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== /@babel/plugin-transform-member-expression-literals/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1164,53 +1456,86 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== + /@babel/plugin-transform-modules-amd/7.9.0_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-module-transforms': 7.9.0 + '@babel/helper-plugin-utils': 7.8.3 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== /@babel/plugin-transform-modules-amd/7.9.0_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-module-transforms': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 - babel-plugin-dynamic-import-node: 2.3.0 + babel-plugin-dynamic-import-node: 2.3.3 dev: true peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== - /@babel/plugin-transform-modules-commonjs/7.8.3_@babel+core@7.8.3: + /@babel/plugin-transform-modules-commonjs/7.9.0_@babel+core@7.8.3: dependencies: '@babel/core': 7.8.3 - '@babel/helper-module-transforms': 7.8.3 + '@babel/helper-module-transforms': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 '@babel/helper-simple-access': 7.8.3 - babel-plugin-dynamic-import-node: 2.3.0 + babel-plugin-dynamic-import-node: 2.3.3 dev: true peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg== + integrity: sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== /@babel/plugin-transform-modules-commonjs/7.9.0_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-module-transforms': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 '@babel/helper-simple-access': 7.8.3 - babel-plugin-dynamic-import-node: 2.3.0 + babel-plugin-dynamic-import-node: 2.3.3 dev: true peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== + /@babel/plugin-transform-modules-systemjs/7.9.0_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-hoist-variables': 7.8.3 + '@babel/helper-module-transforms': 7.9.0 + '@babel/helper-plugin-utils': 7.8.3 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== /@babel/plugin-transform-modules-systemjs/7.9.0_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-hoist-variables': 7.8.3 '@babel/helper-module-transforms': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 - babel-plugin-dynamic-import-node: 2.3.0 + babel-plugin-dynamic-import-node: 2.3.3 dev: true peerDependencies: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== + /@babel/plugin-transform-modules-umd/7.9.0_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-module-transforms': 7.9.0 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== /@babel/plugin-transform-modules-umd/7.9.0_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1221,6 +1546,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== + /@babel/plugin-transform-named-capturing-groups-regex/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-create-regexp-features-plugin': 7.8.8_@babel+core@7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== /@babel/plugin-transform-named-capturing-groups-regex/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1230,6 +1564,15 @@ packages: '@babel/core': ^7.0.0 resolution: integrity: sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== + /@babel/plugin-transform-new-target/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== /@babel/plugin-transform-new-target/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1239,6 +1582,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== + /@babel/plugin-transform-object-super/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/helper-replace-supers': 7.8.6 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== /@babel/plugin-transform-object-super/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1249,7 +1602,17 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== - /@babel/plugin-transform-parameters/7.9.3_@babel+core@7.9.0: + /@babel/plugin-transform-parameters/7.9.5_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-get-function-arity': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== + /@babel/plugin-transform-parameters/7.9.5_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-get-function-arity': 7.8.3 @@ -1258,7 +1621,16 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-fzrQFQhp7mIhOzmOtPiKffvCYQSK10NR8t6BBz2yPbeUHb9OLW8RZGtgDRBn8z2hGcwvKDL3vC7ojPTLNxmqEg== + integrity: sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== + /@babel/plugin-transform-property-literals/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== /@babel/plugin-transform-property-literals/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1268,6 +1640,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== + /@babel/plugin-transform-regenerator/7.8.7_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + regenerator-transform: 0.14.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== /@babel/plugin-transform-regenerator/7.8.7_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1277,6 +1658,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== + /@babel/plugin-transform-reserved-words/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== /@babel/plugin-transform-reserved-words/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1286,6 +1676,27 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== + /@babel/plugin-transform-runtime/7.9.0_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-module-imports': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + resolve: 1.15.0 + semver: 5.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== + /@babel/plugin-transform-shorthand-properties/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== /@babel/plugin-transform-shorthand-properties/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1295,6 +1706,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== + /@babel/plugin-transform-spread/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== /@babel/plugin-transform-spread/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1304,6 +1724,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== + /@babel/plugin-transform-sticky-regex/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/helper-regex': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== /@babel/plugin-transform-sticky-regex/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1314,6 +1744,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== + /@babel/plugin-transform-template-literals/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-annotate-as-pure': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== /@babel/plugin-transform-template-literals/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1324,6 +1764,15 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== + /@babel/plugin-transform-typeof-symbol/7.8.4_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== /@babel/plugin-transform-typeof-symbol/7.8.4_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1333,6 +1782,16 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== + /@babel/plugin-transform-unicode-regex/7.8.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-create-regexp-features-plugin': 7.8.8_@babel+core@7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== /@babel/plugin-transform-unicode-regex/7.8.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 @@ -1343,7 +1802,75 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== - /@babel/preset-env/7.9.0_@babel+core@7.9.0: + /@babel/preset-env/7.9.5_@babel+core@7.8.3: + dependencies: + '@babel/compat-data': 7.9.0 + '@babel/core': 7.8.3 + '@babel/helper-compilation-targets': 7.8.7_@babel+core@7.8.3 + '@babel/helper-module-imports': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-proposal-async-generator-functions': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-dynamic-import': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-json-strings': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-numeric-separator': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-object-rest-spread': 7.9.5_@babel+core@7.8.3 + '@babel/plugin-proposal-optional-catch-binding': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-proposal-optional-chaining': 7.9.0_@babel+core@7.8.3 + '@babel/plugin-proposal-unicode-property-regex': 7.8.8_@babel+core@7.8.3 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.8.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-numeric-separator': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-syntax-top-level-await': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-arrow-functions': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-async-to-generator': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-block-scoped-functions': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-block-scoping': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-classes': 7.9.5_@babel+core@7.8.3 + '@babel/plugin-transform-computed-properties': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-destructuring': 7.9.5_@babel+core@7.8.3 + '@babel/plugin-transform-dotall-regex': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-duplicate-keys': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-exponentiation-operator': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-for-of': 7.9.0_@babel+core@7.8.3 + '@babel/plugin-transform-function-name': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-literals': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-member-expression-literals': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-modules-amd': 7.9.0_@babel+core@7.8.3 + '@babel/plugin-transform-modules-commonjs': 7.9.0_@babel+core@7.8.3 + '@babel/plugin-transform-modules-systemjs': 7.9.0_@babel+core@7.8.3 + '@babel/plugin-transform-modules-umd': 7.9.0_@babel+core@7.8.3 + '@babel/plugin-transform-named-capturing-groups-regex': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-new-target': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-object-super': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-parameters': 7.9.5_@babel+core@7.8.3 + '@babel/plugin-transform-property-literals': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-regenerator': 7.8.7_@babel+core@7.8.3 + '@babel/plugin-transform-reserved-words': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-shorthand-properties': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-spread': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-sticky-regex': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-template-literals': 7.8.3_@babel+core@7.8.3 + '@babel/plugin-transform-typeof-symbol': 7.8.4_@babel+core@7.8.3 + '@babel/plugin-transform-unicode-regex': 7.8.3_@babel+core@7.8.3 + '@babel/preset-modules': 0.1.3_@babel+core@7.8.3 + '@babel/types': 7.9.5 + browserslist: 4.12.0 + core-js-compat: 3.6.5 + invariant: 2.2.4 + levenary: 1.1.1 + semver: 5.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-eWGYeADTlPJH+wq1F0wNfPbVS1w1wtmMJiYk55Td5Yu28AsdR9AsC97sZ0Qq8fHqQuslVSIYSGJMcblr345GfQ== + /@babel/preset-env/7.9.5_@babel+core@7.9.0: dependencies: '@babel/compat-data': 7.9.0 '@babel/core': 7.9.0 @@ -1355,7 +1882,7 @@ packages: '@babel/plugin-proposal-json-strings': 7.8.3_@babel+core@7.9.0 '@babel/plugin-proposal-nullish-coalescing-operator': 7.8.3_@babel+core@7.9.0 '@babel/plugin-proposal-numeric-separator': 7.8.3_@babel+core@7.9.0 - '@babel/plugin-proposal-object-rest-spread': 7.9.0_@babel+core@7.9.0 + '@babel/plugin-proposal-object-rest-spread': 7.9.5_@babel+core@7.9.0 '@babel/plugin-proposal-optional-catch-binding': 7.8.3_@babel+core@7.9.0 '@babel/plugin-proposal-optional-chaining': 7.9.0_@babel+core@7.9.0 '@babel/plugin-proposal-unicode-property-regex': 7.8.8_@babel+core@7.9.0 @@ -1372,9 +1899,9 @@ packages: '@babel/plugin-transform-async-to-generator': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-block-scoped-functions': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-block-scoping': 7.8.3_@babel+core@7.9.0 - '@babel/plugin-transform-classes': 7.9.2_@babel+core@7.9.0 + '@babel/plugin-transform-classes': 7.9.5_@babel+core@7.9.0 '@babel/plugin-transform-computed-properties': 7.8.3_@babel+core@7.9.0 - '@babel/plugin-transform-destructuring': 7.8.8_@babel+core@7.9.0 + '@babel/plugin-transform-destructuring': 7.9.5_@babel+core@7.9.0 '@babel/plugin-transform-dotall-regex': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-duplicate-keys': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-exponentiation-operator': 7.8.3_@babel+core@7.9.0 @@ -1389,7 +1916,7 @@ packages: '@babel/plugin-transform-named-capturing-groups-regex': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-new-target': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-object-super': 7.8.3_@babel+core@7.9.0 - '@babel/plugin-transform-parameters': 7.9.3_@babel+core@7.9.0 + '@babel/plugin-transform-parameters': 7.9.5_@babel+core@7.9.0 '@babel/plugin-transform-property-literals': 7.8.3_@babel+core@7.9.0 '@babel/plugin-transform-regenerator': 7.8.7_@babel+core@7.9.0 '@babel/plugin-transform-reserved-words': 7.8.3_@babel+core@7.9.0 @@ -1400,9 +1927,9 @@ packages: '@babel/plugin-transform-typeof-symbol': 7.8.4_@babel+core@7.9.0 '@babel/plugin-transform-unicode-regex': 7.8.3_@babel+core@7.9.0 '@babel/preset-modules': 0.1.3_@babel+core@7.9.0 - '@babel/types': 7.9.0 - browserslist: 4.11.0 - core-js-compat: 3.6.4 + '@babel/types': 7.9.5 + browserslist: 4.12.0 + core-js-compat: 3.6.5 invariant: 2.2.4 levenary: 1.1.1 semver: 5.7.1 @@ -1410,14 +1937,27 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 resolution: - integrity: sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== + integrity: sha512-eWGYeADTlPJH+wq1F0wNfPbVS1w1wtmMJiYk55Td5Yu28AsdR9AsC97sZ0Qq8fHqQuslVSIYSGJMcblr345GfQ== + /@babel/preset-modules/0.1.3_@babel+core@7.8.3: + dependencies: + '@babel/core': 7.8.3 + '@babel/helper-plugin-utils': 7.8.3 + '@babel/plugin-proposal-unicode-property-regex': 7.8.8_@babel+core@7.8.3 + '@babel/plugin-transform-dotall-regex': 7.8.3_@babel+core@7.8.3 + '@babel/types': 7.9.5 + esutils: 2.0.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== /@babel/preset-modules/0.1.3_@babel+core@7.9.0: dependencies: '@babel/core': 7.9.0 '@babel/helper-plugin-utils': 7.8.3 '@babel/plugin-proposal-unicode-property-regex': 7.8.8_@babel+core@7.9.0 '@babel/plugin-transform-dotall-regex': 7.8.3_@babel+core@7.9.0 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 esutils: 2.0.3 dev: true peerDependencies: @@ -1437,78 +1977,41 @@ packages: '@babel/core': ^7.0.0-0 resolution: integrity: sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q== - /@babel/runtime/7.8.3: - dependencies: - regenerator-runtime: 0.13.3 - dev: true - resolution: - integrity: sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w== /@babel/runtime/7.9.2: dependencies: regenerator-runtime: 0.13.5 dev: true resolution: integrity: sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== - /@babel/template/7.8.3: - dependencies: - '@babel/code-frame': 7.8.3 - '@babel/parser': 7.8.3 - '@babel/types': 7.8.3 - dev: true - resolution: - integrity: sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== /@babel/template/7.8.6: dependencies: '@babel/code-frame': 7.8.3 '@babel/parser': 7.9.4 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 dev: true resolution: integrity: sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - /@babel/traverse/7.8.3: - dependencies: - '@babel/code-frame': 7.8.3 - '@babel/generator': 7.8.3 - '@babel/helper-function-name': 7.8.3 - '@babel/helper-split-export-declaration': 7.8.3 - '@babel/parser': 7.8.3 - '@babel/types': 7.8.3 - debug: 4.1.1 - globals: 11.12.0 - lodash: 4.17.15 - dev: true - resolution: - integrity: sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg== - /@babel/traverse/7.9.0: + /@babel/traverse/7.9.5: dependencies: '@babel/code-frame': 7.8.3 - '@babel/generator': 7.9.4 - '@babel/helper-function-name': 7.8.3 + '@babel/generator': 7.9.5 + '@babel/helper-function-name': 7.9.5 '@babel/helper-split-export-declaration': 7.8.3 '@babel/parser': 7.9.4 - '@babel/types': 7.9.0 + '@babel/types': 7.9.5 debug: 4.1.1 globals: 11.12.0 lodash: 4.17.15 dev: true resolution: - integrity: sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== - /@babel/types/7.8.3: - dependencies: - esutils: 2.0.3 - lodash: 4.17.15 - to-fast-properties: 2.0.0 - dev: true - resolution: - integrity: sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== - /@babel/types/7.9.0: + integrity: sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ== + /@babel/types/7.9.5: dependencies: - '@babel/helper-validator-identifier': 7.9.0 + '@babel/helper-validator-identifier': 7.9.5 lodash: 4.17.15 to-fast-properties: 2.0.0 - dev: true resolution: - integrity: sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== + integrity: sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg== /@concordance/react/2.0.0: dependencies: arrify: 1.0.1 @@ -1588,7 +2091,7 @@ packages: '@rollup/pluginutils': 3.0.8 estree-walker: 1.0.1 is-reference: 1.1.4 - magic-string: 0.25.6 + magic-string: 0.25.7 resolve: 1.15.0 dev: true engines: @@ -1602,7 +2105,7 @@ packages: '@rollup/pluginutils': 3.0.8_rollup@2.2.0 estree-walker: 1.0.1 is-reference: 1.1.4 - magic-string: 0.25.6 + magic-string: 0.25.7 resolve: 1.15.0 rollup: 2.2.0 dev: true @@ -1612,31 +2115,31 @@ packages: rollup: ^1.20.0 resolution: integrity: sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g== - /@rollup/plugin-json/4.0.2_rollup@2.6.0: + /@rollup/plugin-json/4.0.1_rollup@2.2.0: dependencies: - '@rollup/pluginutils': 3.0.8_rollup@2.6.0 - rollup: 2.6.0 + rollup: 2.2.0 + rollup-pluginutils: 2.8.2 dev: true peerDependencies: rollup: ^1.20.0 resolution: - integrity: sha512-t4zJMc98BdH42mBuzjhQA7dKh0t4vMJlUka6Fz0c+iO5IVnWaEMiYBy1uBj9ruHZzXBW23IPDGL9oCzBkQ9Udg== - /@rollup/plugin-json/4.0.3_rollup@2.2.0: + integrity: sha512-soxllkhOGgchswBAAaTe7X9G80U2tjjHvXv0sBrriLJcC/89PkP59iTrKPOfbz3SjX088mKDmMhAscuyLz8ZSg== + /@rollup/plugin-json/4.0.1_rollup@2.7.2: dependencies: - '@rollup/pluginutils': 3.0.8_rollup@2.2.0 - rollup: 2.2.0 + rollup: 2.7.2 + rollup-pluginutils: 2.8.2 dev: true peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + rollup: ^1.20.0 resolution: - integrity: sha512-QMUT0HZNf4CX17LMdwaslzlYHUKTYGuuk34yYIgZrNdu+pMEfqMS55gck7HEeHBKXHM4cz5Dg1OVwythDdbbuQ== + integrity: sha512-soxllkhOGgchswBAAaTe7X9G80U2tjjHvXv0sBrriLJcC/89PkP59iTrKPOfbz3SjX088mKDmMhAscuyLz8ZSg== /@rollup/plugin-node-resolve/7.1.1: dependencies: '@rollup/pluginutils': 3.0.8 '@types/resolve': 0.0.8 builtin-modules: 3.1.0 is-module: 1.0.0 - resolve: 1.15.1 + resolve: 1.15.0 dev: true engines: node: '>= 8.0.0' @@ -1650,7 +2153,7 @@ packages: '@types/resolve': 0.0.8 builtin-modules: 3.1.0 is-module: 1.0.0 - resolve: 1.15.1 + resolve: 1.15.0 rollup: 2.2.0 dev: true engines: @@ -1659,14 +2162,14 @@ packages: rollup: ^1.20.0 resolution: integrity: sha512-14ddhD7TnemeHE97a4rLOhobfYvUVcaYuqTnL8Ti7Jxi9V9Jr5LY7Gko4HZ5k4h4vqQM0gBQt6tsp9xXW94WPA== - /@rollup/plugin-node-resolve/7.1.1_rollup@2.6.0: + /@rollup/plugin-node-resolve/7.1.1_rollup@2.7.2: dependencies: - '@rollup/pluginutils': 3.0.8_rollup@2.6.0 + '@rollup/pluginutils': 3.0.8_rollup@2.7.2 '@types/resolve': 0.0.8 builtin-modules: 3.1.0 is-module: 1.0.0 - resolve: 1.15.1 - rollup: 2.6.0 + resolve: 1.15.0 + rollup: 2.7.2 dev: true engines: node: '>= 8.0.0' @@ -1752,29 +2255,16 @@ packages: rollup: ^1.20.0 resolution: integrity: sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw== - /@rollup/pluginutils/3.0.8_rollup@2.6.0: + /@rollup/pluginutils/3.0.8_rollup@2.7.2: dependencies: estree-walker: 1.0.1 - rollup: 2.6.0 + rollup: 2.7.2 engines: node: '>= 8.0.0' peerDependencies: rollup: ^1.20.0 resolution: integrity: sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw== - /@rollup/pluginutils/3.0.9_rollup@2.2.0: - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - micromatch: 4.0.2 - rollup: 2.2.0 - dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-TLZavlfPAZYI7v33wQh4mTP6zojne14yok3DNSLcjoG/Hirxfkonn6icP5rrNWRn8nZsirJBFFpijVOJzkUHDg== /@samverschueren/stream-to-observable/0.3.0: dependencies: any-observable: 0.3.0 @@ -1816,7 +2306,7 @@ packages: integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== /@szmarczak/http-timer/1.1.2: dependencies: - defer-to-connect: 1.1.1 + defer-to-connect: 1.1.3 dev: true engines: node: '>=6' @@ -1828,7 +2318,7 @@ packages: integrity: sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== /@types/buble/0.19.2: dependencies: - magic-string: 0.25.6 + magic-string: 0.25.7 resolution: integrity: sha512-uUD8zIfXMKThmFkahTXDGI3CthFH1kMg2dOm3KLi4GlC5cbARA64bEcUMbbWdWdE73eoc/iBB9PiTMqH0dNS2Q== /@types/color-name/1.1.1: @@ -1850,7 +2340,7 @@ packages: dependencies: '@types/events': 3.0.0 '@types/minimatch': 3.0.3 - '@types/node': 13.1.8 + '@types/node': 13.13.4 dev: true resolution: integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== @@ -1904,12 +2394,12 @@ packages: resolution: integrity: sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg== /@types/node/13.1.8: - dev: true resolution: integrity: sha512-6XzyyNM9EKQW4HKuzbo/CkOIjn/evtCmsU+MUM1xDfJ+3/rNjBttM1NgN7AOQvN6tP1Sl1D1PIKMreTArnxM9A== - /@types/node/13.9.5: + /@types/node/13.13.4: + dev: true resolution: - integrity: sha512-hkzMMD3xu6BrJpGVLeQ3htQQNAcOrJjX7WFmtK8zWQpz2UJf13LCFF2ALA7c9OVdvc2vQJeDdjfR35M0sBCxvw== + integrity: sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA== /@types/normalize-package-data/2.4.0: dev: true resolution: @@ -1920,7 +2410,7 @@ packages: integrity: sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== /@types/resolve/0.0.8: dependencies: - '@types/node': 13.9.5 + '@types/node': 13.1.8 resolution: integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== /@types/yargs-parser/15.0.0: @@ -1933,15 +2423,14 @@ packages: dev: true resolution: integrity: sha512-CF/+sxTO7FOwbIRL4wMv0ZYLCRfMid2HQpzDRyViH7kSpfoAFiMdGqKIxb1PxWfjtQXQhnQuD33lvRHNwr809Q== - /@typescript-eslint/eslint-plugin/2.16.0_8fc8ff471fa3e6f8320e1003f8984b6d: + /@typescript-eslint/eslint-plugin/2.29.0_78834e48aafc7e2cd4306b1d6b447263: dependencies: - '@typescript-eslint/experimental-utils': 2.16.0_typescript@3.7.5 - '@typescript-eslint/parser': 2.16.0_typescript@3.7.5 - eslint-utils: 1.4.3 + '@typescript-eslint/experimental-utils': 2.29.0_typescript@3.8.3 + '@typescript-eslint/parser': 2.29.0_typescript@3.8.3 functional-red-black-tree: 1.0.1 - regexpp: 3.0.0 - tsutils: 3.17.1_typescript@3.7.5 - typescript: 3.7.5 + regexpp: 3.1.0 + tsutils: 3.17.1_typescript@3.8.3 + typescript: 3.8.3 dev: true engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 @@ -1953,12 +2442,13 @@ packages: typescript: optional: true resolution: - integrity: sha512-TKWbeFAKRPrvKiR9GNxErQ8sELKqg1ZvXi6uho07mcKShBnCnqNpDQWP01FEvWKf0bxM2g7uQEI5MNjSNqvUpQ== - /@typescript-eslint/experimental-utils/2.16.0_typescript@3.7.5: + integrity: sha512-X/YAY7azKirENm4QRpT7OVmzok02cSkqeIcLmdz6gXUQG4Hk0Fi9oBAynSAyNXeGdMRuZvjBa0c1Lu0dn/u6VA== + /@typescript-eslint/experimental-utils/2.29.0_typescript@3.8.3: dependencies: '@types/json-schema': 7.0.4 - '@typescript-eslint/typescript-estree': 2.16.0_typescript@3.7.5 + '@typescript-eslint/typescript-estree': 2.29.0_typescript@3.8.3 eslint-scope: 5.0.0 + eslint-utils: 2.0.0 dev: true engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 @@ -1966,14 +2456,14 @@ packages: eslint: '*' typescript: '*' resolution: - integrity: sha512-bXTmAztXpqxliDKZgvWkl+5dHeRN+jqXVZ16peKKFzSXVzT6mz8kgBpHiVzEKO2NZ8OCU7dG61K9sRS/SkUUFQ== - /@typescript-eslint/parser/2.16.0_typescript@3.7.5: + integrity: sha512-H/6VJr6eWYstyqjWXBP2Nn1hQJyvJoFdDtsHxGiD+lEP7piGnGpb/ZQd+z1ZSB1F7dN+WsxUDh8+S4LwI+f3jw== + /@typescript-eslint/parser/2.29.0_typescript@3.8.3: dependencies: '@types/eslint-visitor-keys': 1.0.0 - '@typescript-eslint/experimental-utils': 2.16.0_typescript@3.7.5 - '@typescript-eslint/typescript-estree': 2.16.0_typescript@3.7.5 + '@typescript-eslint/experimental-utils': 2.29.0_typescript@3.8.3 + '@typescript-eslint/typescript-estree': 2.29.0_typescript@3.8.3 eslint-visitor-keys: 1.1.0 - typescript: 3.7.5 + typescript: 3.8.3 dev: true engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 @@ -1984,8 +2474,8 @@ packages: typescript: optional: true resolution: - integrity: sha512-+w8dMaYETM9v6il1yYYkApMSiwgnqXWJbXrA94LAWN603vXHACsZTirJduyeBOJjA9wT6xuXe5zZ1iCUzoxCfw== - /@typescript-eslint/typescript-estree/2.16.0_typescript@3.7.5: + integrity: sha512-H78M+jcu5Tf6m/5N8iiFblUUv+HJDguMSdFfzwa6vSg9lKR8Mk9BsgeSjO8l2EshKnJKcbv0e8IDDOvSNjl0EA== + /@typescript-eslint/typescript-estree/2.29.0_typescript@3.8.3: dependencies: debug: 4.1.1 eslint-visitor-keys: 1.1.0 @@ -1993,8 +2483,8 @@ packages: is-glob: 4.0.1 lodash: 4.17.15 semver: 6.3.0 - tsutils: 3.17.1_typescript@3.7.5 - typescript: 3.7.5 + tsutils: 3.17.1_typescript@3.8.3 + typescript: 3.8.3 dev: true engines: node: ^8.10.0 || ^10.13.0 || >=11.10.1 @@ -2004,7 +2494,7 @@ packages: typescript: optional: true resolution: - integrity: sha512-hyrCYjFHISos68Bk5KjUAXw0pP/455qq9nxqB1KkT67Pxjcfw+r6Yhcmqnp8etFL45UexCHUMrADHH7dI/m2WQ== + integrity: sha512-3YGbtnWy4az16Egy5Fj5CckkVlpIh0MADtAQza+jiMADRSKkjdpzZp/5WuvwK/Qib3Z0HtzrDFeWanS99dNhnA== /JSONStream/1.3.5: dependencies: jsonparse: 1.3.1 @@ -2016,6 +2506,15 @@ packages: /acorn-dynamic-import/4.0.0_acorn@6.4.0: dependencies: acorn: 6.4.0 + dev: true + peerDependencies: + acorn: ^6.0.0 + resolution: + integrity: sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== + /acorn-dynamic-import/4.0.0_acorn@6.4.1: + dependencies: + acorn: 6.4.1 + dev: false peerDependencies: acorn: ^6.0.0 resolution: @@ -2023,10 +2522,19 @@ packages: /acorn-jsx/5.1.0_acorn@6.4.0: dependencies: acorn: 6.4.0 + dev: true peerDependencies: acorn: ^6.0.0 || ^7.0.0 resolution: integrity: sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== + /acorn-jsx/5.2.0_acorn@6.4.1: + dependencies: + acorn: 6.4.1 + dev: false + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 + resolution: + integrity: sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== /acorn-jsx/5.2.0_acorn@7.1.1: dependencies: acorn: 7.1.1 @@ -2036,11 +2544,19 @@ packages: resolution: integrity: sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== /acorn/6.4.0: + dev: true engines: node: '>=0.4.0' hasBin: true resolution: integrity: sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== + /acorn/6.4.1: + dev: false + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== /acorn/7.1.0: dev: true engines: @@ -2064,7 +2580,7 @@ packages: node: '>=8' resolution: integrity: sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== - /ajv/6.12.0: + /ajv/6.12.2: dependencies: fast-deep-equal: 3.1.1 fast-json-stable-stringify: 2.1.0 @@ -2072,7 +2588,7 @@ packages: uri-js: 4.2.2 dev: true resolution: - integrity: sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== + integrity: sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== /alphanum-sort/1.0.2: dev: true resolution: @@ -2089,14 +2605,6 @@ packages: node: '>=4' resolution: integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - /ansi-escapes/4.3.0: - dependencies: - type-fest: 0.8.1 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== /ansi-escapes/4.3.1: dependencies: type-fest: 0.11.0 @@ -2164,7 +2672,7 @@ packages: /anymatch/3.1.1: dependencies: normalize-path: 3.0.0 - picomatch: 2.2.1 + picomatch: 2.2.2 dev: true engines: node: '>= 8' @@ -2182,10 +2690,10 @@ packages: dev: true resolution: integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - /arg/4.1.2: + /arg/4.1.3: dev: true resolution: - integrity: sha512-+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg== + integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== /argparse/1.0.10: dependencies: sprintf-js: 1.0.3 @@ -2211,7 +2719,7 @@ packages: /array-includes/3.1.1: dependencies: define-properties: 1.1.3 - es-abstract: 1.17.2 + es-abstract: 1.17.5 is-string: 1.0.5 dev: true engines: @@ -2247,7 +2755,7 @@ packages: /array.prototype.flat/1.2.3: dependencies: define-properties: 1.1.3 - es-abstract: 1.17.2 + es-abstract: 1.17.5 dev: true engines: node: '>= 0.4' @@ -2284,12 +2792,12 @@ packages: integrity: sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE= /ava/2.4.0: dependencies: - '@ava/babel-preset-stage-4': 4.0.0_@babel+core@7.8.3 + '@ava/babel-preset-stage-4': 4.0.0_@babel+core@7.9.0 '@ava/babel-preset-transform-test-files': 6.0.0 - '@babel/core': 7.8.3 - '@babel/generator': 7.8.3 + '@babel/core': 7.9.0 + '@babel/generator': 7.9.5 '@concordance/react': 2.0.0 - ansi-escapes: 4.3.0 + ansi-escapes: 4.3.1 ansi-styles: 4.2.1 arr-flatten: 1.1.0 array-union: 2.1.0 @@ -2297,7 +2805,7 @@ packages: arrify: 2.0.1 bluebird: 3.7.2 chalk: 2.4.2 - chokidar: 3.3.1 + chokidar: 3.4.0 chunkd: 1.0.0 ci-parallel-vars: 1.0.0 clean-stack: 2.2.0 @@ -2317,7 +2825,7 @@ packages: equal-length: 1.0.1 escape-string-regexp: 2.0.0 esm: 3.2.25 - figures: 3.1.0 + figures: 3.2.0 find-up: 4.1.0 get-port: 5.1.1 globby: 10.0.2 @@ -2328,10 +2836,10 @@ packages: is-error: 2.2.2 is-observable: 2.0.0 is-plain-object: 3.0.0 - is-promise: 2.1.0 + is-promise: 2.2.2 lodash: 4.17.15 loud-rejection: 2.2.0 - make-dir: 3.0.0 + make-dir: 3.1.0 matcher: 2.1.0 md5-hex: 3.0.1 meow: 5.0.0 @@ -2346,7 +2854,7 @@ packages: require-precompiled: 0.1.0 resolve-cwd: 3.0.0 slash: 3.0.0 - source-map-support: 0.5.16 + source-map-support: 0.5.19 stack-utils: 1.0.2 strip-ansi: 5.2.0 strip-bom-buf: 2.0.0 @@ -2356,23 +2864,23 @@ packages: trim-right: 1.0.1 unique-temp-dir: 1.0.0 update-notifier: 3.0.1 - write-file-atomic: 3.0.1 + write-file-atomic: 3.0.3 dev: true engines: node: '>=8.9.4 <9 || >=10.0.0 <11 || >=12.0.0' hasBin: true resolution: integrity: sha512-CQWtzZZZeU2g4StojRv6MO9RIRi4sLxGSB9+3C3hv0ttUEG1tkJLTLyrBQeFS4WEeK12Z4ovE3f2iPVhSy8elA== - /babel-plugin-dynamic-import-node/2.3.0: + /babel-plugin-dynamic-import-node/2.3.3: dependencies: object.assign: 4.1.0 dev: true resolution: - integrity: sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== + integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== /babel-plugin-espower/3.0.1: dependencies: - '@babel/generator': 7.8.3 - '@babel/parser': 7.8.3 + '@babel/generator': 7.9.5 + '@babel/parser': 7.9.4 call-matcher: 1.1.0 core-js: 2.6.11 espower-location-detector: 1.0.0 @@ -2398,10 +2906,10 @@ packages: dev: true resolution: integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - /blueimp-md5/2.12.0: + /blueimp-md5/2.13.0: dev: true resolution: - integrity: sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ== + integrity: sha512-lmp0m647R5e77ORduxLW5mISIDcvgJZa52vMBv5uVI3UmSWTQjkJsZVBfaFqQPw/QFogJwvY6e3Gl9nP+Loe+Q== /boolbase/1.0.0: dev: true resolution: @@ -2434,25 +2942,16 @@ packages: node: '>=8' resolution: integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - /browserslist/4.11.0: + /browserslist/4.12.0: dependencies: - caniuse-lite: 1.0.30001038 - electron-to-chromium: 1.3.390 + caniuse-lite: 1.0.30001048 + electron-to-chromium: 1.3.418 node-releases: 1.1.53 - pkg-up: 3.1.0 - dev: true - hasBin: true - resolution: - integrity: sha512-WqEC7Yr5wUH5sg6ruR++v2SGOQYpyUdYYd4tZoAq1F7y+QXoLoYGXVbxhtaIqWmAJjtNTRjVD3HuJc1OXTel2A== - /browserslist/4.8.3: - dependencies: - caniuse-lite: 1.0.30001021 - electron-to-chromium: 1.3.337 - node-releases: 1.1.46 + pkg-up: 2.0.0 dev: true hasBin: true resolution: - integrity: sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg== + integrity: sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== /buble/0.19.8: dependencies: acorn: 6.4.0 @@ -2460,12 +2959,26 @@ packages: acorn-jsx: 5.1.0_acorn@6.4.0 chalk: 2.4.2 magic-string: 0.25.6 - minimist: 1.2.0 + minimist: 1.2.5 os-homedir: 2.0.0 regexpu-core: 4.6.0 + dev: true hasBin: true resolution: integrity: sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA== + /buble/0.20.0: + dependencies: + acorn: 6.4.1 + acorn-dynamic-import: 4.0.0_acorn@6.4.1 + acorn-jsx: 5.2.0_acorn@6.4.1 + chalk: 2.4.2 + magic-string: 0.25.7 + minimist: 1.2.5 + regexpu-core: 4.5.4 + dev: false + hasBin: true + resolution: + integrity: sha512-/1gnaMQE8xvd5qsNBl+iTuyjJ9XxeaVxAMF86dQ4EyxFJOZtsgOS8Ra+7WHgZTam5IFDtt4BguN0sH0tVTKrOw== /buffer-from/1.1.1: dev: true resolution: @@ -2479,7 +2992,7 @@ packages: dependencies: clone-response: 1.0.2 get-stream: 5.1.0 - http-cache-semantics: 4.0.3 + http-cache-semantics: 4.1.0 keyv: 3.1.0 lowercase-keys: 2.0.0 normalize-url: 4.5.0 @@ -2565,7 +3078,7 @@ packages: integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== /caniuse-api/3.0.0: dependencies: - browserslist: 4.8.3 + browserslist: 4.12.0 caniuse-lite: 1.0.30001021 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 @@ -2576,10 +3089,10 @@ packages: dev: true resolution: integrity: sha512-wuMhT7/hwkgd8gldgp2jcrUjOU9RXJ4XxGumQeOsUr91l3WwmM68Cpa/ymCnWEDqakwFXhuDQbaKNHXBPgeE9g== - /caniuse-lite/1.0.30001038: + /caniuse-lite/1.0.30001048: dev: true resolution: - integrity: sha512-zii9quPo96XfOiRD4TrfYGs+QsGZpb2cGiMAzPjtf/hpFgB6zCPZgJb7I1+EATeMw/o+lG8FyRAnI+CWStHcaQ== + integrity: sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg== /chalk/1.1.3: dependencies: ansi-styles: 2.2.1 @@ -2614,22 +3127,22 @@ packages: dev: true resolution: integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - /chokidar/3.3.1: + /chokidar/3.4.0: dependencies: anymatch: 3.1.1 braces: 3.0.2 - glob-parent: 5.1.0 + glob-parent: 5.1.1 is-binary-path: 2.1.0 is-glob: 4.0.1 normalize-path: 3.0.0 - readdirp: 3.3.0 + readdirp: 3.4.0 dev: true engines: node: '>= 8.10.0' optionalDependencies: - fsevents: 2.1.2 + fsevents: 2.1.3 resolution: - integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + integrity: sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== /chunkd/1.0.0: dev: true resolution: @@ -2676,12 +3189,12 @@ packages: node: '>=8' resolution: integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - /cli-spinners/2.2.0: + /cli-spinners/2.3.0: dev: true engines: node: '>=6' resolution: - integrity: sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== + integrity: sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w== /cli-truncate/0.2.1: dependencies: slice-ansi: 0.0.4 @@ -2700,10 +3213,10 @@ packages: node: '>=8' resolution: integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - /cli-width/2.2.0: + /cli-width/2.2.1: dev: true resolution: - integrity: sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== /cliui/5.0.0: dependencies: string-width: 3.1.0 @@ -2750,7 +3263,7 @@ packages: integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= /codecov-lite/0.3.1: dependencies: - '@babel/runtime': 7.8.3 + '@babel/runtime': 7.9.2 got: 9.6.0 dev: true engines: @@ -2880,13 +3393,13 @@ packages: node: '>= 4' resolution: integrity: sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU= - /core-js-compat/3.6.4: + /core-js-compat/3.6.5: dependencies: - browserslist: 4.11.0 + browserslist: 4.12.0 semver: 7.0.0 dev: true resolution: - integrity: sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== + integrity: sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== /core-js/2.6.11: deprecated: 'core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.' dev: true @@ -2947,7 +3460,7 @@ packages: node: '>=4.8' resolution: integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - /cross-spawn/7.0.1: + /cross-spawn/7.0.2: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -2956,7 +3469,7 @@ packages: engines: node: '>= 8' resolution: - integrity: sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== + integrity: sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== /crypto-random-string/1.0.0: dev: true engines: @@ -3198,7 +3711,7 @@ packages: is-arguments: 1.0.4 is-date-object: 1.0.2 is-regex: 1.0.5 - object-is: 1.0.2 + object-is: 1.1.2 object-keys: 1.1.1 regexp.prototype.flags: 1.3.0 dev: true @@ -3238,10 +3751,10 @@ packages: dev: true resolution: integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - /defer-to-connect/1.1.1: + /defer-to-connect/1.1.3: dev: true resolution: - integrity: sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ== + integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== /define-properties/1.1.3: dependencies: object-keys: 1.1.1 @@ -3374,14 +3887,10 @@ packages: dev: true resolution: integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - /electron-to-chromium/1.3.337: - dev: true - resolution: - integrity: sha512-uJ+wLjslYQ/2rAusDg+6FlK8DLhHWTLCe7gkofBehTifW7KCkPVTn5rhKSCncWYNq34Iy/o4OfswuEkAO2RBaw== - /electron-to-chromium/1.3.390: + /electron-to-chromium/1.3.418: dev: true resolution: - integrity: sha512-4RvbM5x+002gKI8sltkqWEk5pptn0UnzekUx8RTThAMPDSb8jjpm6SwGiSnEve7f85biyZl8DMXaipaCxDjXag== + integrity: sha512-i2QrQtHes5fK/F9QGG5XacM5WKEuR322fxTYF9e8O9Gu0mc0WmjjwGpV8c7Htso6Zf2Di18lc3SIPxmMeRFBug== /elegant-spinner/1.0.1: dev: true engines: @@ -3454,6 +3963,24 @@ packages: node: '>= 0.4' resolution: integrity: sha512-YoKuru3Lyoy7yVTBSH2j7UxTqe/je3dWAruC0sHvZX1GNd5zX8SSLvQqEgO9b3Ex8IW+goFI9arEEsFIbulhOw== + /es-abstract/1.17.5: + dependencies: + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.1 + is-callable: 1.1.5 + is-regex: 1.0.5 + object-inspect: 1.7.0 + object-keys: 1.1.1 + object.assign: 4.1.0 + string.prototype.trimleft: 2.1.2 + string.prototype.trimright: 2.1.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== /es-to-primitive/1.2.1: dependencies: is-callable: 1.1.5 @@ -3509,8 +4036,8 @@ packages: /eslint-config-rollup/0.1.0: dependencies: eslint: 6.8.0 - eslint-plugin-import: 2.20.0_eslint@6.8.0 - eslint-plugin-prettier: 3.1.2_eslint@6.8.0+prettier@1.19.1 + eslint-plugin-import: 2.20.2_eslint@6.8.0 + eslint-plugin-prettier: 3.1.3_eslint@6.8.0+prettier@1.19.1 prettier: 1.19.1 dev: true engines: @@ -3520,11 +4047,11 @@ packages: /eslint-import-resolver-node/0.3.3: dependencies: debug: 2.6.9 - resolve: 1.15.0 + resolve: 1.17.0 dev: true resolution: integrity: sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== - /eslint-module-utils/2.5.2: + /eslint-module-utils/2.6.0: dependencies: debug: 2.6.9 pkg-dir: 2.0.0 @@ -3532,8 +4059,8 @@ packages: engines: node: '>=4' resolution: - integrity: sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q== - /eslint-plugin-import/2.20.0_eslint@6.8.0: + integrity: sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== + /eslint-plugin-import/2.20.2_eslint@6.8.0: dependencies: array-includes: 3.1.1 array.prototype.flat: 1.2.3 @@ -3542,20 +4069,20 @@ packages: doctrine: 1.5.0 eslint: 6.8.0 eslint-import-resolver-node: 0.3.3 - eslint-module-utils: 2.5.2 + eslint-module-utils: 2.6.0 has: 1.0.3 minimatch: 3.0.4 object.values: 1.1.1 read-pkg-up: 2.0.0 - resolve: 1.15.0 + resolve: 1.17.0 dev: true engines: node: '>=4' peerDependencies: eslint: 2.x - 6.x resolution: - integrity: sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ== - /eslint-plugin-prettier/3.1.2_eslint@6.8.0+prettier@1.19.1: + integrity: sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg== + /eslint-plugin-prettier/3.1.3_eslint@6.8.0+prettier@1.19.1: dependencies: eslint: 6.8.0 prettier: 1.19.1 @@ -3567,7 +4094,7 @@ packages: eslint: '>= 5.0.0' prettier: '>= 1.13.0' resolution: - integrity: sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== + integrity: sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ== /eslint-scope/5.0.0: dependencies: esrecurse: 4.2.1 @@ -3585,6 +4112,14 @@ packages: node: '>=6' resolution: integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + /eslint-utils/2.0.0: + dependencies: + eslint-visitor-keys: 1.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== /eslint-visitor-keys/1.1.0: dev: true engines: @@ -3594,7 +4129,7 @@ packages: /eslint/6.8.0: dependencies: '@babel/code-frame': 7.8.3 - ajv: 6.12.0 + ajv: 6.12.2 chalk: 2.4.2 cross-spawn: 6.0.5 debug: 4.1.1 @@ -3603,7 +4138,7 @@ packages: eslint-utils: 1.4.3 eslint-visitor-keys: 1.1.0 espree: 6.2.1 - esquery: 1.2.0 + esquery: 1.3.1 esutils: 2.0.3 file-entry-cache: 5.0.1 functional-red-black-tree: 1.0.1 @@ -3619,14 +4154,14 @@ packages: levn: 0.3.0 lodash: 4.17.15 minimatch: 3.0.4 - mkdirp: 0.5.4 + mkdirp: 0.5.5 natural-compare: 1.4.0 optionator: 0.8.3 progress: 2.0.3 regexpp: 2.0.1 semver: 6.3.0 strip-ansi: 5.2.0 - strip-json-comments: 3.0.1 + strip-json-comments: 3.1.0 table: 5.4.6 text-table: 0.2.0 v8-compile-cache: 2.1.0 @@ -3673,14 +4208,14 @@ packages: dev: true resolution: integrity: sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg== - /esquery/1.2.0: + /esquery/1.3.1: dependencies: - estraverse: 5.0.0 + estraverse: 5.1.0 dev: true engines: - node: '>=8.0' + node: '>=0.10' resolution: - integrity: sha512-weltsSqdeWIX9G2qQZz7KlTRJdkkOCTPgLYJUz1Hacf48R4YOwGPHO3+ORfWedqJKbq5WQmsgK90n+pFLIKt/Q== + integrity: sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== /esrecurse/4.2.1: dependencies: estraverse: 4.3.0 @@ -3695,12 +4230,12 @@ packages: node: '>=4.0' resolution: integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - /estraverse/5.0.0: + /estraverse/5.1.0: dev: true engines: node: '>=4.0' resolution: - integrity: sha512-j3acdrMzqrxmJTNj5dbr1YbjacrYgAxVMeF0gK16E3j494mOe7xygM/ZLIguEQ0ETwAg2hlJCtHRGav+y0Ny5A== + integrity: sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== /estree-walker/0.6.1: dev: true resolution: @@ -3721,7 +4256,7 @@ packages: is-stream: 1.1.0 npm-run-path: 2.0.2 p-finally: 1.0.0 - signal-exit: 3.0.2 + signal-exit: 3.0.3 strip-eof: 1.0.0 dev: true engines: @@ -3735,7 +4270,7 @@ packages: is-stream: 1.1.0 npm-run-path: 2.0.2 p-finally: 1.0.0 - signal-exit: 3.0.2 + signal-exit: 3.0.3 strip-eof: 1.0.0 dev: true engines: @@ -3744,14 +4279,14 @@ packages: integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== /execa/2.1.0: dependencies: - cross-spawn: 7.0.1 + cross-spawn: 7.0.2 get-stream: 5.1.0 is-stream: 2.0.0 merge-stream: 2.0.0 npm-run-path: 3.1.0 onetime: 5.1.0 p-finally: 2.0.1 - signal-exit: 3.0.2 + signal-exit: 3.0.3 strip-final-newline: 2.0.0 dev: true engines: @@ -3837,14 +4372,6 @@ packages: node: '>=4' resolution: integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - /figures/3.1.0: - dependencies: - escape-string-regexp: 1.0.5 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== /figures/3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -3904,7 +4431,7 @@ packages: integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== /flat-cache/2.0.1: dependencies: - flatted: 2.0.1 + flatted: 2.0.2 rimraf: 2.6.3 write: 1.0.3 dev: true @@ -3912,14 +4439,14 @@ packages: node: '>=4' resolution: integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - /flatted/2.0.1: + /flatted/2.0.2: dev: true resolution: - integrity: sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== /foreground-child/1.5.6: dependencies: cross-spawn: 4.0.2 - signal-exit: 3.0.2 + signal-exit: 3.0.3 dev: true resolution: integrity: sha1-T9ca0t/elnibmApcCilZN8svXOk= @@ -3934,6 +4461,15 @@ packages: - darwin resolution: integrity: sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== + /fsevents/2.1.3: + dev: true + engines: + node: ^8.16.0 || ^10.6.0 || >=11.0.0 + optional: true + os: + - darwin + resolution: + integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== /function-bind/1.1.1: dev: true resolution: @@ -4177,7 +4713,7 @@ packages: node: '>=4' resolution: integrity: sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= - /hasha/5.1.0: + /hasha/5.2.0: dependencies: is-stream: 2.0.0 type-fest: 0.8.1 @@ -4185,7 +4721,7 @@ packages: engines: node: '>=8' resolution: - integrity: sha512-OFPDWmzPN1l7atOV1TgBVmNtBxaIysToK6Ve9DK+vT6pYuklw/nPNT+HJbZi0KDcI6vWB+9tgvZ5YD7fA3CXcA== + integrity: sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw== /hex-color-regex/1.1.0: dev: true resolution: @@ -4198,9 +4734,9 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - /hosted-git-info/2.8.5: + /hosted-git-info/2.8.8: resolution: - integrity: sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== + integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== /hsl-regex/1.0.0: dev: true resolution: @@ -4213,14 +4749,14 @@ packages: dev: true resolution: integrity: sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - /html-escaper/2.0.0: + /html-escaper/2.0.2: dev: true resolution: - integrity: sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== - /http-cache-semantics/4.0.3: + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + /http-cache-semantics/4.1.0: dev: true resolution: - integrity: sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== + integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== /husky/3.1.0: dependencies: chalk: 2.4.2 @@ -4355,13 +4891,13 @@ packages: ansi-escapes: 4.3.1 chalk: 3.0.0 cli-cursor: 3.1.0 - cli-width: 2.2.0 + cli-width: 2.2.1 external-editor: 3.1.0 figures: 3.2.0 lodash: 4.17.15 mute-stream: 0.0.8 run-async: 2.4.0 - rxjs: 6.5.4 + rxjs: 6.5.5 string-width: 4.2.0 strip-ansi: 6.0.0 through: 2.3.8 @@ -4594,10 +5130,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== - /is-promise/2.1.0: + /is-promise/2.2.2: dev: true resolution: - integrity: sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== /is-reference/1.1.4: dependencies: '@types/estree': 0.0.39 @@ -4723,11 +5259,11 @@ packages: integrity: sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== /istanbul-lib-instrument/3.3.0: dependencies: - '@babel/generator': 7.8.3 - '@babel/parser': 7.8.3 - '@babel/template': 7.8.3 - '@babel/traverse': 7.8.3 - '@babel/types': 7.8.3 + '@babel/generator': 7.9.5 + '@babel/parser': 7.9.4 + '@babel/template': 7.8.6 + '@babel/traverse': 7.9.5 + '@babel/types': 7.9.5 istanbul-lib-coverage: 2.0.5 semver: 6.3.0 dev: true @@ -4759,7 +5295,7 @@ packages: integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== /istanbul-reports/2.2.7: dependencies: - html-escaper: 2.0.0 + html-escaper: 2.0.2 dev: true engines: node: '>=6' @@ -4827,21 +5363,12 @@ packages: integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= /json5/1.0.1: dependencies: - minimist: 1.2.0 + minimist: 1.2.5 dev: true hasBin: true resolution: integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - /json5/2.1.1: - dependencies: - minimist: 1.2.0 - dev: true - engines: - node: '>=6' - hasBin: true - resolution: - integrity: sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== - /json5/2.1.2: + /json5/2.1.3: dependencies: minimist: 1.2.5 dev: true @@ -4849,7 +5376,7 @@ packages: node: '>=6' hasBin: true resolution: - integrity: sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ== + integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== /jsonparse/1.3.1: dev: false engines: @@ -4959,13 +5486,13 @@ packages: dependencies: '@samverschueren/stream-to-observable': 0.3.0 is-observable: 1.1.0 - is-promise: 2.1.0 + is-promise: 2.2.2 is-stream: 1.1.0 listr-silent-renderer: 1.1.1 listr-update-renderer: 0.5.0_listr@0.14.3 listr-verbose-renderer: 0.5.0 p-map: 2.1.0 - rxjs: 6.5.4 + rxjs: 6.5.5 dev: true engines: node: '>=6' @@ -5130,7 +5657,7 @@ packages: /loud-rejection/1.6.0: dependencies: currently-unhandled: 0.4.1 - signal-exit: 3.0.2 + signal-exit: 3.0.3 engines: node: '>=0.10.0' resolution: @@ -5138,7 +5665,7 @@ packages: /loud-rejection/2.2.0: dependencies: currently-unhandled: 0.4.1 - signal-exit: 3.0.2 + signal-exit: 3.0.3 dev: true engines: node: '>=8' @@ -5168,6 +5695,11 @@ packages: sourcemap-codec: 1.4.8 resolution: integrity: sha512-3a5LOMSGoCTH5rbqobC2HuDNRtE2glHZ8J7pK+QZYppyWA36yuNpsX994rIY2nCuyP7CZYy7lQq/X2jygiZ89g== + /magic-string/0.25.7: + dependencies: + sourcemap-codec: 1.4.8 + resolution: + integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== /make-dir/1.3.0: dependencies: pify: 3.0.0 @@ -5187,14 +5719,23 @@ packages: /make-dir/3.0.0: dependencies: semver: 6.3.0 + dev: false engines: node: '>=8' resolution: integrity: sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== - /make-error/1.3.5: + /make-dir/3.1.0: + dependencies: + semver: 6.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + /make-error/1.3.6: dev: true resolution: - integrity: sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== /map-obj/1.0.1: engines: node: '>=0.10.0' @@ -5236,7 +5777,7 @@ packages: integrity: sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM= /md5-hex/3.0.1: dependencies: - blueimp-md5: 2.12.0 + blueimp-md5: 2.13.0 dev: true engines: node: '>=8' @@ -5284,7 +5825,7 @@ packages: /micromatch/4.0.2: dependencies: braces: 3.0.2 - picomatch: 2.2.2 + picomatch: 2.2.1 engines: node: '>=8' resolution: @@ -5335,11 +5876,7 @@ packages: dev: true resolution: integrity: sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - /minimist/1.2.0: - resolution: - integrity: sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= /minimist/1.2.5: - dev: true resolution: integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== /mkdirp/0.5.1: @@ -5350,14 +5887,13 @@ packages: hasBin: true resolution: integrity: sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - /mkdirp/0.5.4: + /mkdirp/0.5.5: dependencies: minimist: 1.2.5 - deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) dev: true hasBin: true resolution: - integrity: sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw== + integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== /ms/2.0.0: dev: true resolution: @@ -5414,20 +5950,14 @@ packages: dev: true resolution: integrity: sha1-R6Pn2Az/qmRYNkvSLthcqzMHvnk= - /node-releases/1.1.46: - dependencies: - semver: 6.3.0 - dev: true - resolution: - integrity: sha512-YOjdx+Uoh9FbRO7yVYbnbt1puRWPQMemR3SutLeyv2XfxKs1ihpe0OLAUwBPEP2ImNH/PZC7SEiC6j32dwRZ7g== /node-releases/1.1.53: dev: true resolution: integrity: sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== /normalize-package-data/2.5.0: dependencies: - hosted-git-info: 2.8.5 - resolve: 1.15.0 + hosted-git-info: 2.8.8 + resolve: 1.17.0 semver: 5.7.1 validate-npm-package-license: 3.0.4 resolution: @@ -5499,12 +6029,12 @@ packages: merge-source-map: 1.1.0 resolve-from: 4.0.0 rimraf: 2.7.1 - signal-exit: 3.0.2 + signal-exit: 3.0.3 spawn-wrap: 1.4.3 test-exclude: 5.2.3 uuid: 3.4.0 - yargs: 13.3.0 - yargs-parser: 13.1.1 + yargs: 13.3.2 + yargs-parser: 13.1.2 dev: true engines: node: '>=6' @@ -5520,12 +6050,15 @@ packages: dev: true resolution: integrity: sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - /object-is/1.0.2: + /object-is/1.1.2: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.5 dev: true engines: node: '>= 0.4' resolution: - integrity: sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== + integrity: sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== /object-keys/1.1.1: dev: true engines: @@ -5555,7 +6088,7 @@ packages: /object.values/1.1.1: dependencies: define-properties: 1.1.3 - es-abstract: 1.17.2 + es-abstract: 1.17.5 function-bind: 1.1.1 has: 1.0.3 dev: true @@ -5615,7 +6148,7 @@ packages: dependencies: chalk: 2.4.2 cli-cursor: 2.1.0 - cli-spinners: 2.2.0 + cli-spinners: 2.3.0 log-symbols: 2.2.0 strip-ansi: 5.2.0 wcwidth: 1.0.1 @@ -5632,6 +6165,7 @@ packages: integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= /os-homedir/2.0.0: deprecated: This is not needed anymore. Use `require('os').homedir()` instead. + dev: true engines: node: '>=0.10.0' resolution: @@ -5667,14 +6201,14 @@ packages: node: '>=4' resolution: integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - /p-limit/2.2.2: + /p-limit/2.3.0: dependencies: p-try: 2.2.0 dev: true engines: node: '>=6' resolution: - integrity: sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== /p-locate/2.0.0: dependencies: p-limit: 1.3.0 @@ -5684,7 +6218,7 @@ packages: integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= /p-locate/3.0.0: dependencies: - p-limit: 2.2.2 + p-limit: 2.3.0 dev: true engines: node: '>=6' @@ -5692,7 +6226,7 @@ packages: integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== /p-locate/4.1.0: dependencies: - p-limit: 2.2.2 + p-limit: 2.3.0 dev: true engines: node: '>=8' @@ -5743,7 +6277,7 @@ packages: /package-hash/4.0.0: dependencies: graceful-fs: 4.2.3 - hasha: 5.1.0 + hasha: 5.2.0 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 dev: true @@ -5754,7 +6288,7 @@ packages: /package-json/6.5.0: dependencies: got: 9.6.0 - registry-auth-token: 4.1.0 + registry-auth-token: 4.1.1 registry-url: 5.1.0 semver: 6.3.0 dev: true @@ -5872,12 +6406,12 @@ packages: resolution: integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== /picomatch/2.2.1: - dev: true engines: node: '>=8.6' resolution: integrity: sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== /picomatch/2.2.2: + dev: true engines: node: '>=8.6' resolution: @@ -5952,14 +6486,14 @@ packages: node: '>=8' resolution: integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - /pkg-up/3.1.0: + /pkg-up/2.0.0: dependencies: - find-up: 3.0.0 + find-up: 2.1.0 dev: true engines: - node: '>=8' + node: '>=4' resolution: - integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8= /please-upgrade-node/3.2.0: dependencies: semver-compare: 1.0.0 @@ -5974,13 +6508,13 @@ packages: node: '>=6' resolution: integrity: sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w== - /pnpm/4.13.0: + /pnpm/4.14.0: dev: true engines: node: '>=10.13' hasBin: true resolution: - integrity: sha512-0zJwt+IxBCQECptU40AaUJOBOo830FV4wnSoUvIqVJpOg5HBa0mv/DTXRf/pjuvNYZcuO7KDoD2zXWuJk86khQ== + integrity: sha512-O6B5OD+wiO4srzegQTs0LiOrdExLvoKgG7UFL5+Lu1DhgqhW9NFP/pPg8+zKSrOQTontH3GGSWAkinxM3tCqnw== /postcss-calc/7.0.1: dependencies: css-unit-converter: 1.1.1 @@ -5992,7 +6526,7 @@ packages: integrity: sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== /postcss-colormin/4.0.3: dependencies: - browserslist: 4.8.3 + browserslist: 4.12.0 color: 3.1.2 has: 1.0.3 postcss: 7.0.26 @@ -6065,7 +6599,7 @@ packages: integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== /postcss-merge-rules/4.0.3: dependencies: - browserslist: 4.8.3 + browserslist: 4.12.0 caniuse-api: 3.0.0 cssnano-util-same-parent: 4.0.1 postcss: 7.0.26 @@ -6099,7 +6633,7 @@ packages: /postcss-minify-params/4.0.2: dependencies: alphanum-sort: 1.0.2 - browserslist: 4.8.3 + browserslist: 4.12.0 cssnano-util-get-arguments: 4.0.0 postcss: 7.0.26 postcss-value-parser: 3.3.1 @@ -6219,7 +6753,7 @@ packages: integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== /postcss-normalize-unicode/4.0.1: dependencies: - browserslist: 4.8.3 + browserslist: 4.12.0 postcss: 7.0.26 postcss-value-parser: 3.3.1 dev: true @@ -6259,7 +6793,7 @@ packages: integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== /postcss-reduce-initial/4.0.3: dependencies: - browserslist: 4.8.3 + browserslist: 4.12.0 caniuse-api: 3.0.0 has: 1.0.3 postcss: 7.0.26 @@ -6455,7 +6989,7 @@ packages: dependencies: deep-extend: 0.6.0 ini: 1.3.5 - minimist: 1.2.0 + minimist: 1.2.5 strip-json-comments: 2.0.1 dev: true hasBin: true @@ -6533,7 +7067,7 @@ packages: dev: false resolution: integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - /readable-stream/3.5.0: + /readable-stream/3.6.0: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 @@ -6542,15 +7076,15 @@ packages: engines: node: '>= 6' resolution: - integrity: sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA== - /readdirp/3.3.0: + integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + /readdirp/3.4.0: dependencies: - picomatch: 2.2.1 + picomatch: 2.2.2 dev: true engines: node: '>=8.10.0' resolution: - integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + integrity: sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== /rechoir/0.6.2: dependencies: resolve: 1.15.0 @@ -6585,10 +7119,6 @@ packages: /regenerate/1.4.0: resolution: integrity: sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - /regenerator-runtime/0.13.3: - dev: true - resolution: - integrity: sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== /regenerator-runtime/0.13.5: dev: true resolution: @@ -6603,7 +7133,7 @@ packages: /regexp.prototype.flags/1.3.0: dependencies: define-properties: 1.1.3 - es-abstract: 1.17.2 + es-abstract: 1.17.5 dev: true engines: node: '>= 0.4' @@ -6615,12 +7145,12 @@ packages: node: '>=6.5.0' resolution: integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - /regexpp/3.0.0: + /regexpp/3.1.0: dev: true engines: node: '>=8' resolution: - integrity: sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== /regexpu-core/1.0.0: dependencies: regenerate: 1.4.0 @@ -6629,6 +7159,19 @@ packages: dev: true resolution: integrity: sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= + /regexpu-core/4.5.4: + dependencies: + regenerate: 1.4.0 + regenerate-unicode-properties: 8.1.0 + regjsgen: 0.5.1 + regjsparser: 0.6.2 + unicode-match-property-ecmascript: 1.0.4 + unicode-match-property-value-ecmascript: 1.1.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== /regexpu-core/4.6.0: dependencies: regenerate: 1.4.0 @@ -6637,6 +7180,7 @@ packages: regjsparser: 0.6.2 unicode-match-property-ecmascript: 1.0.4 unicode-match-property-value-ecmascript: 1.1.0 + dev: true engines: node: '>=4' resolution: @@ -6654,15 +7198,14 @@ packages: node: '>=4' resolution: integrity: sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - /registry-auth-token/4.1.0: + /registry-auth-token/4.1.1: dependencies: rc: 1.2.8 - safe-buffer: 5.2.0 dev: true engines: node: '>=6.0.0' resolution: - integrity: sha512-7uxS951DeOBOwsv8deX+l7HcjY2VZxaOgHtM6RKzg3HhpE+bJ0O7VbuMJLosC1T5WSFpHm0DuFIbqUl43jHpsA== + integrity: sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== /registry-url/5.1.0: dependencies: rc: 1.2.8 @@ -6770,12 +7313,11 @@ packages: path-parse: 1.0.6 resolution: integrity: sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== - /resolve/1.15.1: + /resolve/1.17.0: dependencies: path-parse: 1.0.6 - dev: true resolution: - integrity: sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== + integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== /responselike/1.0.2: dependencies: lowercase-keys: 1.0.1 @@ -6785,7 +7327,7 @@ packages: /restore-cursor/2.0.0: dependencies: onetime: 2.0.1 - signal-exit: 3.0.2 + signal-exit: 3.0.3 dev: true engines: node: '>=4' @@ -6848,11 +7390,11 @@ packages: rollup: '>=0.60.0 <2' resolution: integrity: sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw== - /rollup-plugin-babel/4.3.3_@babel+core@7.9.0+rollup@2.6.0: + /rollup-plugin-babel/4.3.3_@babel+core@7.9.0+rollup@2.7.2: dependencies: '@babel/core': 7.9.0 '@babel/helper-module-imports': 7.8.3 - rollup: 2.6.0 + rollup: 2.7.2 rollup-pluginutils: 2.8.2 dev: true peerDependencies: @@ -6876,7 +7418,7 @@ packages: dependencies: estree-walker: 0.6.1 is-reference: 1.1.4 - magic-string: 0.25.6 + magic-string: 0.25.7 resolve: 1.15.0 rollup: 2.2.0 rollup-pluginutils: 2.8.2 @@ -6921,17 +7463,17 @@ packages: fsevents: 2.1.2 resolution: integrity: sha512-iAu/j9/WJ0i+zT0sAMuQnsEbmOKzdQ4Yxu5rbPs9aUCyqveI1Kw3H4Fi9NWfCOpb8luEySD2lDyFWL9CrLE8iw== - /rollup/2.6.0: + /rollup/2.7.2: engines: node: '>=10.0.0' hasBin: true optionalDependencies: fsevents: 2.1.2 resolution: - integrity: sha512-qbvQ9ZbvbhBdtRBZ/A4g+9z3iJQ1rHAtjinn3FiN+j5tfz8xiNyTE1JEEMcFWqlH7+NHadI9ieeqKdp8HwYLnQ== + integrity: sha512-SdtTZVMMVSPe7SNv4exUyPXARe5v/p3TeeG3LRA5WabLPJt4Usi3wVrvVlyAUTG40JJmqS6zbIHt2vWTss2prw== /run-async/2.4.0: dependencies: - is-promise: 2.1.0 + is-promise: 2.2.2 dev: true engines: node: '>=0.12.0' @@ -6952,14 +7494,14 @@ packages: dev: false resolution: integrity: sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= - /rxjs/6.5.4: + /rxjs/6.5.5: dependencies: tslib: 1.11.1 dev: true engines: npm: '>=2.0.0' resolution: - integrity: sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + integrity: sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== /safe-buffer/5.1.2: resolution: integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -6998,13 +7540,13 @@ packages: hasBin: true resolution: integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - /semver/7.1.1: + /semver/7.3.2: dev: false engines: node: '>=10' hasBin: true resolution: - integrity: sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A== + integrity: sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== /serialize-error/2.1.0: dev: true engines: @@ -7057,7 +7599,7 @@ packages: /shx/0.3.2: dependencies: es6-object-assign: 1.1.0 - minimist: 1.2.0 + minimist: 1.2.5 shelljs: 0.8.3 dev: true engines: @@ -7065,11 +7607,7 @@ packages: hasBin: true resolution: integrity: sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA== - /signal-exit/3.0.2: - resolution: - integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= /signal-exit/3.0.3: - dev: true resolution: integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== /simple-swizzle/0.2.2: @@ -7136,6 +7674,13 @@ packages: dev: true resolution: integrity: sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + /source-map-support/0.5.19: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== /source-map/0.5.7: dev: true engines: @@ -7160,10 +7705,10 @@ packages: /spawn-wrap/1.4.3: dependencies: foreground-child: 1.5.6 - mkdirp: 0.5.1 + mkdirp: 0.5.5 os-homedir: 1.0.2 rimraf: 2.7.1 - signal-exit: 3.0.2 + signal-exit: 3.0.3 which: 1.3.1 dev: true resolution: @@ -7174,12 +7719,12 @@ packages: spdx-license-ids: 3.0.5 resolution: integrity: sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - /spdx-exceptions/2.2.0: + /spdx-exceptions/2.3.0: resolution: - integrity: sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== /spdx-expression-parse/3.0.0: dependencies: - spdx-exceptions: 2.2.0 + spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.5 resolution: integrity: sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== @@ -7258,6 +7803,13 @@ packages: node: '>=8' resolution: integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + /string.prototype.trimend/1.0.1: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.5 + dev: true + resolution: + integrity: sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== /string.prototype.trimleft/2.1.1: dependencies: define-properties: 1.1.3 @@ -7267,6 +7819,16 @@ packages: node: '>= 0.4' resolution: integrity: sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== + /string.prototype.trimleft/2.1.2: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.5 + string.prototype.trimstart: 1.0.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== /string.prototype.trimright/2.1.1: dependencies: define-properties: 1.1.3 @@ -7276,6 +7838,23 @@ packages: node: '>= 0.4' resolution: integrity: sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== + /string.prototype.trimright/2.1.2: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.5 + string.prototype.trimend: 1.0.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== + /string.prototype.trimstart/1.0.1: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.5 + dev: true + resolution: + integrity: sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== /string_decoder/1.1.1: dependencies: safe-buffer: 5.1.2 @@ -7366,19 +7945,19 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= - /strip-json-comments/3.0.1: + /strip-json-comments/3.1.0: dev: true engines: node: '>=8' resolution: - integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + integrity: sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== /style-inject/0.3.0: dev: true resolution: integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== /stylehacks/4.0.3: dependencies: - browserslist: 4.8.3 + browserslist: 4.12.0 postcss: 7.0.26 postcss-selector-parser: 3.1.1 dev: true @@ -7477,7 +8056,7 @@ packages: integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== /table/5.4.6: dependencies: - ajv: 6.12.0 + ajv: 6.12.2 lodash: 4.17.15 slice-ansi: 2.1.0 string-width: 3.1.0 @@ -7541,7 +8120,7 @@ packages: integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== /through2/3.0.1: dependencies: - readable-stream: 3.5.0 + readable-stream: 3.6.0 dev: false resolution: integrity: sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== @@ -7564,7 +8143,6 @@ packages: resolution: integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== /to-fast-properties/2.0.0: - dev: true engines: node: '>=4' resolution: @@ -7608,13 +8186,13 @@ packages: dev: false resolution: integrity: sha512-UJYuKET7ez7ry0CnvfY6fPIUIZDw+UI3qvTUQeS2MyI4TgEeWAUBqy185LeaHcdJ9zG2dgFpPJU/AecXU0Afug== - /ts-node/8.6.2_typescript@3.7.5: + /ts-node/8.9.1_typescript@3.8.3: dependencies: - arg: 4.1.2 + arg: 4.1.3 diff: 4.0.2 - make-error: 1.3.5 - source-map-support: 0.5.16 - typescript: 3.7.5 + make-error: 1.3.6 + source-map-support: 0.5.19 + typescript: 3.8.3 yn: 3.1.1 dev: true engines: @@ -7623,12 +8201,12 @@ packages: peerDependencies: typescript: '>=2.7' resolution: - integrity: sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg== + integrity: sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ== /tsconfig-paths/3.9.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.1 - minimist: 1.2.0 + minimist: 1.2.5 strip-bom: 3.0.0 dev: true resolution: @@ -7641,10 +8219,10 @@ packages: dev: true resolution: integrity: sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== - /tsutils/3.17.1_typescript@3.7.5: + /tsutils/3.17.1_typescript@3.8.3: dependencies: - tslib: 1.10.0 - typescript: 3.7.5 + tslib: 1.11.1 + typescript: 3.8.3 dev: true engines: node: '>= 6' @@ -7717,6 +8295,13 @@ packages: hasBin: true resolution: integrity: sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== + /typescript/3.8.3: + dev: true + engines: + node: '>=4.2.0' + hasBin: true + resolution: + integrity: sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== /uid2/0.0.3: dev: true resolution: @@ -7768,7 +8353,7 @@ packages: integrity: sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= /unique-temp-dir/1.0.0: dependencies: - mkdirp: 0.5.1 + mkdirp: 0.5.5 os-tmpdir: 1.0.2 uid2: 0.0.3 dev: true @@ -7916,18 +8501,18 @@ packages: dependencies: graceful-fs: 4.2.3 imurmurhash: 0.1.4 - signal-exit: 3.0.2 + signal-exit: 3.0.3 resolution: integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - /write-file-atomic/3.0.1: + /write-file-atomic/3.0.3: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 - signal-exit: 3.0.2 + signal-exit: 3.0.3 typedarray-to-buffer: 3.1.5 dev: true resolution: - integrity: sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw== + integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== /write-json-file/3.2.0: dependencies: detect-indent: 5.0.0 @@ -7953,7 +8538,7 @@ packages: integrity: sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== /write/1.0.3: dependencies: - mkdirp: 0.5.4 + mkdirp: 0.5.5 dev: true engines: node: '>=4' @@ -7978,27 +8563,27 @@ packages: dev: true resolution: integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - /yaml/1.7.2: + /yaml/1.9.2: dependencies: - '@babel/runtime': 7.8.3 + '@babel/runtime': 7.9.2 dev: true engines: node: '>= 6' resolution: - integrity: sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw== + integrity: sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg== /yargs-parser/10.1.0: dependencies: camelcase: 4.1.0 resolution: integrity: sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - /yargs-parser/13.1.1: + /yargs-parser/13.1.2: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true resolution: - integrity: sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - /yargs/13.3.0: + integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + /yargs/13.3.2: dependencies: cliui: 5.0.0 find-up: 3.0.0 @@ -8009,10 +8594,10 @@ packages: string-width: 3.1.0 which-module: 2.0.0 y18n: 4.0.0 - yargs-parser: 13.1.1 + yargs-parser: 13.1.2 dev: true resolution: - integrity: sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== /yn/3.1.1: dev: true engines: