From 2688dd632c7a54257ea914bba9efc1fca60fc8fa Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Sun, 26 Apr 2020 19:24:45 +0800 Subject: [PATCH 1/6] - Breaking change: Remove bower-registry-client build (bower deprecated) - Update: Use new SourceMapConsumer API in test - Build: Provide browserified builds with npm package - Travis: Drop 4, 6, 8; Add 10, 12, 14; check build - Maintenance: Add `.editorconfig` - Docs: Use fenced code blocks in README (for syntax highlighting) - npm: Add `bugs`, `keywords`, change from `maintainers` to `authors`/`contributors` - npm: Restore `optionator` to a regular dep. (used in published binary file) - npm: Drop unused semver, minimist - npm: Bump deps. (estraverse, optionator, optional source-map potentially breaking) and devDeps. - npm: Drop bluebird in favor of ES Promises - npm: Use more recently maintained browserify + uglifyify - npm: Replace linting and testing scripts in Gulpfile with npm scripts --- .editorconfig | 18 + .eslintignore | 10 + .eslintrc.js | 61 + .gitignore | 3 + .npmignore | 15 - .travis.yml | 9 +- README.md | 31 +- gulpfile.js | 84 - package-lock.json | 6901 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 50 +- test/source-map.js | 4 +- tools/release.js | 115 +- 12 files changed, 7081 insertions(+), 220 deletions(-) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.js delete mode 100644 .npmignore delete mode 100644 gulpfile.js create mode 100644 package-lock.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..d83d7228 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +# This file is for unifying the coding style for different editors and IDEs +# editorconfig.org + +root = true + +[*] +end_of_line = lf +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 4 + +[*.json] +indent_size = 2 + +[*.yml] +indent_size = 2 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..d127f1f6 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,10 @@ +node_modules +lib + +!.eslintrc.js +coverage + +test/*/*.js + +escodegen.browser.min.js +escodegen.browser.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..05903edb --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,61 @@ +'use strict'; + +module.exports = { + extends: 'eslint:recommended', + globals: { + Atomics: 'readonly', + SharedArrayBuffer: 'readonly' + }, + env: { + node: true, + es6: true + }, + parserOptions: { + sourceType: 'module', + ecmaVersion: 2018 + }, + overrides: [{ + files: '.eslintrc.js', + parserOptions: { + sourceType: 'script' + }, + rules: { + strict: 'error' + } + }, { + files: 'test/**', + globals: { + expect: true + }, + env: { + mocha: true + } + }], + rules: { + // 'push-with-multiple-arguments': 2, + 'no-unused-vars': [ + 2, + { + vars: 'all', + args: 'none' + } + ], + 'new-cap': [ + 2, + { + capIsNew: false + } + ], + semi: ['error'], + indent: ['error', 4, { SwitchCase: 1 }], + 'prefer-const': ['error'], + 'no-var': ['error'], + 'prefer-destructuring': ['error'], + 'object-shorthand': ['error'], + 'object-curly-spacing': ['error', 'always'], + quotes: ['error', 'single'], + 'quote-props': ['error', 'as-needed'], + 'brace-style': ['error', '1tbs', { allowSingleLine: true }], + 'prefer-template': ['error'] + } +}; diff --git a/.gitignore b/.gitignore index deda9744..a6d4a4c1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ node_modules/ cover_html/ npm-debug.log + +escodegen.browser.min.js +escodegen.browser.js diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 4bac91a1..00000000 --- a/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -npm-debug.log -.DS_Store -.vimrc.local -t.js -esprima.js -escodegen.browser.js -.travis.yml -.npmignore -/tmp/ -/.git/ -/node_modules/ -/tools/ -/test/ -/cover_html/ -/.coverage_data/ diff --git a/.travis.yml b/.travis.yml index c60f507f..3e25b1ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,9 @@ sudo: false language: node_js +script: + - npm run build + - npm test node_js: - - "6" - - "8" - - "10" + - 10 + - 12 + - 14 diff --git a/README.md b/README.md index c4917b82..810b2526 100644 --- a/README.md +++ b/README.md @@ -11,29 +11,34 @@ code generator from [Mozilla's Parser API](https://developer.mozilla.org/en/Spid AST. See the [online generator](https://estools.github.io/escodegen/demo/index.html) for a demo. - ### Install Escodegen can be used in a web browser: - +```html + +``` escodegen.browser.js can be found in tagged revisions on GitHub. Or in a Node.js application via npm: - npm install escodegen +```sh +npm install escodegen +``` ### Usage A simple example: the program - escodegen.generate({ - type: 'BinaryExpression', - operator: '+', - left: { type: 'Literal', value: 40 }, - right: { type: 'Literal', value: 2 } - }); +```js +escodegen.generate({ + type: 'BinaryExpression', + operator: '+', + left: { type: 'Literal', value: 40 }, + right: { type: 'Literal', value: 2 } +}); +``` produces the string `'40 + 2'`. @@ -45,13 +50,17 @@ options. To run the tests, execute `npm test` in the root directory. At first, execute `npm install` to install the all dev dependencies. After that, - npm run-script build +```sh +npm run-script build +``` will generate `escodegen.browser.js`, which can be used in browser environments. And, - npm run-script build-min +```sh +npm run-script build-min +``` will generate the minified file `escodegen.browser.min.js`. diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 80fae30d..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (C) 2014 Yusuke Suzuki - Copyright (C) 2019-2020 Apple Inc. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -'use strict'; - -var gulp = require('gulp'); -var mocha = require('gulp-mocha'); -var eslint = require('gulp-eslint'); - -var TEST = [ 'test/*.js' ]; - -var LINT = [ - 'gulpfile.js', - 'escodegen.js' -]; - -var ESLINT_OPTION = { - 'rulesPaths': [ 'tools/rules/' ], - 'rules': { - // 'push-with-multiple-arguments': 2, - 'quotes': 0, - 'eqeqeq': 0, - 'no-use-before-define': 0, - 'dot-notation': 0, - 'no-shadow': 0, - 'no-unused-vars': [ - 2, - { - 'vars': 'all', - 'args': 'none' - } - ], - 'no-multi-spaces': 0, - 'new-cap': [ - 2, - { - 'capIsNew': false - } - ] - }, - 'env': { - 'node': true - } -}; - -gulp.task('test', gulp.series(function () { - return gulp.src(TEST) - .pipe(mocha({ - reporter: 'spec', - timeout: 100000 // 100s - })); -})); - -gulp.task('lint', gulp.series(function () { - return gulp.src(LINT) - .pipe(eslint(ESLINT_OPTION)) - .pipe(eslint.formatEach('stylish', process.stderr)) - .pipe(eslint.failOnError()); -})); - -gulp.task('travis', gulp.series([ 'lint', 'test' ])); -gulp.task('default', gulp.series([ 'travis' ])); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..e27c5ea5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6901 @@ +{ + "name": "escodegen", + "version": "2.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "version": "2.0.0", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.3", + "optionator": "^0.9.1", + "source-map": "~0.7.3" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "devDependencies": { + "acorn": "^8.0.4", + "browserify": "^16.5.1", + "chai": "^4.2.0", + "chai-exclude": "^2.0.2", + "eslint": "^6.8.0", + "mocha": "^7.1.2", + "uglifyify": "^5.0.2" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.7.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.8.3" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "dev": true + }, + "node_modules/@babel/highlight": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.9.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", + "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "dependencies": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" + } + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserify": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz", + "integrity": "sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==", + "dev": true, + "dependencies": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^1.11.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.0.0", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "dev": true + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-exclude": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.0.2.tgz", + "integrity": "sha512-QmNVnvdSw8Huccdjm49mKu3HtoHxvjdavgYkY0KPQ5MI5UWfbc9sX1YqRgaMPf2GGtDXPoF2ram3AeNS4945Xw==", + "dev": true, + "dependencies": { + "fclone": "^1.0.11" + }, + "peerDependencies": { + "chai": ">= 4.0.0 < 5" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "node_modules/combine-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "node_modules/deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "dependencies": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "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.1", + "string.prototype.trimright": "^2.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/eslint/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "node_modules/fclone": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz", + "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "dev": true, + "dependencies": { + "source-map": "~0.5.3" + } + }, + "node_modules/inline-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/insert-module-globals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" + } + }, + "node_modules/insert-module-globals/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", + "integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g==", + "dev": true + }, + "node_modules/mocha": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", + "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", + "dev": true, + "dependencies": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 8.10.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/module-deps": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz", + "integrity": "sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==", + "dev": true, + "dependencies": { + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/optionator/node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/optionator/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/optionator/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "dependencies": { + "path-platform": "~0.11.15" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "dev": true, + "dependencies": { + "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "dev": true, + "dependencies": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "node_modules/shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "optional": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-http": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", + "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "dependencies": { + "minimist": "^1.1.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "dependencies": { + "acorn-node": "^1.2.0" + } + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "dependencies": { + "process": "~0.11.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/uglifyify": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz", + "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "minimatch": "^3.0.2", + "terser": "^3.7.5", + "through": "~2.3.4", + "xtend": "^4.0.1" + } + }, + "node_modules/umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true, + "bin": { + "umd": "bin/cli.js" + } + }, + "node_modules/undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + }, + "bin": { + "undeclared-identifiers": "bin.js" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write/node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/write/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "dev": true + }, + "@babel/highlight": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "acorn": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", + "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "dev": true + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "dev": true + }, + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "requires": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "browserify": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz", + "integrity": "sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==", + "dev": true, + "requires": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^1.11.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.0.0", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + } + }, + "chai-exclude": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.0.2.tgz", + "integrity": "sha512-QmNVnvdSw8Huccdjm49mKu3HtoHxvjdavgYkY0KPQ5MI5UWfbc9sX1YqRgaMPf2GGtDXPoF2ram3AeNS4945Xw==", + "dev": true, + "requires": { + "fclone": "^1.0.11" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "dev": true, + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "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.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "fclone": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz", + "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "dev": true, + "requires": { + "source-map": "~0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "insert-module-globals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "dev": true, + "requires": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + } + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", + "dev": true + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-classic": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", + "integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g==", + "dev": true + }, + "mocha": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", + "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "module-deps": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz", + "integrity": "sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==", + "dev": true, + "requires": { + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "dependencies": { + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "dev": true, + "requires": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "optional": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", + "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "^1.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "^1.2.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "requires": { + "process": "~0.11.0" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglifyify": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz", + "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==", + "dev": true, + "requires": { + "convert-source-map": "~1.1.0", + "minimatch": "^3.0.2", + "terser": "^3.7.5", + "through": "~2.3.4", + "xtend": "^4.0.1" + } + }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true + }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + } + } + } +} diff --git a/package.json b/package.json index c99562f9..253252ab 100644 --- a/package.json +++ b/package.json @@ -2,62 +2,64 @@ "name": "escodegen", "description": "ECMAScript code generator", "homepage": "http://github.com/estools/escodegen", + "bugs": "http://github.com/estools/escodegen/issues", "main": "escodegen.js", "bin": { "esgenerate": "./bin/esgenerate.js", "escodegen": "./bin/escodegen.js" }, + "keywords": [ + "code", + "generation" + ], "files": [ "LICENSE.BSD", "README.md", "bin", "escodegen.js", + "escodegen.browser.min.js", + "escodegen.browser.js", "package.json" ], "version": "2.0.0", "engines": { "node": ">=6.0" }, - "maintainers": [ - { - "name": "Yusuke Suzuki", - "email": "utatane.tea@gmail.com", - "web": "http://github.com/Constellation" - } - ], + "author": { + "name": "Yusuke Suzuki", + "email": "utatane.tea@gmail.com", + "web": "http://github.com/Constellation" + }, + "contributors": [], "repository": { "type": "git", "url": "http://github.com/estools/escodegen.git" }, "dependencies": { + "esprima": "^4.0.1", "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "esprima": "^4.0.1" + "esutils": "^2.0.3", + "optionator": "^0.9.1" }, "optionalDependencies": { - "source-map": "~0.6.1" + "source-map": "~0.7.3" }, "devDependencies": { "acorn": "^8.0.4", - "bluebird": "^3.4.7", - "bower-registry-client": "^1.0.0", + "browserify": "^16.5.1", "chai": "^4.2.0", "chai-exclude": "^2.0.2", - "commonjs-everywhere": "^0.9.7", - "gulp": "^4.0.2", - "gulp-eslint": "^6.0.0", - "gulp-mocha": "^7.0.2", - "minimist": "^1.2.5", - "optionator": "^0.9.1", - "semver": "^7.3.4" + "eslint": "^6.8.0", + "mocha": "^7.1.2", + "uglifyify": "^5.0.2" }, "license": "BSD-2-Clause", "scripts": { - "test": "gulp travis", - "unit-test": "gulp test", - "lint": "gulp lint", + "test": "npm run unit-test && npm run lint", + "unit-test": "mocha test/*.js --timeout 100000", + "lint": "eslint --rulesdir tools/rules/ .", "release": "node tools/release.js", - "build-min": "./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js", - "build": "./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js" + "build-min": "browserify -t uglifyify -e tools/entry-point.js -o escodegen.browser.min.js", + "build": "browserify -e tools/entry-point.js -o escodegen.browser.js" } } diff --git a/test/source-map.js b/test/source-map.js index 8f6f2150..7e2977ad 100644 --- a/test/source-map.js +++ b/test/source-map.js @@ -469,7 +469,7 @@ describe('source map test', function () { expect(result.map._names._array.length).to.be.equal(3); }); - it('sourceContent support', function() { + it('sourceContent support', async function() { var source = "(+ a b)" var ast = { "type": "ExpressionStatement", @@ -499,7 +499,7 @@ describe('source map test', function () { expect(output.code).to.be.equal("a + b;"); - var consumer = new sourcemap.SourceMapConsumer(output.map.toString()); + var consumer = await (new sourcemap.SourceMapConsumer(output.map.toString())); expect(consumer.sourceContentFor("sum.ls")).to.be.equal(source); }); diff --git a/tools/release.js b/tools/release.js index fca6fd28..e5673646 100755 --- a/tools/release.js +++ b/tools/release.js @@ -25,15 +25,10 @@ /*jslint sloppy:true node:true */ -var fs = require('fs'), +const fs = require('fs'), path = require('path'), root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - escodegen = require(root), - esprima = require('esprima'), - RegistryClient = require('bower-registry-client'), - semver = require('semver'), - child_process = require('child_process'), - Promise = require('bluebird'); + child_process = require('child_process'); function exec(cmd) { return new Promise(function (resolve, reject) { @@ -44,85 +39,43 @@ function exec(cmd) { }); } -(function () { - var config, matched, version, devVersion, registry; - - config = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf-8')); - devVersion = config.version; - matched = devVersion.match(/^(\d+\.\d+\.\d+(-\d+)?)$/); +(async () => { + const config = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf-8')); + const devVersion = config.version; + const matched = devVersion.match(/^(\d+\.\d+\.\d+(-\d+)?)$/); if (!matched) { - console.error('version style "' + devVersion + '" is not matched to X.X.X[-X].'); + console.error(`version style "${devVersion}" is not matched to X.X.X[-X].`); process.exit(1); } - version = matched[1]; + const [, version] = matched; config.version = version; - registry = new RegistryClient(); - - function ping(memo, name) { - return new Promise(function (resolve, reject) { - var pattern; - console.log('[' + name + '] ' + 'send ping'); - - pattern = config.dependencies[name]; - - registry.lookup(name, function (err, entry) { - var i, iz, version; - - if (err) { - console.error('[' + name + '] ' + err.message + '. skip this dependency'); - return; - } - - console.log('[' + name + '] ' + 'received result'); - memo[name] = pattern; - resolve(); - }); - }); - } - - exec('git branch -D ' + version) - .then(function () { - return exec('git checkout -b ' + version); - }) - .then(function generateConfigs() { - var dependencies = {}, - optionalDependencies = {}, - promises; - fs.writeFileSync(path.join(root, 'package.json'), JSON.stringify(config, null, 4), 'utf-8'); - - // generate component.json - promises = - Object.keys(config.dependencies).map(ping.bind(null, dependencies)).concat( - Object.keys(config.optionalDependencies).map(ping.bind(null, optionalDependencies))); - return Promise.all(promises).then(function () { - config.dependencies = dependencies; - config.optionalDependencies = optionalDependencies; - fs.writeFileSync(path.join(root, 'component.json'), JSON.stringify(config, null, 4), 'utf-8'); - }); - }) - .then(function browserify() { - return exec('npm run-script build'); - }) - .then(function browserify() { - return exec('npm run-script build-min'); - }) - .then(function gitAdd() { - return exec('git add "' + root + '"'); - }) - .then(function gitCommit() { - return exec('git commit -m "Bump version ' + version + '"'); - }) - .then(function gitDeleteTag() { - return exec('git tag -d ' + version); - }) - .then(function gitAddTag() { - return exec('git tag -a ' + version + ' -m "version ' + version + '"'); - }) - .then(function () { - console.log('Finally you should execute npm publish and git push --tags'); - }); -}()); + await exec(`git branch -D ${version}`); + await exec(`git checkout -b ${version}`); + + // generate configs + const dependencies = {}, + optionalDependencies = {}; + fs.writeFileSync(path.join(root, 'package.json'), JSON.stringify(config, null, 4), 'utf-8'); + + // generate component.json + config.dependencies = dependencies; + config.optionalDependencies = optionalDependencies; + fs.writeFileSync(path.join(root, 'component.json'), JSON.stringify(config, null, 4), 'utf-8'); + + // browserify + await exec('npm run-script build'); + await exec('npm run-script build-min'); + // git add + await exec(`git add "${root}"`); + // git commit + await exec(`git commit -m "Bump version ${version}"`); + // git delete tag + await exec(`git tag -d ${version}`); + // git add tag + await exec(`git tag -a ${version} -m "version ${version}"`); + console.log('Finally you should execute npm publish and git push --tags'); +})(); /* vim: set sw=4 ts=4 et tw=80 : */ From e7b4b17c0a50294c9abee317ae0c88766c3b0144 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Wed, 6 May 2020 12:43:53 +0800 Subject: [PATCH 2/6] - Linting: Temporarily disable most linting, with a few fixes --- .eslintrc.js | 22 ++++++++++++--------- benchmark/index.js | 2 +- benchmark/old.js | 1 - bin/esgenerate.js | 2 +- escodegen.js | 1 - escodegen.js.map | 1 + test/ast.js | 4 ++-- test/loader.js | 2 +- test/source-map.js | 2 +- test/test.js | 2 +- tools/entry-point.js | 2 +- tools/rules/push-with-multiple-arguments.js | 2 +- 12 files changed, 23 insertions(+), 20 deletions(-) create mode 100644 escodegen.js.map diff --git a/.eslintrc.js b/.eslintrc.js index 05903edb..3198af04 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -33,6 +33,7 @@ module.exports = { }], rules: { // 'push-with-multiple-arguments': 2, + /* 'no-unused-vars': [ 2, { @@ -40,6 +41,9 @@ module.exports = { args: 'none' } ], + */ + 'no-unused-vars': 0, + 'no-prototype-builtins': 0, 'new-cap': [ 2, { @@ -47,15 +51,15 @@ module.exports = { } ], semi: ['error'], - indent: ['error', 4, { SwitchCase: 1 }], + // indent: ['error', 4, { SwitchCase: 1 }], 'prefer-const': ['error'], - 'no-var': ['error'], - 'prefer-destructuring': ['error'], - 'object-shorthand': ['error'], - 'object-curly-spacing': ['error', 'always'], - quotes: ['error', 'single'], - 'quote-props': ['error', 'as-needed'], - 'brace-style': ['error', '1tbs', { allowSingleLine: true }], - 'prefer-template': ['error'] + // 'no-var': ['error'], + // 'prefer-destructuring': ['error'], + // 'object-shorthand': ['error'], + // 'object-curly-spacing': ['error', 'always'], + // quotes: ['error', 'single'], + // 'quote-props': ['error', 'as-needed'], + 'brace-style': ['error', '1tbs', { allowSingleLine: true }] + // 'prefer-template': ['error'] } }; diff --git a/benchmark/index.js b/benchmark/index.js index 760f6e08..40e29e76 100644 --- a/benchmark/index.js +++ b/benchmark/index.js @@ -24,7 +24,7 @@ new Benchmark.Suite() }) .on('start', function () { - console.log('Benchmarking...') + console.log('Benchmarking...'); }) .on('cycle', function (event) { diff --git a/benchmark/old.js b/benchmark/old.js index 5c7629e3..7dcb497f 100644 --- a/benchmark/old.js +++ b/benchmark/old.js @@ -31,7 +31,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*global exports:true, require:true, global:true*/ (function () { 'use strict'; diff --git a/bin/esgenerate.js b/bin/esgenerate.js index 449abcc8..8764f243 100755 --- a/bin/esgenerate.js +++ b/bin/esgenerate.js @@ -51,7 +51,7 @@ if (files.length === 0) { if (args.config) { try { - options = JSON.parse(fs.readFileSync(args.config, 'utf-8')) + options = JSON.parse(fs.readFileSync(args.config, 'utf-8')); } catch (err) { console.error('Error parsing config: ', err); } diff --git a/escodegen.js b/escodegen.js index 82417cd7..1fe39934 100644 --- a/escodegen.js +++ b/escodegen.js @@ -34,7 +34,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*global exports:true, require:true, global:true*/ (function () { 'use strict'; diff --git a/escodegen.js.map b/escodegen.js.map new file mode 100644 index 00000000..98f74fcf --- /dev/null +++ b/escodegen.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/escodegen.js"],"names":[],"mappings":"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","file":"escodegen.js","sourcesContent":["/*\n Copyright (C) 2012-2014 Yusuke Suzuki \n Copyright (C) 2015 Ingvar Stepanyan \n Copyright (C) 2014 Ivan Nikulin \n Copyright (C) 2012-2013 Michael Ficarra \n Copyright (C) 2012-2013 Mathias Bynens \n Copyright (C) 2013 Irakli Gozalishvili \n Copyright (C) 2012 Robert Gust-Bardon \n Copyright (C) 2012 John Freeman \n Copyright (C) 2011-2012 Ariya Hidayat \n Copyright (C) 2012 Joost-Wim Boekesteijn \n Copyright (C) 2012 Kris Kowal \n Copyright (C) 2012 Arpad Borsos \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n let SourceNode,\n base,\n indent,\n json,\n renumber,\n hexadecimal,\n quotes,\n escapeless,\n newline,\n space,\n parentheses,\n semicolons,\n safeConcatenation,\n directive,\n extra,\n parse,\n sourceMap,\n sourceCode,\n preserveBlankLines;\n\n const estraverse = require('estraverse');\n const esutils = require('esutils');\n\n const { Syntax } = estraverse;\n\n // Generation is done by generateExpression.\n function isExpression(node) {\n return Object.hasOwnProperty.call(CodeGenerator.Expression, node.type);\n }\n\n // Generation is done by generateStatement.\n function isStatement(node) {\n return Object.hasOwnProperty.call(CodeGenerator.Statement, node.type);\n }\n\n const Precedence = {\n Sequence: 0,\n Yield: 1,\n Assignment: 1,\n Conditional: 2,\n ArrowFunction: 2,\n LogicalOR: 3,\n LogicalAND: 4,\n BitwiseOR: 5,\n BitwiseXOR: 6,\n BitwiseAND: 7,\n Equality: 8,\n Relational: 9,\n BitwiseSHIFT: 10,\n Additive: 11,\n Multiplicative: 12,\n Exponentiation: 13,\n Await: 14,\n Unary: 14,\n Postfix: 15,\n Call: 16,\n New: 17,\n TaggedTemplate: 18,\n Member: 19,\n Primary: 20\n };\n\n const BinaryPrecedence = {\n '||': Precedence.LogicalOR,\n '&&': Precedence.LogicalAND,\n '|': Precedence.BitwiseOR,\n '^': Precedence.BitwiseXOR,\n '&': Precedence.BitwiseAND,\n '==': Precedence.Equality,\n '!=': Precedence.Equality,\n '===': Precedence.Equality,\n '!==': Precedence.Equality,\n is: Precedence.Equality,\n isnt: Precedence.Equality,\n '<': Precedence.Relational,\n '>': Precedence.Relational,\n '<=': Precedence.Relational,\n '>=': Precedence.Relational,\n in: Precedence.Relational,\n instanceof: Precedence.Relational,\n '<<': Precedence.BitwiseSHIFT,\n '>>': Precedence.BitwiseSHIFT,\n '>>>': Precedence.BitwiseSHIFT,\n '+': Precedence.Additive,\n '-': Precedence.Additive,\n '*': Precedence.Multiplicative,\n '%': Precedence.Multiplicative,\n '/': Precedence.Multiplicative,\n '**': Precedence.Exponentiation\n };\n\n //Flags\n const F_ALLOW_IN = 1,\n F_ALLOW_CALL = 1 << 1,\n F_ALLOW_UNPARATH_NEW = 1 << 2,\n F_FUNC_BODY = 1 << 3,\n F_DIRECTIVE_CTX = 1 << 4,\n F_SEMICOLON_OPT = 1 << 5;\n\n //Expression flag sets\n //NOTE: Flag order:\n // F_ALLOW_IN\n // F_ALLOW_CALL\n // F_ALLOW_UNPARATH_NEW\n const E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,\n E_TTF = F_ALLOW_IN | F_ALLOW_CALL,\n E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,\n E_TFF = F_ALLOW_IN,\n E_FFT = F_ALLOW_UNPARATH_NEW,\n E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW;\n\n //Statement flag sets\n //NOTE: Flag order:\n // F_ALLOW_IN\n // F_FUNC_BODY\n // F_DIRECTIVE_CTX\n // F_SEMICOLON_OPT\n const S_TFFF = F_ALLOW_IN,\n S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT,\n S_FFFF = 0x00,\n S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX,\n S_TTFF = F_ALLOW_IN | F_FUNC_BODY;\n\n function getDefaultOptions() {\n // default options\n return {\n indent: null,\n base: null,\n parse: null,\n comment: false,\n format: {\n indent: {\n style: ' ',\n base: 0,\n adjustMultilineComment: false\n },\n newline: '\\n',\n space: ' ',\n json: false,\n renumber: false,\n hexadecimal: false,\n quotes: 'single',\n escapeless: false,\n compact: false,\n parentheses: true,\n semicolons: true,\n safeConcatenation: false,\n preserveBlankLines: false\n },\n moz: {\n comprehensionExpressionStartsWithAssignment: false,\n starlessGenerator: false\n },\n sourceMap: null,\n sourceMapRoot: null,\n sourceMapWithCode: false,\n directive: false,\n raw: true,\n verbatim: null,\n sourceCode: null\n };\n }\n\n function stringRepeat(str, num) {\n let result = '';\n\n for (num |= 0; num > 0; num >>>= 1, str += str) {\n if (num & 1) {\n result += str;\n }\n }\n\n return result;\n }\n\n function hasLineTerminator(str) {\n return (/[\\r\\n]/g).test(str);\n }\n\n function endsWithLineTerminator(str) {\n const len = str.length;\n return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));\n }\n\n function merge(target, override) {\n for (const key in override) {\n if (Object.hasOwnProperty.call(override, key)) {\n target[key] = override[key];\n }\n }\n return target;\n }\n\n function updateDeeply(target, override) {\n function isHashObject(target) {\n return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);\n }\n\n for (const key in override) {\n if (Object.hasOwnProperty.call(override, key)) {\n const val = override[key];\n if (isHashObject(val)) {\n if (isHashObject(target[key])) {\n updateDeeply(target[key], val);\n } else {\n target[key] = updateDeeply({}, val);\n }\n } else {\n target[key] = val;\n }\n }\n }\n return target;\n }\n\n function generateNumber(value) {\n if (value !== value) {\n throw new Error('Numeric literal whose value is NaN');\n }\n if (value < 0 || (value === 0 && 1 / value < 0)) {\n throw new Error('Numeric literal whose value is negative');\n }\n\n if (value === 1 / 0) {\n return json ? 'null' : renumber ? '1e400' : '1e+400';\n }\n\n let result = `${value}`;\n if (!renumber || result.length < 3) {\n return result;\n }\n\n let point = result.indexOf('.');\n if (!json && result.charCodeAt(0) === 0x30 /* 0 */ && point === 1) {\n point = 0;\n result = result.slice(1);\n }\n let temp = result;\n result = result.replace('e+', 'e');\n let exponent = 0;\n let pos;\n if ((pos = temp.indexOf('e')) > 0) {\n exponent = +temp.slice(pos + 1);\n temp = temp.slice(0, pos);\n }\n if (point >= 0) {\n exponent -= temp.length - point - 1;\n temp = `${+(temp.slice(0, point) + temp.slice(point + 1))}`;\n }\n pos = 0;\n while (temp.charCodeAt(temp.length + pos - 1) === 0x30 /* 0 */) {\n --pos;\n }\n if (pos !== 0) {\n exponent -= pos;\n temp = temp.slice(0, pos);\n }\n if (exponent !== 0) {\n temp += `e${exponent}`;\n }\n if ((temp.length < result.length ||\n (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = `0x${value.toString(16)}`).length < result.length)) &&\n +temp === value) {\n result = temp;\n }\n\n return result;\n }\n\n // Generate valid RegExp expression.\n // This function is based on https://github.com/Constellation/iv Engine\n\n function escapeRegExpCharacter(ch, previousIsBackslash) {\n // not handling '\\' and handling \\u2028 or \\u2029 to unicode escape sequence\n if ((ch & ~1) === 0x2028) {\n return (previousIsBackslash ? 'u' : '\\\\u') + ((ch === 0x2028) ? '2028' : '2029');\n } else if (ch === 10 || ch === 13) { // \\n, \\r\n return (previousIsBackslash ? '' : '\\\\') + ((ch === 10) ? 'n' : 'r');\n }\n return String.fromCharCode(ch);\n }\n\n function generateRegExp(reg) {\n let result = reg.toString();\n\n if (reg.source) {\n // extract flag from toString result\n const match = result.match(/\\/([^/]*)$/);\n if (!match) {\n return result;\n }\n\n const [, flags] = match;\n result = '';\n\n let characterInBrack = false;\n let previousIsBackslash = false;\n for (const ch of reg.source) {\n const code = ch.charCodeAt();\n\n if (!previousIsBackslash) {\n if (characterInBrack) {\n if (code === 93) { // ]\n characterInBrack = false;\n }\n } else {\n if (code === 47) { // /\n result += '\\\\';\n } else if (code === 91) { // [\n characterInBrack = true;\n }\n }\n result += escapeRegExpCharacter(code, previousIsBackslash);\n previousIsBackslash = code === 92; // \\\n } else {\n // if new RegExp(\"\\\\\\n') is provided, create /\\n/\n result += escapeRegExpCharacter(code, previousIsBackslash);\n // prevent like /\\\\[/]/\n previousIsBackslash = false;\n }\n }\n\n return `/${result}/${flags}`;\n }\n\n return result;\n }\n\n function escapeAllowedCharacter(code, next) {\n if (code === 0x08 /* \\b */) {\n return '\\\\b';\n }\n\n if (code === 0x0C /* \\f */) {\n return '\\\\f';\n }\n\n if (code === 0x09 /* \\t */) {\n return '\\\\t';\n }\n\n const hex = code.toString(16).toUpperCase();\n if (json || code > 0xFF) {\n return `\\\\u${'0000'.slice(hex.length)}${hex}`;\n } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) {\n return '\\\\0';\n } else if (code === 0x000B /* \\v */) { // '\\v'\n return '\\\\x0B';\n } else {\n return `\\\\x${'00'.slice(hex.length)}${hex}`;\n }\n }\n\n function escapeDisallowedCharacter(code) {\n if (code === 0x5C /* \\ */) {\n return '\\\\\\\\';\n }\n\n if (code === 0x0A /* \\n */) {\n return '\\\\n';\n }\n\n if (code === 0x0D /* \\r */) {\n return '\\\\r';\n }\n\n if (code === 0x2028) {\n return '\\\\u2028';\n }\n\n if (code === 0x2029) {\n return '\\\\u2029';\n }\n\n throw new Error('Incorrectly classified character');\n }\n\n function escapeDirective(str) {\n let quote = quotes === 'double' ? '\"' : '\\'';\n for (const [i, ch] of Object.entries(str)) {\n const code = ch.charCodeAt();\n if (code === 0x27 /* ' */) {\n quote = '\"';\n break;\n } else if (code === 0x22 /* \" */) {\n quote = '\\'';\n break;\n } else if (code === 0x5C /* \\ */) {\n ++i;\n }\n }\n\n return quote + str + quote;\n }\n\n function escapeString(str) {\n let result = '', singleQuotes = 0, doubleQuotes = 0;\n\n for (const [i, ch] of Object.entries(str)) {\n const code = ch.charCodeAt();\n if (code === 0x27 /* ' */) {\n ++singleQuotes;\n } else if (code === 0x22 /* \" */) {\n ++doubleQuotes;\n } else if (code === 0x2F /* / */ && json) {\n result += '\\\\';\n } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \\ */) {\n result += escapeDisallowedCharacter(code);\n continue;\n } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 0x20 /* SP */ || !json && !escapeless && (code < 0x20 /* SP */ || code > 0x7E /* ~ */))) {\n result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));\n continue;\n }\n result += String.fromCharCode(code);\n }\n\n const single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));\n const quote = single ? '\\'' : '\"';\n\n if (!(single ? singleQuotes : doubleQuotes)) {\n return quote + result + quote;\n }\n\n str = result;\n result = quote;\n\n for (const ch of str) {\n const code = ch.charCodeAt();\n if ((code === 0x27 /* ' */ && single) || (code === 0x22 /* \" */ && !single)) {\n result += '\\\\';\n }\n result += String.fromCharCode(code);\n }\n\n return result + quote;\n }\n\n /**\n * flatten an array to a string, where the array can contain\n * either strings or nested arrays\n */\n function flattenToString(arr) {\n let result = '';\n for (const elem of arr) {\n result += Array.isArray(elem) ? flattenToString(elem) : elem;\n }\n return result;\n }\n\n /**\n * convert generated to a SourceNode when source maps are enabled.\n */\n function toSourceNodeWhenNeeded(generated, node) {\n if (!sourceMap) {\n // with no source maps, generated is either an\n // array or a string. if an array, flatten it.\n // if a string, just return it\n if (Array.isArray(generated)) {\n return flattenToString(generated);\n } else {\n return generated;\n }\n }\n if (node == null) {\n if (generated instanceof SourceNode) {\n return generated;\n } else {\n node = {};\n }\n }\n if (node.loc == null) {\n return new SourceNode(null, null, sourceMap, generated, node.name || null);\n }\n return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null);\n }\n\n function noEmptySpace() {\n return (space) ? space : ' ';\n }\n\n function join(left, right) {\n const leftSource = toSourceNodeWhenNeeded(left).toString();\n if (leftSource.length === 0) {\n return [right];\n }\n\n const rightSource = toSourceNodeWhenNeeded(right).toString();\n if (rightSource.length === 0) {\n return [left];\n }\n\n const leftCharCode = leftSource.charCodeAt(leftSource.length - 1);\n const rightCharCode = rightSource.charCodeAt(0);\n\n if ((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode ||\n esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) ||\n leftCharCode === 0x2F /* / */ && rightCharCode === 0x69 /* i */) { // infix word operators all start with `i`\n return [left, noEmptySpace(), right];\n } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) ||\n esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {\n return [left, right];\n }\n return [left, space, right];\n }\n\n function addIndent(stmt) {\n return [base, stmt];\n }\n\n function withIndent(fn) {\n const previousBase = base;\n base += indent;\n fn(base);\n base = previousBase;\n }\n\n function calculateSpaces(str) {\n let i;\n for (i = str.length - 1; i >= 0; --i) {\n if (esutils.code.isLineTerminator(str.charCodeAt(i))) {\n break;\n }\n }\n return (str.length - 1) - i;\n }\n\n function adjustMultilineComment(value, specialBase) {\n const array = value.split(/\\r\\n|[\\r\\n]/);\n let spaces = Number.MAX_VALUE;\n\n // first line doesn't have indentation\n for (let i = 1, len = array.length; i < len; ++i) {\n const line = array[i];\n let j = 0;\n while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {\n ++j;\n }\n if (spaces > j) {\n spaces = j;\n }\n }\n\n let previousBase;\n if (typeof specialBase !== 'undefined') {\n // pattern like\n // {\n // var t = 20; /*\n // * this is comment\n // */\n // }\n previousBase = base;\n if (array[1][spaces] === '*') {\n specialBase += ' ';\n }\n base = specialBase;\n } else {\n if (spaces & 1) {\n // /*\n // *\n // */\n // If spaces are odd number, above pattern is considered.\n // We waste 1 space.\n --spaces;\n }\n previousBase = base;\n }\n\n for (let i = 1, len = array.length; i < len; ++i) {\n const sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));\n array[i] = sourceMap ? sn.join('') : sn;\n }\n\n base = previousBase;\n\n return array.join('\\n');\n }\n\n function generateComment(comment, specialBase) {\n if (comment.type === 'Line') {\n if (endsWithLineTerminator(comment.value)) {\n return `//${comment.value}`;\n } else {\n // Always use LineTerminator\n let result = `//${comment.value}`;\n if (!preserveBlankLines) {\n result += '\\n';\n }\n return result;\n }\n }\n if (extra.format.indent.adjustMultilineComment && /[\\n\\r]/.test(comment.value)) {\n return adjustMultilineComment(`/*${comment.value}*/`, specialBase);\n }\n return `/*${comment.value}*/`;\n }\n\n function addComments(stmt, result) {\n if (stmt.leadingComments && stmt.leadingComments.length > 0) {\n const save = result;\n\n if (preserveBlankLines) {\n const [comment] = stmt.leadingComments;\n result = [];\n\n const extRange = comment.extendedRange;\n let { range } = comment;\n\n const prefix = sourceCode.substring(extRange[0], range[0]);\n let count = (prefix.match(/\\n/g) || []).length;\n if (count > 0) {\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n } else {\n result.push(prefix);\n result.push(generateComment(comment));\n }\n\n let prevRange = range;\n\n for (let i = 1, len = stmt.leadingComments.length; i < len; i++) {\n const comment = stmt.leadingComments[i];\n ({ range } = comment);\n\n const infix = sourceCode.substring(prevRange[1], range[0]);\n const count = (infix.match(/\\n/g) || []).length;\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n\n prevRange = range;\n }\n\n const suffix = sourceCode.substring(range[1], extRange[1]);\n count = (suffix.match(/\\n/g) || []).length;\n result.push(stringRepeat('\\n', count));\n } else {\n const [comment] = stmt.leadingComments;\n result = [];\n if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {\n result.push('\\n');\n }\n result.push(generateComment(comment));\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push('\\n');\n }\n\n for (let i = 1, len = stmt.leadingComments.length; i < len; ++i) {\n const comment = stmt.leadingComments[i];\n const fragment = [generateComment(comment)];\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n fragment.push('\\n');\n }\n result.push(addIndent(fragment));\n }\n }\n\n result.push(addIndent(save));\n }\n\n if (stmt.trailingComments) {\n\n if (preserveBlankLines) {\n const [comment] = stmt.trailingComments;\n const extRange = comment.extendedRange;\n const { range } = comment;\n\n const prefix = sourceCode.substring(extRange[0], range[0]);\n const count = (prefix.match(/\\n/g) || []).length;\n\n if (count > 0) {\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n } else {\n result.push(prefix);\n result.push(generateComment(comment));\n }\n } else {\n const tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());\n const specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));\n for (let i = 0, len = stmt.trailingComments.length; i < len; ++i) {\n const comment = stmt.trailingComments[i];\n if (tailingToStatement) {\n // We assume target like following script\n //\n // var t = 20; /**\n // * This is comment of t\n // */\n if (i === 0) {\n // first case\n result = [result, indent];\n } else {\n result = [result, specialBase];\n }\n result.push(generateComment(comment, specialBase));\n } else {\n result = [result, addIndent(generateComment(comment))];\n }\n if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result = [result, '\\n'];\n }\n }\n }\n }\n\n return result;\n }\n\n function generateBlankLines(start, end, result) {\n let newlineCount = 0;\n\n for (let j = start; j < end; j++) {\n if (sourceCode[j] === '\\n') {\n newlineCount++;\n }\n }\n\n for (let j = 1; j < newlineCount; j++) {\n result.push(newline);\n }\n }\n\n function parenthesize(text, current, should) {\n if (current < should) {\n return ['(', text, ')'];\n }\n return text;\n }\n\n function generateVerbatimString(string) {\n const result = string.split(/\\r\\n|\\n/);\n for (let i = 1, iz = result.length; i < iz; i++) {\n result[i] = newline + base + result[i];\n }\n return result;\n }\n\n function generateVerbatim(expr, precedence) {\n const verbatim = expr[extra.verbatim];\n\n let result;\n if (typeof verbatim === 'string') {\n result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence);\n } else {\n // verbatim is object\n result = generateVerbatimString(verbatim.content);\n const prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence;\n result = parenthesize(result, prec, precedence);\n }\n\n return toSourceNodeWhenNeeded(result, expr);\n }\n\n function generateIdentifier(node) {\n return toSourceNodeWhenNeeded(node.name, node);\n }\n\n function generateAsyncPrefix(node, spaceRequired) {\n return node.async ? `async${spaceRequired ? noEmptySpace() : space}` : '';\n }\n\n function generateStarSuffix(node) {\n const isGenerator = node.generator && !extra.moz.starlessGenerator;\n return isGenerator ? `*${space}` : '';\n }\n\n function generateMethodPrefix(prop) {\n const func = prop.value;\n let prefix = '';\n if (func.async) {\n prefix += generateAsyncPrefix(func, !prop.computed);\n }\n if (func.generator) {\n // avoid space before method name\n prefix += generateStarSuffix(func) ? '*' : '';\n }\n return prefix;\n }\n\n class CodeGenerator {\n // Helpers.\n\n maybeBlock (stmt, flags) {\n const that = this;\n\n const noLeadingComment = !extra.comment || !stmt.leadingComments;\n\n if (stmt.type === Syntax.BlockStatement && noLeadingComment) {\n return [space, this.generateStatement(stmt, flags)];\n }\n\n if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {\n return ';';\n }\n\n let result;\n withIndent(function () {\n result = [\n newline,\n addIndent(that.generateStatement(stmt, flags))\n ];\n });\n\n return result;\n }\n\n maybeBlockSuffix (stmt, result) {\n const ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());\n if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {\n return [result, space];\n }\n if (ends) {\n return [result, base];\n }\n return [result, newline, base];\n }\n\n generatePattern (node, precedence, flags) {\n if (node.type === Syntax.Identifier) {\n return generateIdentifier(node);\n }\n return this.generateExpression(node, precedence, flags);\n }\n\n generateFunctionParams (node) {\n let result;\n let hasDefault = false;\n\n if (node.type === Syntax.ArrowFunctionExpression &&\n !node.rest && (!node.defaults || node.defaults.length === 0) &&\n node.params.length === 1 && node.params[0].type === Syntax.Identifier) {\n // arg => { } case\n result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])];\n } else {\n result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : [];\n result.push('(');\n if (node.defaults) {\n hasDefault = true;\n }\n for (let i = 0, iz = node.params.length; i < iz; ++i) {\n if (hasDefault && node.defaults[i]) {\n // Handle default values.\n result.push(this.generateAssignment(node.params[i], node.defaults[i], '=', Precedence.Assignment, E_TTT));\n } else {\n result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT));\n }\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n\n if (node.rest) {\n if (node.params.length) {\n result.push(`,${space}`);\n }\n result.push('...');\n result.push(generateIdentifier(node.rest));\n }\n\n result.push(')');\n }\n\n return result;\n }\n\n generateFunctionBody (node) {\n const result = this.generateFunctionParams(node);\n\n if (node.type === Syntax.ArrowFunctionExpression) {\n result.push(space);\n result.push('=>');\n }\n\n if (node.expression) {\n result.push(space);\n let expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT);\n if (expr.toString().charAt(0) === '{') {\n expr = ['(', expr, ')'];\n }\n result.push(expr);\n } else {\n result.push(this.maybeBlock(node.body, S_TTFF));\n }\n\n return result;\n }\n\n generateIterationForStatement (operator, stmt, flags) {\n const that = this;\n let result = [`for${stmt.await ? `${noEmptySpace()}await` : ''}${space}(`];\n withIndent(function () {\n if (stmt.left.type === Syntax.VariableDeclaration) {\n withIndent(function () {\n result.push(stmt.left.kind + noEmptySpace());\n result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF));\n });\n } else {\n result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));\n }\n\n result = join(result, operator);\n result = [join(\n result,\n that.generateExpression(stmt.right, Precedence.Assignment, E_TTT)\n ), ')'];\n });\n result.push(this.maybeBlock(stmt.body, flags));\n return result;\n }\n\n generatePropertyKey (expr, computed) {\n const result = [];\n\n if (computed) {\n result.push('[');\n }\n\n result.push(this.generateExpression(expr, Precedence.Sequence, E_TTT));\n\n if (computed) {\n result.push(']');\n }\n\n return result;\n }\n\n generateAssignment (left, right, operator, precedence, flags) {\n if (Precedence.Assignment < precedence) {\n flags |= F_ALLOW_IN;\n }\n\n return parenthesize(\n [\n this.generateExpression(left, Precedence.Call, flags),\n space + operator + space,\n this.generateExpression(right, Precedence.Assignment, flags)\n ],\n Precedence.Assignment,\n precedence\n );\n }\n\n semicolon (flags) {\n if (!semicolons && flags & F_SEMICOLON_OPT) {\n return '';\n }\n return ';';\n }\n\n generateExpression (expr, precedence, flags) {\n const type = expr.type || Syntax.Property;\n\n if (extra.verbatim && Object.hasOwnProperty.call(expr, extra.verbatim)) {\n return generateVerbatim(expr, precedence);\n }\n\n let result = this[type](expr, precedence, flags);\n\n if (extra.comment) {\n result = addComments(expr, result);\n }\n return toSourceNodeWhenNeeded(result, expr);\n }\n\n generateStatement (stmt, flags) {\n let result = this[stmt.type](stmt, flags);\n\n // Attach comments\n\n if (extra.comment) {\n result = addComments(stmt, result);\n }\n\n const fragment = toSourceNodeWhenNeeded(result).toString();\n if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' && fragment.charAt(fragment.length - 1) === '\\n') {\n result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\\s+$/, '') : fragment.replace(/\\s+$/, '');\n }\n\n return toSourceNodeWhenNeeded(result, stmt);\n }\n }\n\n // Statements.\n\n CodeGenerator.Statement = {\n\n BlockStatement (stmt, flags) {\n const that = this;\n let result = ['{', newline];\n\n withIndent(function () {\n // handle functions without any code\n if (stmt.body.length === 0 && preserveBlankLines) {\n const { range } = stmt;\n if (range[1] - range[0] > 2) {\n const content = sourceCode.substring(range[0] + 1, range[1] - 1);\n if (content[0] === '\\n') {\n result = ['{'];\n }\n result.push(content);\n }\n }\n\n let bodyFlags = S_TFFF;\n if (flags & F_FUNC_BODY) {\n bodyFlags |= F_DIRECTIVE_CTX;\n }\n\n for (let i = 0, iz = stmt.body.length; i < iz; ++i) {\n if (preserveBlankLines) {\n // handle spaces before the first line\n if (i === 0) {\n if (stmt.body[0].leadingComments) {\n const range = stmt.body[0].leadingComments[0].extendedRange;\n const content = sourceCode.substring(range[0], range[1]);\n if (content[0] === '\\n') {\n result = ['{'];\n }\n }\n if (!stmt.body[0].leadingComments) {\n generateBlankLines(stmt.range[0], stmt.body[0].range[0], result);\n }\n }\n\n // handle spaces between lines\n if (i > 0) {\n if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {\n generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);\n }\n }\n }\n\n if (i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n\n let fragment;\n if (stmt.body[i].leadingComments && preserveBlankLines) {\n fragment = that.generateStatement(stmt.body[i], bodyFlags);\n } else {\n fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags));\n }\n\n result.push(fragment);\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n if (preserveBlankLines && i < iz - 1) {\n // don't add a new line if there are leading coments\n // in the next statement\n if (!stmt.body[i + 1].leadingComments) {\n result.push(newline);\n }\n } else {\n result.push(newline);\n }\n }\n\n if (preserveBlankLines) {\n // handle spaces after the last line\n if (i === iz - 1) {\n if (!stmt.body[i].trailingComments) {\n generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);\n }\n }\n }\n }\n });\n\n result.push(addIndent('}'));\n return result;\n },\n\n BreakStatement (stmt, flags) {\n if (stmt.label) {\n return `break ${stmt.label.name}${this.semicolon(flags)}`;\n }\n return `break${this.semicolon(flags)}`;\n },\n\n ContinueStatement (stmt, flags) {\n if (stmt.label) {\n return `continue ${stmt.label.name}${this.semicolon(flags)}`;\n }\n return `continue${this.semicolon(flags)}`;\n },\n\n ClassBody (stmt, flags) {\n const result = [ '{', newline], that = this;\n\n withIndent(function (indent) {\n for (let i = 0, iz = stmt.body.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(newline);\n }\n }\n });\n\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base);\n result.push('}');\n return result;\n },\n\n ClassDeclaration (stmt, flags) {\n let result = ['class'];\n if (stmt.id) {\n result = join(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));\n }\n if (stmt.superClass) {\n const fragment = join('extends', this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));\n result = join(result, fragment);\n }\n result.push(space);\n result.push(this.generateStatement(stmt.body, S_TFFT));\n return result;\n },\n\n DirectiveStatement (stmt, flags) {\n if (extra.raw && stmt.raw) {\n return stmt.raw + this.semicolon(flags);\n }\n return escapeDirective(stmt.directive) + this.semicolon(flags);\n },\n\n DoWhileStatement (stmt, flags) {\n // Because `do 42 while (cond)` is Syntax Error. We need semicolon.\n let result = join('do', this.maybeBlock(stmt.body, S_TFFF));\n result = this.maybeBlockSuffix(stmt.body, result);\n return join(result, [\n `while${space}(`,\n this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n `)${this.semicolon(flags)}`\n ]);\n },\n\n CatchClause (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n if (stmt.param) {\n result = [\n `catch${space}(`,\n that.generateExpression(stmt.param, Precedence.Sequence, E_TTT),\n ')'\n ];\n\n if (stmt.guard) {\n const guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT);\n result.splice(2, 0, ' if ', guard);\n }\n } else {\n result = ['catch'];\n }\n });\n result.push(this.maybeBlock(stmt.body, S_TFFF));\n return result;\n },\n\n DebuggerStatement (stmt, flags) {\n return `debugger${this.semicolon(flags)}`;\n },\n\n EmptyStatement (stmt, flags) {\n return ';';\n },\n\n ExportDefaultDeclaration (stmt, flags) {\n let result = [ 'export' ];\n\n const bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;\n\n // export default HoistableDeclaration[Default]\n // export default AssignmentExpression[In] ;\n result = join(result, 'default');\n if (isStatement(stmt.declaration)) {\n result = join(result, this.generateStatement(stmt.declaration, bodyFlags));\n } else {\n result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));\n }\n return result;\n },\n\n ExportNamedDeclaration (stmt, flags) {\n const that = this;\n let result = [ 'export' ];\n\n const bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;\n\n // export VariableStatement\n // export Declaration[Default]\n if (stmt.declaration) {\n return join(result, this.generateStatement(stmt.declaration, bodyFlags));\n }\n\n // export ExportClause[NoReference] FromClause ;\n // export ExportClause ;\n if (stmt.specifiers) {\n if (stmt.specifiers.length === 0) {\n result = join(result, `{${space}}`);\n } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {\n result = join(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));\n } else {\n result = join(result, '{');\n withIndent(function (indent) {\n result.push(newline);\n for (let i = 0, iz = stmt.specifiers.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${newline}`);\n }\n }\n });\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(`${base}}`);\n }\n\n if (stmt.source) {\n result = join(result, [\n `from${space}`,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ]);\n } else {\n result.push(this.semicolon(flags));\n }\n }\n return result;\n },\n\n ExportAllDeclaration (stmt, flags) {\n // export * FromClause ;\n return [\n `export${space}`,\n `*${space}`,\n `from${space}`,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ];\n },\n\n ExpressionStatement (stmt, flags) {\n function isClassPrefixed(fragment) {\n if (fragment.slice(0, 5) !== 'class') {\n return false;\n }\n const code = fragment.charCodeAt(5);\n return code === 0x7B /* '{' */ || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code);\n }\n\n function isFunctionPrefixed(fragment) {\n if (fragment.slice(0, 8) !== 'function') {\n return false;\n }\n const code = fragment.charCodeAt(8);\n return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code);\n }\n\n function isAsyncPrefixed(fragment) {\n if (fragment.slice(0, 5) !== 'async') {\n return false;\n }\n if (!esutils.code.isWhiteSpace(fragment.charCodeAt(5))) {\n return false;\n }\n let i, iz;\n for (i = 6, iz = fragment.length; i < iz; ++i) {\n if (!esutils.code.isWhiteSpace(fragment.charCodeAt(i))) {\n break;\n }\n }\n if (i === iz) {\n return false;\n }\n if (fragment.slice(i, i + 8) !== 'function') {\n return false;\n }\n const code = fragment.charCodeAt(i + 8);\n return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code);\n }\n\n let result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)];\n // 12.4 '{', 'function', 'class' is not allowed in this position.\n // wrap expression with parentheses\n const fragment = toSourceNodeWhenNeeded(result).toString();\n if (fragment.charCodeAt(0) === 0x7B /* '{' */ || // ObjectExpression\n isClassPrefixed(fragment) ||\n isFunctionPrefixed(fragment) ||\n isAsyncPrefixed(fragment) ||\n (directive && (flags & F_DIRECTIVE_CTX) && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) {\n result = ['(', result, `)${this.semicolon(flags)}`];\n } else {\n result.push(this.semicolon(flags));\n }\n return result;\n },\n\n ImportDeclaration (stmt, flags) {\n // ES6: 15.2.1 valid import declarations:\n // - import ImportClause FromClause ;\n // - import ModuleSpecifier ;\n const that = this;\n\n // If no ImportClause is present,\n // this should be `import ModuleSpecifier` so skip `from`\n // ModuleSpecifier is StringLiteral.\n if (stmt.specifiers.length === 0) {\n // import ModuleSpecifier ;\n return [\n 'import',\n space,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ];\n }\n\n // import ImportClause FromClause ;\n let result = [\n 'import'\n ];\n let cursor = 0;\n\n // ImportedBinding\n if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {\n result = join(result, [\n this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)\n ]);\n ++cursor;\n }\n\n if (stmt.specifiers[cursor]) {\n if (cursor !== 0) {\n result.push(',');\n }\n\n if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {\n // NameSpaceImport\n result = join(result, [\n space,\n this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)\n ]);\n } else {\n // NamedImports\n result.push(`${space}{`);\n\n if ((stmt.specifiers.length - cursor) === 1) {\n // import { ... } from \"...\";\n result.push(space);\n result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT));\n result.push(`${space}}${space}`);\n } else {\n // import {\n // ...,\n // ...,\n // } from \"...\";\n withIndent(function (indent) {\n result.push(newline);\n for (let i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${newline}`);\n }\n }\n });\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(`${base}}${space}`);\n }\n }\n }\n\n result = join(result, [\n `from${space}`,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ]);\n return result;\n },\n\n VariableDeclarator (stmt, flags) {\n const itemFlags = (flags & F_ALLOW_IN) ? E_TTT : E_FTT;\n if (stmt.init) {\n return [\n this.generateExpression(stmt.id, Precedence.Assignment, itemFlags),\n space,\n '=',\n space,\n this.generateExpression(stmt.init, Precedence.Assignment, itemFlags)\n ];\n }\n return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags);\n },\n\n VariableDeclaration (stmt, flags) {\n // VariableDeclarator is typed as Statement,\n // but joined with comma (not LineTerminator).\n // So if comment is attached to target node, we should specialize.\n const that = this;\n\n const result = [ stmt.kind ];\n\n const bodyFlags = (flags & F_ALLOW_IN) ? S_TFFF : S_FFFF;\n\n function block() {\n const [node] = stmt.declarations;\n if (extra.comment && node.leadingComments) {\n result.push('\\n');\n result.push(addIndent(that.generateStatement(node, bodyFlags)));\n } else {\n result.push(noEmptySpace());\n result.push(that.generateStatement(node, bodyFlags));\n }\n\n for (let i = 1, iz = stmt.declarations.length; i < iz; ++i) {\n const node = stmt.declarations[i];\n if (extra.comment && node.leadingComments) {\n result.push(`,${newline}`);\n result.push(addIndent(that.generateStatement(node, bodyFlags)));\n } else {\n result.push(`,${space}`);\n result.push(that.generateStatement(node, bodyFlags));\n }\n }\n }\n\n if (stmt.declarations.length > 1) {\n withIndent(block);\n } else {\n block();\n }\n\n result.push(this.semicolon(flags));\n\n return result;\n },\n\n ThrowStatement (stmt, flags) {\n return [join(\n 'throw',\n this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)\n ), this.semicolon(flags)];\n },\n\n TryStatement (stmt, flags) {\n let result = ['try', this.maybeBlock(stmt.block, S_TFFF)];\n result = this.maybeBlockSuffix(stmt.block, result);\n\n if (stmt.handlers) {\n // old interface\n for (let i = 0, iz = stmt.handlers.length; i < iz; ++i) {\n result = join(result, this.generateStatement(stmt.handlers[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(stmt.handlers[i].body, result);\n }\n }\n } else {\n const guardedHandlers = stmt.guardedHandlers || [];\n\n for (let i = 0, iz = guardedHandlers.length; i < iz; ++i) {\n result = join(result, this.generateStatement(guardedHandlers[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(guardedHandlers[i].body, result);\n }\n }\n\n // new interface\n if (stmt.handler) {\n if (Array.isArray(stmt.handler)) {\n for (let i = 0, iz = stmt.handler.length; i < iz; ++i) {\n result = join(result, this.generateStatement(stmt.handler[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(stmt.handler[i].body, result);\n }\n }\n } else {\n result = join(result, this.generateStatement(stmt.handler, S_TFFF));\n if (stmt.finalizer) {\n result = this.maybeBlockSuffix(stmt.handler.body, result);\n }\n }\n }\n }\n if (stmt.finalizer) {\n result = join(result, ['finally', this.maybeBlock(stmt.finalizer, S_TFFF)]);\n }\n return result;\n },\n\n SwitchStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `switch${space}(`,\n that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT),\n `)${space}{${newline}`\n ];\n });\n if (stmt.cases) {\n let bodyFlags = S_TFFF;\n for (let i = 0, iz = stmt.cases.length; i < iz; ++i) {\n if (i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n const fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags));\n result.push(fragment);\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n result.push(newline);\n }\n }\n }\n result.push(addIndent('}'));\n return result;\n },\n\n SwitchCase (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n if (stmt.test) {\n result = [\n join('case', that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),\n ':'\n ];\n } else {\n result = ['default:'];\n }\n\n let i = 0;\n const iz = stmt.consequent.length;\n if (iz && stmt.consequent[0].type === Syntax.BlockStatement) {\n const fragment = that.maybeBlock(stmt.consequent[0], S_TFFF);\n result.push(fragment);\n i = 1;\n }\n\n if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n\n let bodyFlags = S_TFFF;\n for (; i < iz; ++i) {\n if (i === iz - 1 && flags & F_SEMICOLON_OPT) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n const fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags));\n result.push(fragment);\n if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n result.push(newline);\n }\n }\n });\n return result;\n },\n\n IfStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `if${space}(`,\n that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n const semicolonOptional = flags & F_SEMICOLON_OPT;\n let bodyFlags = S_TFFF;\n if (semicolonOptional) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n if (stmt.alternate) {\n result.push(this.maybeBlock(stmt.consequent, S_TFFF));\n result = this.maybeBlockSuffix(stmt.consequent, result);\n if (stmt.alternate.type === Syntax.IfStatement) {\n result = join(result, ['else ', this.generateStatement(stmt.alternate, bodyFlags)]);\n } else {\n result = join(result, join('else', this.maybeBlock(stmt.alternate, bodyFlags)));\n }\n } else {\n result.push(this.maybeBlock(stmt.consequent, bodyFlags));\n }\n return result;\n },\n\n ForStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [`for${space}(`];\n if (stmt.init) {\n if (stmt.init.type === Syntax.VariableDeclaration) {\n result.push(that.generateStatement(stmt.init, S_FFFF));\n } else {\n // F_ALLOW_IN becomes false.\n result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT));\n result.push(';');\n }\n } else {\n result.push(';');\n }\n\n if (stmt.test) {\n result.push(space);\n result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT));\n result.push(';');\n } else {\n result.push(';');\n }\n\n if (stmt.update) {\n result.push(space);\n result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT));\n result.push(')');\n } else {\n result.push(')');\n }\n });\n\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n },\n\n ForInStatement (stmt, flags) {\n return this.generateIterationForStatement('in', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);\n },\n\n ForOfStatement (stmt, flags) {\n return this.generateIterationForStatement('of', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);\n },\n\n LabeledStatement (stmt, flags) {\n return [`${stmt.label.name}:`, this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)];\n },\n\n Program (stmt, flags) {\n const iz = stmt.body.length;\n const result = [safeConcatenation && iz > 0 ? '\\n' : ''];\n let bodyFlags = S_TFTF;\n for (let i = 0; i < iz; ++i) {\n if (!safeConcatenation && i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n\n if (preserveBlankLines) {\n // handle spaces before the first line\n if (i === 0) {\n if (!stmt.body[0].leadingComments) {\n generateBlankLines(stmt.range[0], stmt.body[i].range[0], result);\n }\n }\n\n // handle spaces between lines\n if (i > 0) {\n if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {\n generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);\n }\n }\n }\n\n const fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags));\n result.push(fragment);\n if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n if (preserveBlankLines) {\n if (!stmt.body[i + 1].leadingComments) {\n result.push(newline);\n }\n } else {\n result.push(newline);\n }\n }\n\n if (preserveBlankLines) {\n // handle spaces after the last line\n if (i === iz - 1) {\n if (!stmt.body[i].trailingComments) {\n generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);\n }\n }\n }\n }\n return result;\n },\n\n FunctionDeclaration (stmt, flags) {\n return [\n generateAsyncPrefix(stmt, true),\n 'function',\n generateStarSuffix(stmt) || noEmptySpace(),\n stmt.id ? generateIdentifier(stmt.id) : '',\n this.generateFunctionBody(stmt)\n ];\n },\n\n ReturnStatement (stmt, flags) {\n if (stmt.argument) {\n return [join(\n 'return',\n this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)\n ), this.semicolon(flags)];\n }\n return [`return${this.semicolon(flags)}`];\n },\n\n WhileStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `while${space}(`,\n that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n },\n\n WithStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `with${space}(`,\n that.generateExpression(stmt.object, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n }\n\n };\n\n merge(CodeGenerator.prototype, CodeGenerator.Statement);\n\n // Expressions.\n\n CodeGenerator.Expression = {\n\n SequenceExpression (expr, precedence, flags) {\n if (Precedence.Sequence < precedence) {\n flags |= F_ALLOW_IN;\n }\n const result = [];\n for (let i = 0, iz = expr.expressions.length; i < iz; ++i) {\n result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags));\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n return parenthesize(result, Precedence.Sequence, precedence);\n },\n\n AssignmentExpression (expr, precedence, flags) {\n return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags);\n },\n\n ArrowFunctionExpression (expr, precedence, flags) {\n return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence);\n },\n\n ConditionalExpression (expr, precedence, flags) {\n if (Precedence.Conditional < precedence) {\n flags |= F_ALLOW_IN;\n }\n return parenthesize(\n [\n this.generateExpression(expr.test, Precedence.LogicalOR, flags),\n `${space}?${space}`,\n this.generateExpression(expr.consequent, Precedence.Assignment, flags),\n `${space}:${space}`,\n this.generateExpression(expr.alternate, Precedence.Assignment, flags)\n ],\n Precedence.Conditional,\n precedence\n );\n },\n\n LogicalExpression (expr, precedence, flags) {\n return this.BinaryExpression(expr, precedence, flags);\n },\n\n BinaryExpression (expr, precedence, flags) {\n const currentPrecedence = BinaryPrecedence[expr.operator];\n const leftPrecedence = expr.operator === '**' ? Precedence.Postfix : currentPrecedence;\n const rightPrecedence = expr.operator === '**' ? currentPrecedence : currentPrecedence + 1;\n\n if (currentPrecedence < precedence) {\n flags |= F_ALLOW_IN;\n }\n\n let fragment = this.generateExpression(expr.left, leftPrecedence, flags);\n\n const leftSource = fragment.toString();\n\n let result;\n if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) {\n result = [fragment, noEmptySpace(), expr.operator];\n } else {\n result = join(fragment, expr.operator);\n }\n\n fragment = this.generateExpression(expr.right, rightPrecedence, flags);\n\n if (expr.operator === '/' && fragment.toString().charAt(0) === '/' ||\n expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') {\n // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start\n result.push(noEmptySpace());\n result.push(fragment);\n } else {\n result = join(result, fragment);\n }\n\n if (expr.operator === 'in' && !(flags & F_ALLOW_IN)) {\n return ['(', result, ')'];\n }\n return parenthesize(result, currentPrecedence, precedence);\n },\n\n CallExpression (expr, precedence, flags) {\n // F_ALLOW_UNPARATH_NEW becomes false.\n const result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)];\n result.push('(');\n for (let i = 0, iz = expr['arguments'].length; i < iz; ++i) {\n result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n result.push(')');\n\n if (!(flags & F_ALLOW_CALL)) {\n return ['(', result, ')'];\n }\n return parenthesize(result, Precedence.Call, precedence);\n },\n\n NewExpression (expr, precedence, flags) {\n const { length } = expr['arguments'];\n\n // F_ALLOW_CALL becomes false.\n // F_ALLOW_UNPARATH_NEW may become false.\n const itemFlags = (flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0) ? E_TFT : E_TFF;\n\n const result = join(\n 'new',\n this.generateExpression(expr.callee, Precedence.New, itemFlags)\n );\n\n if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) {\n result.push('(');\n for (let i = 0, iz = length; i < iz; ++i) {\n result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n result.push(')');\n }\n\n return parenthesize(result, Precedence.New, precedence);\n },\n\n MemberExpression (expr, precedence, flags) {\n // F_ALLOW_UNPARATH_NEW becomes false.\n const result = [this.generateExpression(expr.object, Precedence.Call, (flags & F_ALLOW_CALL) ? E_TTF : E_TFF)];\n\n if (expr.computed) {\n result.push('[');\n result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT));\n result.push(']');\n } else {\n if (expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {\n const fragment = toSourceNodeWhenNeeded(result).toString();\n // When the following conditions are all true,\n // 1. No floating point\n // 2. Don't have exponents\n // 3. The last character is a decimal digit\n // 4. Not hexadecimal OR octal number literal\n // we should add a floating point.\n if (\n fragment.indexOf('.') < 0 &&\n !/[eExX]/.test(fragment) &&\n esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&\n !(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0'\n ) {\n result.push(' ');\n }\n }\n result.push('.');\n result.push(generateIdentifier(expr.property));\n }\n\n return parenthesize(result, Precedence.Member, precedence);\n },\n\n MetaProperty (expr, precedence, flags) {\n const result = [\n typeof expr.meta === 'string' ? expr.meta : generateIdentifier(expr.meta),\n '.',\n typeof expr.property === 'string' ? expr.property : generateIdentifier(expr.property)\n ];\n return parenthesize(result, Precedence.Member, precedence);\n },\n\n UnaryExpression (expr, precedence, flags) {\n const fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);\n\n let result;\n if (space === '') {\n result = join(expr.operator, fragment);\n } else {\n result = [expr.operator];\n if (expr.operator.length > 2) {\n // delete, void, typeof\n // get `typeof []`, not `typeof[]`\n result = join(result, fragment);\n } else {\n // Prevent inserting spaces between operator and argument if it is unnecessary\n // like, `!cond`\n const leftSource = toSourceNodeWhenNeeded(result).toString();\n const leftCharCode = leftSource.charCodeAt(leftSource.length - 1);\n const rightCharCode = fragment.toString().charCodeAt(0);\n\n if (((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode) ||\n (esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode))) {\n result.push(noEmptySpace());\n result.push(fragment);\n } else {\n result.push(fragment);\n }\n }\n }\n return parenthesize(result, Precedence.Unary, precedence);\n },\n\n YieldExpression (expr, precedence, flags) {\n let result;\n if (expr.delegate) {\n result = 'yield*';\n } else {\n result = 'yield';\n }\n if (expr.argument) {\n result = join(\n result,\n this.generateExpression(expr.argument, Precedence.Yield, E_TTT)\n );\n }\n return parenthesize(result, Precedence.Yield, precedence);\n },\n\n AwaitExpression (expr, precedence, flags) {\n const result = join(\n expr.all ? 'await*' : 'await',\n this.generateExpression(expr.argument, Precedence.Await, E_TTT)\n );\n return parenthesize(result, Precedence.Await, precedence);\n },\n\n UpdateExpression (expr, precedence, flags) {\n if (expr.prefix) {\n return parenthesize(\n [\n expr.operator,\n this.generateExpression(expr.argument, Precedence.Unary, E_TTT)\n ],\n Precedence.Unary,\n precedence\n );\n }\n return parenthesize(\n [\n this.generateExpression(expr.argument, Precedence.Postfix, E_TTT),\n expr.operator\n ],\n Precedence.Postfix,\n precedence\n );\n },\n\n FunctionExpression (expr, precedence, flags) {\n const result = [\n generateAsyncPrefix(expr, true),\n 'function'\n ];\n if (expr.id) {\n result.push(generateStarSuffix(expr) || noEmptySpace());\n result.push(generateIdentifier(expr.id));\n } else {\n result.push(generateStarSuffix(expr) || space);\n }\n result.push(this.generateFunctionBody(expr));\n return result;\n },\n\n ArrayPattern (expr, precedence, flags) {\n return this.ArrayExpression(expr, precedence, flags, true);\n },\n\n ArrayExpression (expr, precedence, flags, isPattern) {\n const that = this;\n if (!expr.elements.length) {\n return '[]';\n }\n const multiline = isPattern ? false : expr.elements.length > 1;\n const result = ['[', multiline ? newline : ''];\n withIndent(function (indent) {\n for (let i = 0, iz = expr.elements.length; i < iz; ++i) {\n if (!expr.elements[i]) {\n if (multiline) {\n result.push(indent);\n }\n if (i + 1 === iz) {\n result.push(',');\n }\n } else {\n result.push(multiline ? indent : '');\n result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT));\n }\n if (i + 1 < iz) {\n result.push(`,${multiline ? newline : space}`);\n }\n }\n });\n if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(multiline ? base : '');\n result.push(']');\n return result;\n },\n\n RestElement(expr, precedence, flags) {\n return `...${this.generatePattern(expr.argument)}`;\n },\n\n ClassExpression (expr, precedence, flags) {\n let result = ['class'];\n if (expr.id) {\n result = join(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));\n }\n if (expr.superClass) {\n const fragment = join('extends', this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));\n result = join(result, fragment);\n }\n result.push(space);\n result.push(this.generateStatement(expr.body, S_TFFT));\n return result;\n },\n\n MethodDefinition (expr, precedence, flags) {\n let result;\n if (expr['static']) {\n result = [`static${space}`];\n } else {\n result = [];\n }\n let fragment;\n if (expr.kind === 'get' || expr.kind === 'set') {\n fragment = [\n join(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),\n this.generateFunctionBody(expr.value)\n ];\n } else {\n fragment = [\n generateMethodPrefix(expr),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n return join(result, fragment);\n },\n\n Property (expr, precedence, flags) {\n if (expr.kind === 'get' || expr.kind === 'set') {\n return [\n expr.kind, noEmptySpace(),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n\n if (expr.shorthand) {\n if (expr.value.type === 'AssignmentPattern') {\n return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT);\n }\n return this.generatePropertyKey(expr.key, expr.computed);\n }\n\n if (expr.method) {\n return [\n generateMethodPrefix(expr),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n\n return [\n this.generatePropertyKey(expr.key, expr.computed),\n `:${space}`,\n this.generateExpression(expr.value, Precedence.Assignment, E_TTT)\n ];\n },\n\n ObjectExpression (expr, precedence, flags) {\n const that = this;\n\n if (!expr.properties.length) {\n return '{}';\n }\n const multiline = expr.properties.length > 1;\n\n let fragment;\n withIndent(function () {\n fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT);\n });\n\n if (!multiline) {\n // issues 4\n // Do not transform from\n // dejavu.Class.declare({\n // method2: function () {}\n // });\n // to\n // dejavu.Class.declare({method2: function () {\n // }});\n if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n return [ '{', space, fragment, space, '}' ];\n }\n }\n\n let result;\n withIndent(function (indent) {\n result = [ '{', newline, indent, fragment ];\n\n if (multiline) {\n result.push(`,${newline}`);\n for (let i = 1, iz = expr.properties.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${newline}`);\n }\n }\n }\n });\n\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base);\n result.push('}');\n return result;\n },\n\n AssignmentPattern(expr, precedence, flags) {\n return this.generateAssignment(expr.left, expr.right, '=', precedence, flags);\n },\n\n ObjectPattern (expr, precedence, flags) {\n const that = this;\n if (!expr.properties.length) {\n return '{}';\n }\n\n let multiline = false;\n if (expr.properties.length === 1) {\n const [property] = expr.properties;\n if (property.value.type !== Syntax.Identifier) {\n multiline = true;\n }\n } else {\n for (const property of expr.properties) {\n if (!property.shorthand) {\n multiline = true;\n break;\n }\n }\n }\n const result = ['{', multiline ? newline : '' ];\n\n withIndent(function (indent) {\n for (let i = 0, iz = expr.properties.length; i < iz; ++i) {\n result.push(multiline ? indent : '');\n result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${multiline ? newline : space}`);\n }\n }\n });\n\n if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(multiline ? base : '');\n result.push('}');\n return result;\n },\n\n ThisExpression (expr, precedence, flags) {\n return 'this';\n },\n\n Super (expr, precedence, flags) {\n return 'super';\n },\n\n Identifier (expr, precedence, flags) {\n return generateIdentifier(expr);\n },\n\n ImportDefaultSpecifier (expr, precedence, flags) {\n return generateIdentifier(expr.id || expr.local);\n },\n\n ImportNamespaceSpecifier (expr, precedence, flags) {\n const result = ['*'];\n const id = expr.id || expr.local;\n if (id) {\n result.push(`${space}as${noEmptySpace()}${generateIdentifier(id)}`);\n }\n return result;\n },\n\n ImportSpecifier (expr, precedence, flags) {\n const { imported } = expr;\n const result = [ imported.name ];\n const { local } = expr;\n if (local && local.name !== imported.name) {\n result.push(`${noEmptySpace()}as${noEmptySpace()}${generateIdentifier(local)}`);\n }\n return result;\n },\n\n ExportSpecifier (expr, precedence, flags) {\n const { local } = expr;\n const result = [ local.name ];\n const { exported } = expr;\n if (exported && exported.name !== local.name) {\n result.push(`${noEmptySpace()}as${noEmptySpace()}${generateIdentifier(exported)}`);\n }\n return result;\n },\n\n Literal (expr, precedence, flags) {\n if (Object.hasOwnProperty.call(expr, 'raw') && parse && extra.raw) {\n try {\n const raw = parse(expr.raw).body[0].expression;\n if (raw.type === Syntax.Literal) {\n if (raw.value === expr.value) {\n return expr.raw;\n }\n }\n } catch (e) {\n // not use raw property\n }\n }\n\n if (expr.regex) {\n return `/${expr.regex.pattern}/${expr.regex.flags}`;\n }\n\n if (expr.value === null) {\n return 'null';\n }\n\n if (typeof expr.value === 'string') {\n return escapeString(expr.value);\n }\n\n if (typeof expr.value === 'number') {\n return generateNumber(expr.value);\n }\n\n if (typeof expr.value === 'boolean') {\n return expr.value ? 'true' : 'false';\n }\n\n return generateRegExp(expr.value);\n },\n\n GeneratorExpression (expr, precedence, flags) {\n return this.ComprehensionExpression(expr, precedence, flags);\n },\n\n ComprehensionExpression (expr, precedence, flags) {\n // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]\n // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6\n\n const that = this;\n let result = (expr.type === Syntax.GeneratorExpression) ? ['('] : ['['];\n\n let fragment;\n if (extra.moz.comprehensionExpressionStartsWithAssignment) {\n fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);\n result.push(fragment);\n }\n\n if (expr.blocks) {\n withIndent(function () {\n for (let i = 0, iz = expr.blocks.length; i < iz; ++i) {\n fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);\n if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {\n result = join(result, fragment);\n } else {\n result.push(fragment);\n }\n }\n });\n }\n\n if (expr.filter) {\n result = join(result, `if${space}`);\n fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);\n result = join(result, [ '(', fragment, ')' ]);\n }\n\n if (!extra.moz.comprehensionExpressionStartsWithAssignment) {\n fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);\n\n result = join(result, fragment);\n }\n\n result.push((expr.type === Syntax.GeneratorExpression) ? ')' : ']');\n return result;\n },\n\n ComprehensionBlock (expr, precedence, flags) {\n let fragment;\n if (expr.left.type === Syntax.VariableDeclaration) {\n fragment = [\n expr.left.kind, noEmptySpace(),\n this.generateStatement(expr.left.declarations[0], S_FFFF)\n ];\n } else {\n fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);\n }\n\n fragment = join(fragment, expr.of ? 'of' : 'in');\n fragment = join(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));\n\n return [ `for${space}(`, fragment, ')' ];\n },\n\n SpreadElement (expr, precedence, flags) {\n return [\n '...',\n this.generateExpression(expr.argument, Precedence.Assignment, E_TTT)\n ];\n },\n\n TaggedTemplateExpression (expr, precedence, flags) {\n let itemFlags = E_TTF;\n if (!(flags & F_ALLOW_CALL)) {\n itemFlags = E_TFF;\n }\n const result = [\n this.generateExpression(expr.tag, Precedence.Call, itemFlags),\n this.generateExpression(expr.quasi, Precedence.Primary, E_FFT)\n ];\n return parenthesize(result, Precedence.TaggedTemplate, precedence);\n },\n\n TemplateElement (expr, precedence, flags) {\n // Don't use \"cooked\". Since tagged template can use raw template\n // representation. So if we do so, it breaks the script semantics.\n return expr.value.raw;\n },\n\n TemplateLiteral (expr, precedence, flags) {\n const result = [ '`' ];\n for (let i = 0, iz = expr.quasis.length; i < iz; ++i) {\n result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT));\n if (i + 1 < iz) {\n result.push(`\\${${space}`);\n result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT));\n result.push(`${space}}`);\n }\n }\n result.push('`');\n return result;\n },\n\n ModuleSpecifier (expr, precedence, flags) {\n return this.Literal(expr, precedence, flags);\n },\n\n ImportExpression(expr, precedence, flag) {\n return parenthesize([\n 'import(',\n this.generateExpression(expr.source, Precedence.Assignment, E_TTT),\n ')'\n ], Precedence.Call, precedence);\n },\n\n };\n\n merge(CodeGenerator.prototype, CodeGenerator.Expression);\n\n function generateInternal(node) {\n const codegen = new CodeGenerator();\n if (isStatement(node)) {\n return codegen.generateStatement(node, S_TFFF);\n }\n\n if (isExpression(node)) {\n return codegen.generateExpression(node, Precedence.Sequence, E_TTT);\n }\n\n throw new Error(`Unknown node type: ${node.type}`);\n }\n\n function generate(node, options) {\n const defaultOptions = getDefaultOptions();\n if (options != null) {\n // Obsolete options\n //\n // `options.indent`\n // `options.base`\n //\n // Instead of them, we can use `option.format.indent`.\n if (typeof options.indent === 'string') {\n defaultOptions.format.indent.style = options.indent;\n }\n if (typeof options.base === 'number') {\n defaultOptions.format.indent.base = options.base;\n }\n options = updateDeeply(defaultOptions, options);\n indent = options.format.indent.style;\n if (typeof options.base === 'string') {\n ({ base } = options);\n } else {\n base = stringRepeat(indent, options.format.indent.base);\n }\n } else {\n options = defaultOptions;\n indent = options.format.indent.style;\n base = stringRepeat(indent, options.format.indent.base);\n }\n ({\n json, renumber, escapeless, newline,\n space, parentheses, semicolons, safeConcatenation\n } = options.format);\n hexadecimal = json ? false : options.format.hexadecimal;\n quotes = json ? 'double' : options.format.quotes;\n if (options.format.compact) {\n newline = space = indent = base = '';\n }\n ({ directive, sourceMap, sourceCode } = options);\n parse = json ? null : options.parse;\n preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null;\n extra = options;\n\n if (sourceMap) {\n if (!exports.browser) {\n // We assume environment is node.js\n // And prevent from including source-map by browserify\n ({ SourceNode } = require('source-map'));\n } else {\n ({ SourceNode } = global.sourceMap);\n }\n }\n\n const result = generateInternal(node);\n\n let pair;\n\n if (!sourceMap) {\n pair = { code: result.toString(), map: null };\n return options.sourceMapWithCode ? pair : pair.code;\n }\n\n\n pair = result.toStringWithSourceMap({\n file: options.file,\n sourceRoot: options.sourceMapRoot\n });\n\n if (options.sourceContent) {\n pair.map.setSourceContent(options.sourceMap,\n options.sourceContent);\n }\n\n if (options.sourceMapWithCode) {\n return pair;\n }\n\n return pair.map.toString();\n }\n\n const FORMAT_MINIFY = {\n indent: {\n style: '',\n base: 0\n },\n renumber: true,\n hexadecimal: true,\n quotes: 'auto',\n escapeless: true,\n compact: true,\n parentheses: false,\n semicolons: false\n };\n\n const FORMAT_DEFAULTS = getDefaultOptions().format;\n\n exports.version = require('./package.json').version;\n exports.generate = generate;\n exports.attachComments = estraverse.attachComments;\n exports.Precedence = updateDeeply({}, Precedence);\n exports.browser = false;\n exports.FORMAT_MINIFY = FORMAT_MINIFY;\n exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS;\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n"]} \ No newline at end of file diff --git a/test/ast.js b/test/ast.js index 7d889884..4371acf5 100644 --- a/test/ast.js +++ b/test/ast.js @@ -60,7 +60,7 @@ data = { type: 'ExpressionStatement', expression: { type: 'Literal', - value: new RegExp('\n', 'i') + value: /\n/i }, }], expected: '/\\n/i;' @@ -71,7 +71,7 @@ data = { type: 'ExpressionStatement', expression: { type: 'Literal', - value: new RegExp('\r', 'i') + value: /\r/i }, }], expected: '/\\r/i;' diff --git a/test/loader.js b/test/loader.js index 96f6f50a..9d9393a3 100644 --- a/test/loader.js +++ b/test/loader.js @@ -37,7 +37,7 @@ function freezing(escodegen) { return original.apply(this, arguments); }; return escodegen; -}; +} module.exports = freezing(escodegen); diff --git a/test/source-map.js b/test/source-map.js index 7e2977ad..63c73ed6 100644 --- a/test/source-map.js +++ b/test/source-map.js @@ -470,7 +470,7 @@ describe('source map test', function () { }); it('sourceContent support', async function() { - var source = "(+ a b)" + var source = "(+ a b)"; var ast = { "type": "ExpressionStatement", "expression": {"type": "BinaryExpression", diff --git a/test/test.js b/test/test.js index c2baaafa..ee295914 100644 --- a/test/test.js +++ b/test/test.js @@ -13603,7 +13603,7 @@ data = { expression: { type: 'Literal', value: 'use strict', - raw: '\"use strict\"', + raw: '"use strict"', range: [37, 49], loc: { start: { line: 1, column: 37 }, diff --git a/tools/entry-point.js b/tools/entry-point.js index 4c363e34..f77b5b54 100644 --- a/tools/entry-point.js +++ b/tools/entry-point.js @@ -25,5 +25,5 @@ (function () { 'use strict'; global.escodegen = require('../escodegen'); - escodegen.browser = true; + global.escodegen.browser = true; }()); diff --git a/tools/rules/push-with-multiple-arguments.js b/tools/rules/push-with-multiple-arguments.js index 9bcd07d3..44cc8d64 100644 --- a/tools/rules/push-with-multiple-arguments.js +++ b/tools/rules/push-with-multiple-arguments.js @@ -22,7 +22,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict' +'use strict'; module.exports = function (context) { var MESSAGE = '"push" with multiple arguments hurts performance since optimizing compiler would not support it'; From 0f082068ea980d8efc008b940a851dd262eb64b6 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Tue, 23 Jun 2020 15:45:21 +0800 Subject: [PATCH 3/6] - npm: update devDeps. - npm: Update package-lock version --- package-lock.json | 3109 +++++++++++++++++++-------------------------- package.json | 4 +- 2 files changed, 1329 insertions(+), 1784 deletions(-) diff --git a/package-lock.json b/package-lock.json index e27c5ea5..461757ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,8 +23,8 @@ "browserify": "^16.5.1", "chai": "^4.2.0", "chai-exclude": "^2.0.2", - "eslint": "^6.8.0", - "mocha": "^7.1.2", + "eslint": "^7.3.1", + "mocha": "^8.0.1", "uglifyify": "^5.0.2" }, "engines": { @@ -60,10 +60,31 @@ "js-tokens": "^4.0.0" } }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "node_modules/@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, "node_modules/acorn": { @@ -79,10 +100,13 @@ } }, "node_modules/acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, "node_modules/acorn-node": { "version": "1.8.2", @@ -117,47 +141,30 @@ } }, "node_modules/ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -247,12 +254,12 @@ } }, "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/balanced-match": { @@ -268,9 +275,9 @@ "dev": true }, "node_modules/binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" @@ -582,12 +589,6 @@ "node": ">=4" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -598,25 +599,25 @@ } }, "node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.1", + "fsevents": "~2.1.2", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "readdirp": "~3.5.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.1" + "fsevents": "~2.1.2" } }, "node_modules/cipher-base": { @@ -629,24 +630,6 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, "node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -658,6 +641,15 @@ "wrap-ansi": "^5.1.0" } }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/cliui/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -687,6 +679,18 @@ "node": ">=6" } }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -812,28 +816,17 @@ } }, "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": ">= 8" } }, "node_modules/crypto-browserify": { @@ -865,12 +858,21 @@ "dev": true }, "node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decamelize": { @@ -899,18 +901,6 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -960,9 +950,9 @@ } }, "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -1031,40 +1021,16 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "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.1", - "string.prototype.trimright": "^2.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8.6" } }, "node_modules/escape-string-regexp": { @@ -1077,46 +1043,46 @@ } }, "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", + "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", + "levn": "^0.4.1", + "lodash": "^4.17.20", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.3", + "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -1124,16 +1090,19 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { @@ -1150,82 +1119,120 @@ } }, "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/eslint/node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "node_modules/eslint/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "minimist": "^1.2.5" + "color-convert": "^2.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "engines": { - "node": ">=6.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/espree/node_modules/acorn": { @@ -1240,6 +1247,15 @@ "node": ">=0.4.0" } }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -1265,26 +1281,17 @@ } }, "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" }, "engines": { "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", @@ -1320,24 +1327,10 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-json-stable-stringify": { @@ -1363,28 +1356,16 @@ "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=", "dev": true }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", "dev": true, "dependencies": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=4" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/fill-range": { @@ -1400,59 +1381,47 @@ } }, "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "node_modules/fs.realpath": { @@ -1465,7 +1434,9 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", "dev": true, + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -1581,15 +1552,6 @@ "node": ">=4" } }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -1648,18 +1610,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -1731,123 +1681,22 @@ "node": ">=0.10.0" } }, - "node_modules/inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "node_modules/insert-module-globals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/insert-module-globals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", - "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" }, "bin": { "insert-module-globals": "bin/cmd.js" @@ -1871,33 +1720,6 @@ "node": ">=8" } }, - "node_modules/is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1937,34 +1759,13 @@ "node": ">=0.12.0" } }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, "node_modules/isarray": { @@ -1986,9 +1787,9 @@ "dev": true }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "dependencies": { "argparse": "^1.0.7", @@ -2061,29 +1862,30 @@ } }, "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -2099,17 +1901,99 @@ "dev": true }, "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2" + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -2134,15 +2018,6 @@ "miller-rabin": "bin/miller-rabin" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -2173,18 +2048,6 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/mkdirp-classic": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", @@ -2192,95 +2055,80 @@ "dev": true }, "node_modules/mocha": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", - "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", "dev": true, "dependencies": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", "wide-align": "1.1.3", + "workerpool": "6.0.2", "yargs": "13.3.2", "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "yargs-unparser": "2.0.0" }, "bin": { "_mocha": "bin/_mocha", "mocha": "bin/mocha" }, "engines": { - "node": ">= 8.10.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/module-deps": { @@ -2318,11 +2166,17 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "node_modules/nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || >=13.7" + } }, "node_modules/natural-compare": { "version": "1.4.0", @@ -2330,31 +2184,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-environment-flags/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -2373,49 +2202,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2425,18 +2211,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -2453,74 +2227,40 @@ "node": ">= 0.8.0" } }, - "node_modules/optionator/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/optionator/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/optionator/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { @@ -2580,12 +2320,12 @@ "dev": true }, "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-is-absolute": { @@ -2598,12 +2338,12 @@ } }, "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-parse": { @@ -2653,13 +2393,15 @@ "dev": true, "engines": { "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "engines": { "node": ">= 0.8.0" } @@ -2788,24 +2530,27 @@ } }, "node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "dependencies": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" }, "engines": { - "node": ">= 8" + "node": ">=8.10.0" } }, "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true, "engines": { - "node": ">=6.5.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, "node_modules/require-directory": { @@ -2817,6 +2562,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -2841,17 +2595,19 @@ "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/ripemd160": { @@ -2864,42 +2620,36 @@ "inherits": "^2.0.1" } }, - "node_modules/run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "node_modules/safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "dependencies": { - "is-promise": "^2.1.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.12.0" + "node": ">=10" } }, - "node_modules/rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "randombytes": "^2.1.0" } }, - "node_modules/safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -2939,24 +2689,24 @@ } }, "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shell-quote": { @@ -2965,12 +2715,6 @@ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, "node_modules/simple-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", @@ -2978,28 +2722,55 @@ "dev": true }, "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -3113,7 +2884,7 @@ "node": ">=8" } }, - "node_modules/string-width/node_modules/strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", @@ -3125,82 +2896,16 @@ "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/subarg": { @@ -3234,49 +2939,42 @@ } }, "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", "dev": true, "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=10.0.0" } }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/table/node_modules/ajv": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", + "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/terser": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", @@ -3337,18 +3035,6 @@ "node": ">=0.6.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3361,12 +3047,6 @@ "node": ">=8.0" } }, - "node_modules/tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -3374,12 +3054,11 @@ "dev": true }, "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dependencies": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" @@ -3448,9 +3127,9 @@ } }, "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { "punycode": "^2.1.0" @@ -3506,15 +3185,18 @@ "dev": true }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-module": { @@ -3583,6 +3265,12 @@ "node": ">=0.10.0" } }, + "node_modules/workerpool": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true + }, "node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -3597,6 +3285,15 @@ "node": ">=6" } }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -3626,42 +3323,24 @@ "node": ">=6" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "mkdirp": "^0.5.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/write/node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "node_modules/write/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -3672,9 +3351,15 @@ } }, "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "node_modules/yargs": { @@ -3706,15 +3391,49 @@ } }, "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, "engines": { "node": ">=6" } @@ -3725,6 +3444,18 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -3734,6 +3465,55 @@ "node": ">=4" } }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/yargs/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -3747,6 +3527,30 @@ "engines": { "node": ">=6" } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -3776,10 +3580,28 @@ "js-tokens": "^4.0.0" } }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, "acorn": { @@ -3789,10 +3611,11 @@ "dev": true }, "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "requires": {} }, "acorn-node": { "version": "1.8.2", @@ -3820,9 +3643,9 @@ "dev": true }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3832,28 +3655,11 @@ } }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -3933,9 +3739,9 @@ "dev": true }, "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "balanced-match": { @@ -3951,9 +3757,9 @@ "dev": true }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "bn.js": { @@ -4239,12 +4045,6 @@ "supports-color": "^5.3.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -4252,19 +4052,19 @@ "dev": true }, "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.1", + "fsevents": "~2.1.2", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "readdirp": "~3.5.0" } }, "cipher-base": { @@ -4277,21 +4077,6 @@ "safe-buffer": "^5.0.1" } }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -4303,6 +4088,12 @@ "wrap-ansi": "^5.1.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -4325,6 +4116,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, @@ -4449,24 +4249,14 @@ } }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "crypto-browserify": { @@ -4495,12 +4285,12 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { @@ -4523,15 +4313,6 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -4572,9 +4353,9 @@ } }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, "diffie-hellman": { @@ -4633,34 +4414,13 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "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.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "ansi-colors": "^4.1.1" } }, "escape-string-regexp": { @@ -4670,94 +4430,108 @@ "dev": true }, "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", + "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", + "levn": "^0.4.1", + "lodash": "^4.17.20", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.3", + "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "minimist": "^1.2.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "color-name": "~1.1.4" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "dependencies": { @@ -4770,29 +4544,37 @@ } }, "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "dependencies": { "acorn": { @@ -4800,6 +4582,12 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true } } }, @@ -4818,20 +4606,12 @@ } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "estraverse": "^4.1.0" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } + "estraverse": "^5.2.0" } }, "estraverse": { @@ -4860,21 +4640,10 @@ "safe-buffer": "^5.1.1" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-json-stable-stringify": { @@ -4900,22 +4669,13 @@ "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=", "dev": true }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" } }, "fill-range": { @@ -4928,49 +4688,35 @@ } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true }, "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "flatted": "^3.1.0", + "rimraf": "^3.0.2" } }, "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "fs.realpath": { @@ -5069,12 +4815,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, "hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -5124,15 +4864,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -5194,88 +4925,6 @@ } } }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "insert-module-globals": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", @@ -5311,24 +4960,6 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5356,30 +4987,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -5399,9 +5012,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -5462,23 +5075,21 @@ } }, "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -5494,12 +5105,72 @@ "dev": true }, "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "chalk": "^2.4.2" + "yallist": "^4.0.0" } }, "md5.js": { @@ -5523,12 +5194,6 @@ "brorand": "^1.0.1" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -5556,15 +5221,6 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "mkdirp-classic": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", @@ -5572,79 +5228,57 @@ "dev": true }, "mocha": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", - "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", "wide-align": "1.1.3", + "workerpool": "6.0.2", "yargs": "13.3.2", "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "yargs-unparser": "2.0.0" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } @@ -5678,10 +5312,10 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", "dev": true }, "natural-compare": { @@ -5690,75 +5324,17 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "once": { "version": "1.4.0", @@ -5769,15 +5345,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -5789,30 +5356,6 @@ "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.3" - }, - "dependencies": { - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - } } }, "os-browserify": { @@ -5821,28 +5364,22 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" } }, "p-try": { @@ -5896,9 +5433,9 @@ "dev": true }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { @@ -5908,9 +5445,9 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { @@ -5951,10 +5488,9 @@ "dev": true }, "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "process": { "version": "0.11.10", @@ -6067,18 +5603,18 @@ } }, "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "requires": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" } }, "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "require-directory": { @@ -6087,6 +5623,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -6108,14 +5650,13 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "glob": "^7.1.3" } }, "ripemd160": { @@ -6128,36 +5669,30 @@ "inherits": "^2.0.1" } }, - "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "requires": { - "is-promise": "^2.1.0" + "lru-cache": "^6.0.0" } }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { - "tslib": "^1.9.0" + "randombytes": "^2.1.0" } }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -6194,18 +5729,18 @@ } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shell-quote": { @@ -6214,12 +5749,6 @@ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, "simple-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", @@ -6227,20 +5756,38 @@ "dev": true }, "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } @@ -6348,82 +5895,21 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } + "ansi-regex": "^5.0.0" } }, "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "subarg": { @@ -6454,39 +5940,34 @@ } }, "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" }, "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "ajv": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", + "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true } } }, @@ -6540,15 +6021,6 @@ "process": "~0.11.0" } }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -6558,12 +6030,6 @@ "is-number": "^7.0.0" } }, - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, "tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -6571,12 +6037,11 @@ "dev": true }, "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" } }, "type-detect": { @@ -6630,9 +6095,9 @@ } }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -6692,9 +6157,9 @@ "dev": true }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -6753,6 +6218,12 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, + "workerpool": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -6764,6 +6235,12 @@ "strip-ansi": "^5.0.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -6786,6 +6263,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, @@ -6795,32 +6281,6 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -6828,9 +6288,15 @@ "dev": true }, "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { @@ -6851,18 +6317,67 @@ "yargs-parser": "^13.1.2" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -6873,6 +6388,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, @@ -6887,15 +6411,36 @@ } }, "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + } } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 253252ab..e499aefc 100644 --- a/package.json +++ b/package.json @@ -49,8 +49,8 @@ "browserify": "^16.5.1", "chai": "^4.2.0", "chai-exclude": "^2.0.2", - "eslint": "^6.8.0", - "mocha": "^7.1.2", + "eslint": "^7.3.1", + "mocha": "^8.0.1", "uglifyify": "^5.0.2" }, "license": "BSD-2-Clause", From 77da34c24fbdb7e86d13cd96fd1ce7a12ad6b647 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Tue, 9 Feb 2021 08:13:39 +0800 Subject: [PATCH 4/6] - npm: update estraverse - npm: update devDeps. - npm: Update package-lock version --- package-lock.json | 916 ++++++++++++++++++++++++++++++++++++---------- package.json | 10 +- 2 files changed, 728 insertions(+), 198 deletions(-) diff --git a/package-lock.json b/package-lock.json index 461757ca..f120ceab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,12 +19,12 @@ "esgenerate": "bin/esgenerate.js" }, "devDependencies": { - "acorn": "^8.0.4", - "browserify": "^16.5.1", - "chai": "^4.2.0", + "acorn": "^8.0.5", + "browserify": "^17.0.0", + "chai": "^4.3.0", "chai-exclude": "^2.0.2", - "eslint": "^7.3.1", - "mocha": "^8.0.1", + "eslint": "^7.19.0", + "mocha": "^8.2.1", "uglifyify": "^5.0.2" }, "engines": { @@ -208,6 +208,12 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, "node_modules/asn1.js": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", @@ -262,6 +268,21 @@ "node": ">=8" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", + "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "dev": true, + "dependencies": { + "array-filter": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -335,20 +356,14 @@ } }, "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, "dependencies": { - "resolve": "1.1.7" + "resolve": "^1.17.0" } }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -356,14 +371,14 @@ "dev": true }, "node_modules/browserify": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz", - "integrity": "sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", "dev": true, "dependencies": { "assert": "^1.4.0", "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", + "browser-resolve": "^2.0.0", "browserify-zlib": "~0.2.0", "buffer": "~5.2.1", "cached-path-relative": "^1.0.0", @@ -372,32 +387,32 @@ "constants-browserify": "~1.0.0", "crypto-browserify": "^3.0.0", "defined": "^1.0.0", - "deps-sort": "^2.0.0", + "deps-sort": "^2.0.1", "domain-browser": "^1.2.0", "duplexer2": "~0.1.2", - "events": "^2.0.0", + "events": "^3.0.0", "glob": "^7.1.0", "has": "^1.0.0", "htmlescape": "^1.1.0", "https-browserify": "^1.0.0", "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", + "insert-module-globals": "^7.2.1", "JSONStream": "^1.0.3", "labeled-stream-splicer": "^2.0.0", "mkdirp-classic": "^0.5.2", - "module-deps": "^6.0.0", + "module-deps": "^6.2.3", "os-browserify": "~0.3.0", "parents": "^1.0.1", - "path-browserify": "~0.0.0", + "path-browserify": "^1.0.0", "process": "~0.11.0", "punycode": "^1.3.2", "querystring-es3": "~0.2.0", "read-only-stream": "^2.0.0", "readable-stream": "^2.0.2", "resolve": "^1.1.4", - "shasum": "^1.0.0", + "shasum-object": "^1.0.0", "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", + "stream-browserify": "^3.0.0", "stream-http": "^3.0.0", "string_decoder": "^1.1.1", "subarg": "^1.0.0", @@ -406,7 +421,7 @@ "timers-browserify": "^1.0.1", "tty-browserify": "0.0.1", "url": "~0.11.0", - "util": "~0.10.1", + "util": "~0.12.0", "vm-browserify": "^1.0.0", "xtend": "^4.0.0" }, @@ -528,6 +543,19 @@ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -547,9 +575,9 @@ } }, "node_modules/chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", @@ -560,7 +588,7 @@ "type-detect": "^4.0.5" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/chai-exclude": { @@ -901,6 +929,18 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -1033,6 +1073,51 @@ "node": ">=8.6" } }, + "node_modules/es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1309,12 +1394,12 @@ } }, "node_modules/events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true, "engines": { - "node": ">=0.4.x" + "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { @@ -1424,6 +1509,12 @@ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1481,6 +1572,20 @@ "node": "*" } }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -1552,6 +1657,18 @@ "node": ">=4" } }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -1682,9 +1799,9 @@ } }, "node_modules/insert-module-globals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", - "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, "dependencies": { "acorn-node": "^1.5.2", @@ -1702,11 +1819,20 @@ "insert-module-globals": "bin/cmd.js" } }, - "node_modules/insert-module-globals/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "node_modules/is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-binary-path": { "version": "2.1.0", @@ -1720,6 +1846,48 @@ "node": ">=8" } }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1738,6 +1906,18 @@ "node": ">=8" } }, + "node_modules/is-generator-function": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", + "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -1750,6 +1930,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -1768,6 +1960,56 @@ "node": ">=8" } }, + "node_modules/is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", + "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.0", + "es-abstract": "^1.18.0-next.1", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -1805,27 +2047,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -2132,12 +2359,12 @@ } }, "node_modules/module-deps": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz", - "integrity": "sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, "dependencies": { - "browser-resolve": "^1.7.0", + "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", "concat-stream": "~1.6.0", "defined": "^1.0.0", @@ -2202,6 +2429,42 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2314,9 +2577,9 @@ } }, "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, "node_modules/path-exists": { @@ -2578,12 +2841,16 @@ "dev": true }, "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "dependencies": { + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-from": { @@ -2669,16 +2936,6 @@ "sha.js": "bin.js" } }, - "node_modules/shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", - "dev": true, - "dependencies": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, "node_modules/shasum-object": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", @@ -2716,10 +2973,24 @@ "dev": true }, "node_modules/simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/slice-ansi": { "version": "4.0.0", @@ -2806,13 +3077,27 @@ "dev": true }, "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dev": true, "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/stream-combiner2": { @@ -2884,6 +3169,32 @@ "node": ">=8" } }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -3152,12 +3463,17 @@ "dev": true }, "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", + "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", "dev": true, "dependencies": { - "inherits": "2.0.3" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" } }, "node_modules/util-deprecate": { @@ -3166,12 +3482,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, "node_modules/v8-compile-cache": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", @@ -3205,6 +3515,27 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "node_modules/which-typed-array": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", + "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.0", + "es-abstract": "^1.18.0-next.1", + "foreach": "^2.0.5", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.1", + "is-typed-array": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -3694,6 +4025,12 @@ "sprintf-js": "~1.0.2" } }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, "asn1.js": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", @@ -3744,6 +4081,15 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, + "available-typed-arrays": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", + "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "dev": true, + "requires": { + "array-filter": "^1.0.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -3808,20 +4154,12 @@ } }, "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } + "resolve": "^1.17.0" } }, "browser-stdout": { @@ -3831,14 +4169,14 @@ "dev": true }, "browserify": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz", - "integrity": "sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", "dev": true, "requires": { "assert": "^1.4.0", "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", + "browser-resolve": "^2.0.0", "browserify-zlib": "~0.2.0", "buffer": "~5.2.1", "cached-path-relative": "^1.0.0", @@ -3847,32 +4185,32 @@ "constants-browserify": "~1.0.0", "crypto-browserify": "^3.0.0", "defined": "^1.0.0", - "deps-sort": "^2.0.0", + "deps-sort": "^2.0.1", "domain-browser": "^1.2.0", "duplexer2": "~0.1.2", - "events": "^2.0.0", + "events": "^3.0.0", "glob": "^7.1.0", "has": "^1.0.0", "htmlescape": "^1.1.0", "https-browserify": "^1.0.0", "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", + "insert-module-globals": "^7.2.1", "JSONStream": "^1.0.3", "labeled-stream-splicer": "^2.0.0", "mkdirp-classic": "^0.5.2", - "module-deps": "^6.0.0", + "module-deps": "^6.2.3", "os-browserify": "~0.3.0", "parents": "^1.0.1", - "path-browserify": "~0.0.0", + "path-browserify": "^1.0.0", "process": "~0.11.0", "punycode": "^1.3.2", "querystring-es3": "~0.2.0", "read-only-stream": "^2.0.0", "readable-stream": "^2.0.2", "resolve": "^1.1.4", - "shasum": "^1.0.0", + "shasum-object": "^1.0.0", "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", + "stream-browserify": "^3.0.0", "stream-http": "^3.0.0", "string_decoder": "^1.1.1", "subarg": "^1.0.0", @@ -3881,7 +4219,7 @@ "timers-browserify": "^1.0.1", "tty-browserify": "0.0.1", "url": "~0.11.0", - "util": "~0.10.1", + "util": "~0.12.0", "vm-browserify": "^1.0.0", "xtend": "^4.0.0" }, @@ -3999,6 +4337,16 @@ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -4012,9 +4360,9 @@ "dev": true }, "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -4313,6 +4661,15 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -4423,6 +4780,39 @@ "ansi-colors": "^4.1.1" } }, + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -4625,9 +5015,9 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, "evp_bytestokey": { @@ -4719,6 +5109,12 @@ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4762,6 +5158,17 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -4815,6 +5222,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, "hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -4926,9 +5339,9 @@ } }, "insert-module-globals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", - "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, "requires": { "acorn-node": "^1.5.2", @@ -4941,14 +5354,15 @@ "through2": "^2.0.0", "undeclared-identifiers": "^1.1.2", "xtend": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - } + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" } }, "is-binary-path": { @@ -4960,6 +5374,33 @@ "binary-extensions": "^2.0.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -4972,6 +5413,12 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "is-generator-function": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", + "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", + "dev": true + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -4981,6 +5428,12 @@ "is-extglob": "^2.1.1" } }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4993,6 +5446,38 @@ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typed-array": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", + "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.0", + "es-abstract": "^1.18.0-next.1", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -5027,27 +5512,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -5284,12 +5754,12 @@ } }, "module-deps": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz", - "integrity": "sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, "requires": { - "browser-resolve": "^1.7.0", + "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", "concat-stream": "~1.6.0", "defined": "^1.0.0", @@ -5336,6 +5806,30 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -5427,9 +5921,9 @@ } }, "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, "path-exists": { @@ -5636,11 +6130,12 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "requires": { + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -5709,16 +6204,6 @@ "safe-buffer": "^5.0.1" } }, - "shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", - "dev": true, - "requires": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, "shasum-object": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", @@ -5750,9 +6235,9 @@ "dev": true }, "simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true }, "slice-ansi": { @@ -5823,13 +6308,26 @@ "dev": true }, "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "stream-combiner2": { @@ -5897,6 +6395,26 @@ "strip-ansi": "^6.0.0" } }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -6122,20 +6640,17 @@ } }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", + "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", "dev": true, "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" } }, "util-deprecate": { @@ -6171,6 +6686,21 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "which-typed-array": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", + "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.0", + "es-abstract": "^1.18.0-next.1", + "foreach": "^2.0.5", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.1", + "is-typed-array": "^1.1.3" + } + }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", diff --git a/package.json b/package.json index e499aefc..2351484a 100644 --- a/package.json +++ b/package.json @@ -45,12 +45,12 @@ "source-map": "~0.7.3" }, "devDependencies": { - "acorn": "^8.0.4", - "browserify": "^16.5.1", - "chai": "^4.2.0", + "acorn": "^8.0.5", + "browserify": "^17.0.0", + "chai": "^4.3.0", "chai-exclude": "^2.0.2", - "eslint": "^7.3.1", - "mocha": "^8.0.1", + "eslint": "^7.19.0", + "mocha": "^8.2.1", "uglifyify": "^5.0.2" }, "license": "BSD-2-Clause", From 5f23e07509a16ada6170e5eae011fd9a01e1d30a Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Tue, 23 Feb 2021 17:55:40 +0800 Subject: [PATCH 5/6] - npm: Update devDeps. --- package-lock.json | 901 +++++++++++++++------------------------------- package.json | 4 +- 2 files changed, 283 insertions(+), 622 deletions(-) diff --git a/package-lock.json b/package-lock.json index f120ceab..0bd211c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,8 +11,7 @@ "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.3", - "optionator": "^0.9.1", - "source-map": "~0.7.3" + "optionator": "^0.9.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -23,8 +22,8 @@ "browserify": "^17.0.0", "chai": "^4.3.0", "chai-exclude": "^2.0.2", - "eslint": "^7.19.0", - "mocha": "^8.2.1", + "eslint": "^7.20.0", + "mocha": "^8.3.0", "uglifyify": "^5.0.2" }, "engines": { @@ -35,27 +34,27 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "node_modules/@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -565,15 +564,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/chai": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz", @@ -627,14 +617,13 @@ } }, "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -645,7 +634,7 @@ "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.2" + "fsevents": "~2.3.1" } }, "node_modules/cipher-base": { @@ -659,64 +648,14 @@ } }, "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/color-convert": { @@ -886,10 +825,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -903,15 +841,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", @@ -990,9 +919,9 @@ } }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, "engines": { "node": ">=0.3.1" @@ -1118,6 +1047,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1128,12 +1066,12 @@ } }, "node_modules/eslint": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", - "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", + "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", + "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -1145,7 +1083,7 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", @@ -1354,9 +1292,9 @@ } }, "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1522,10 +1460,9 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, @@ -2282,35 +2219,35 @@ "dev": true }, "node_modules/mocha": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", - "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz", + "integrity": "sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==", "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.4.3", - "debug": "4.2.0", - "diff": "4.0.2", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.14.0", + "js-yaml": "4.0.0", "log-symbols": "4.0.0", "minimatch": "3.0.4", - "ms": "2.1.2", - "nanoid": "3.1.12", + "ms": "2.1.3", + "nanoid": "3.1.20", "serialize-javascript": "5.0.1", "strip-json-comments": "3.1.1", - "supports-color": "7.2.0", + "supports-color": "8.1.1", "which": "2.0.2", "wide-align": "1.1.3", - "workerpool": "6.0.2", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, "bin": { @@ -2325,6 +2262,12 @@ "url": "https://opencollective.com/mochajs" } }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2346,16 +2289,37 @@ "node": ">=8" } }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "node_modules/mocha/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/module-deps": { @@ -2394,15 +2358,15 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "^10 || ^12 || >=13.7" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, "node_modules/natural-compare": { @@ -2526,15 +2490,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -2834,12 +2789,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "node_modules/resolve": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", @@ -2917,12 +2866,6 @@ "randombytes": "^2.1.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -3509,12 +3452,6 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "node_modules/which-typed-array": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", @@ -3597,75 +3534,61 @@ } }, "node_modules/workerpool": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", - "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", "dev": true }, "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -3682,10 +3605,13 @@ } }, "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "4.0.0", @@ -3694,31 +3620,30 @@ "dev": true }, "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "engines": { + "node": ">=10" } }, "node_modules/yargs-unparser": { @@ -3760,117 +3685,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -3886,27 +3700,27 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -4353,12 +4167,6 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "chai": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz", @@ -4400,14 +4208,14 @@ "dev": true }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -4426,54 +4234,14 @@ } }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "color-convert": { @@ -4633,20 +4401,14 @@ "dev": true }, "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", @@ -4710,9 +4472,9 @@ } }, "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, "diffie-hellman": { @@ -4813,6 +4575,12 @@ "is-symbol": "^1.0.2" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -4820,12 +4588,12 @@ "dev": true }, "eslint": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", - "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", + "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", + "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -4837,7 +4605,7 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", @@ -4987,9 +4755,9 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -5122,9 +4890,9 @@ "dev": true }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, @@ -5698,38 +5466,44 @@ "dev": true }, "mocha": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", - "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz", + "integrity": "sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.4.3", - "debug": "4.2.0", - "diff": "4.0.2", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.14.0", + "js-yaml": "4.0.0", "log-symbols": "4.0.0", "minimatch": "3.0.4", - "ms": "2.1.2", - "nanoid": "3.1.12", + "ms": "2.1.3", + "nanoid": "3.1.20", "serialize-javascript": "5.0.1", "strip-json-comments": "3.1.1", - "supports-color": "7.2.0", + "supports-color": "8.1.1", "which": "2.0.2", "wide-align": "1.1.3", - "workerpool": "6.0.2", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -5742,10 +5516,25 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -5783,9 +5572,9 @@ "dev": true }, "nanoid": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", "dev": true }, "natural-compare": { @@ -5876,12 +5665,6 @@ "p-limit": "^3.0.2" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -6123,12 +5906,6 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "resolve": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", @@ -6188,12 +5965,6 @@ "randombytes": "^2.1.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -6680,12 +6451,6 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "which-typed-array": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", @@ -6749,59 +6514,45 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "workerpool": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", - "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", "dev": true }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-convert": "^2.0.1" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, @@ -6818,9 +6569,9 @@ "dev": true }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", "dev": true }, "yallist": { @@ -6830,115 +6581,25 @@ "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true }, "yargs-unparser": { "version": "2.0.0", diff --git a/package.json b/package.json index 2351484a..823ed4ed 100644 --- a/package.json +++ b/package.json @@ -49,8 +49,8 @@ "browserify": "^17.0.0", "chai": "^4.3.0", "chai-exclude": "^2.0.2", - "eslint": "^7.19.0", - "mocha": "^8.2.1", + "eslint": "^7.20.0", + "mocha": "^8.3.0", "uglifyify": "^5.0.2" }, "license": "BSD-2-Clause", From bf4419315c6d851007b2bb3c49173c46f73a4898 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Sun, 6 Mar 2022 07:19:29 +0800 Subject: [PATCH 6/6] feat: switch to ESM source and distributions BREAKING CHANGE: Adds `exports` Also: 1. updates benchmark 2. fixes escodegen with missing options 3. Bumps travis versions 4. bumps devDep. --- .editorconfig | 2 +- .eslintignore | 3 +- .eslintrc.js => .eslintrc.cjs | 8 +- .gitignore | 6 +- .travis.yml | 3 +- README.md | 6 +- benchmark/asts.js | 16 +- benchmark/index.js | 13 +- benchmark/{old.js => old.cjs} | 0 benchmark/package-lock.json | 126 + benchmark/package.json | 6 +- benchmark/trace_cycle.js | 5 +- bin/escodegen.js | 17 +- bin/esgenerate.js | 15 +- escodegen.js.map | 1 - package-lock.json | 6046 ++++++----------- package.json | 60 +- rollup.config.js | 30 + .../escodegen-browser.js | 8 +- src/escodegen-node.js | 6 + escodegen.js => src/escodegen.js | 39 +- test/3rdparty/package.json | 3 + test/api.js | 11 +- test/ast.js | 11 +- test/comment.js | 13 +- test/compare-acorn-es2019.js | 12 +- test/compare-acorn-es2020.js | 17 +- test/compare-acorn-es2021.js | 17 +- test/compare-acorn-es6.js | 12 +- test/compare-acorn-es7.js | 12 +- test/compare-esprima2.js | 16 +- test/compare-fixed-harmony.js | 12 +- test/compare-harmony.js | 15 +- test/compare.js | 12 +- test/directive.js | 11 +- test/harmony-esprima2.js | 11 +- test/harmony.js | 13 +- test/identity.js | 15 +- test/loader.js | 8 +- test/options.js | 11 +- test/preserve-blank-lines.js | 12 +- test/source-map.js | 10 +- test/test.js | 11 +- test/verbatim.js | 14 +- tools/release.js | 9 +- tools/rules/package.json | 3 + 46 files changed, 2360 insertions(+), 4347 deletions(-) rename .eslintrc.js => .eslintrc.cjs (89%) rename benchmark/{old.js => old.cjs} (100%) create mode 100644 benchmark/package-lock.json delete mode 100644 escodegen.js.map create mode 100644 rollup.config.js rename tools/entry-point.js => src/escodegen-browser.js (91%) create mode 100644 src/escodegen-node.js rename escodegen.js => src/escodegen.js (99%) create mode 100644 test/3rdparty/package.json create mode 100644 tools/rules/package.json diff --git a/.editorconfig b/.editorconfig index d83d7228..c9eecc08 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,7 +12,7 @@ indent_style = space indent_size = 4 [*.json] -indent_size = 2 +indent_size = 4 [*.yml] indent_size = 2 diff --git a/.eslintignore b/.eslintignore index d127f1f6..21173939 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,5 +6,4 @@ coverage test/*/*.js -escodegen.browser.min.js -escodegen.browser.js +dist diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 89% rename from .eslintrc.js rename to .eslintrc.cjs index 3198af04..986102ed 100644 --- a/.eslintrc.js +++ b/.eslintrc.cjs @@ -7,14 +7,18 @@ module.exports = { SharedArrayBuffer: 'readonly' }, env: { - node: true, es6: true }, parserOptions: { sourceType: 'module', - ecmaVersion: 2018 + ecmaVersion: 2020 }, overrides: [{ + files: ['*-node.js', '.eslintrc.cjs', 'benchmark/**', 'bin/**', 'tools/**'], + env: { + node: true + } + }, { files: '.eslintrc.js', parserOptions: { sourceType: 'script' diff --git a/.gitignore b/.gitignore index a6d4a4c1..ccae3bfd 100644 --- a/.gitignore +++ b/.gitignore @@ -8,8 +8,10 @@ node_modules/ # Cover .coverage_data/ cover_html/ +coverage + +.idea npm-debug.log -escodegen.browser.min.js -escodegen.browser.js +dist diff --git a/.travis.yml b/.travis.yml index 3e25b1ce..dd2eedf8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ script: - npm run build - npm test node_js: - - 10 - 12 - 14 + - 16 + - 17 diff --git a/README.md b/README.md index 810b2526..0ce82caf 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,10 @@ for a demo. Escodegen can be used in a web browser: ```html - + ``` -escodegen.browser.js can be found in tagged revisions on GitHub. +`dist/escodegen.umd.js` can be found in tagged revisions on GitHub. Or in a Node.js application via npm: @@ -54,7 +54,7 @@ After that, npm run-script build ``` -will generate `escodegen.browser.js`, which can be used in browser environments. +will generate `dist/escodegen.umd.js`, which can be used in browser environments. And, diff --git a/benchmark/asts.js b/benchmark/asts.js index 51dfbc7c..b3808a7c 100644 --- a/benchmark/asts.js +++ b/benchmark/asts.js @@ -1,8 +1,12 @@ -var fs = require('fs'), - path = require('path'), - esprima = require('esprima'); +import fs from 'fs'; +import path from 'path'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; -var FILES_PATH = path.join(__dirname, './asts'); +// import esprima from 'esprima'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const FILES_PATH = path.join(__dirname, './asts'); var FILES = [ 'jQuery 1.7.1', @@ -22,8 +26,8 @@ function slug(name) { return name.toLowerCase().replace(/\s/g, '-'); } -module.exports = FILES.map(function (file) { - var astJson = fs.readFileSync(FILES_PATH + '/' + slug(file) + '-ast.json'); +export default FILES.map(function (file) { + const astJson = fs.readFileSync(`${FILES_PATH}/${slug(file)}-ast.json`); return JSON.parse(astJson); }); diff --git a/benchmark/index.js b/benchmark/index.js index 40e29e76..69399bd3 100644 --- a/benchmark/index.js +++ b/benchmark/index.js @@ -1,9 +1,8 @@ -var Benchmark = require('benchmark'), - escodegen = require('../'), - old = require('./old.js'), - esotope = require('esotope'), - asts = require('./asts'); - +import Benchmark from 'benchmark'; +import esotope from 'esotope'; +import * as escodegen from '../src/escodegen-node.js'; +import old from './old.cjs'; +import asts from './asts.js'; function cycle(codegen) { for (var i = 0; i < asts.length; i++) @@ -32,7 +31,7 @@ new Benchmark.Suite() }) .on('complete', function () { - console.log('Fastest is ' + this.filter('fastest').pluck('name')); + console.log(`Fastest is ${this.filter('fastest').map('name')}`); console.log('esotope is x' + (this[0].hz / this[1].hz).toFixed(2) + ' times faster vs escodegen.'); }) diff --git a/benchmark/old.js b/benchmark/old.cjs similarity index 100% rename from benchmark/old.js rename to benchmark/old.cjs diff --git a/benchmark/package-lock.json b/benchmark/package-lock.json new file mode 100644 index 00000000..da996d6c --- /dev/null +++ b/benchmark/package-lock.json @@ -0,0 +1,126 @@ +{ + "name": "benchmark", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "benchmark", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "benchmark": "~2.1.4", + "esotope": "*" + }, + "optionalDependencies": { + "microtime": "~3.0.0" + } + }, + "node_modules/benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", + "dependencies": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "node_modules/esotope": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/esotope/-/esotope-1.4.5.tgz", + "integrity": "sha1-oY1Tt1zwlVWZ5oMKdmFmkl3uD2k=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/microtime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.0.0.tgz", + "integrity": "sha512-SirJr7ZL4ow2iWcb54bekS4aWyBQNVcEDBiwAz9D/sTgY59A+uE8UJU15cp5wyZmPBwg/3zf8lyCJ5NUe1nVlQ==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-addon-api": "^1.2.0", + "node-gyp-build": "^3.8.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "optional": true + }, + "node_modules/node-gyp-build": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", + "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==", + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" + } + }, + "dependencies": { + "benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", + "requires": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "esotope": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/esotope/-/esotope-1.4.5.tgz", + "integrity": "sha1-oY1Tt1zwlVWZ5oMKdmFmkl3uD2k=" + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "microtime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.0.0.tgz", + "integrity": "sha512-SirJr7ZL4ow2iWcb54bekS4aWyBQNVcEDBiwAz9D/sTgY59A+uE8UJU15cp5wyZmPBwg/3zf8lyCJ5NUe1nVlQ==", + "optional": true, + "requires": { + "node-addon-api": "^1.2.0", + "node-gyp-build": "^3.8.0" + } + }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "optional": true + }, + "node-gyp-build": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", + "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==", + "optional": true + }, + "platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" + } + } +} diff --git a/benchmark/package.json b/benchmark/package.json index 97ed75a8..3c8f7c62 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -1,18 +1,20 @@ { + "private": true, "name": "benchmark", "version": "0.1.0", "description": "Regression benchmarking. Compare speed with upstream npm version", "main": "index.js", + "type": "module", "scripts": { "test": "node index" }, "author": "Ivan Nikulin ", "license": "MIT", "dependencies": { - "benchmark": "~1.0.0", + "benchmark": "~2.1.4", "esotope": "*" }, "optionalDependencies": { - "microtime": "~0.4.0" + "microtime": "~3.0.0" } } diff --git a/benchmark/trace_cycle.js b/benchmark/trace_cycle.js index c23f2ca0..b0cab7cb 100644 --- a/benchmark/trace_cycle.js +++ b/benchmark/trace_cycle.js @@ -1,8 +1,7 @@ -var asts = require('./asts'), - escodegen = require('../'); +import asts from './asts.js'; +import escodegen from '../src/escodegen-node.js'; for (var j = 0; j < 50; j++) { for (var i = 0; i < asts.length; i++) escodegen.generate(asts[0]); } - diff --git a/bin/escodegen.js b/bin/escodegen.js index a7c38aa1..b160c1fb 100755 --- a/bin/escodegen.js +++ b/bin/escodegen.js @@ -23,14 +23,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*jslint sloppy:true node:true */ +import fs from 'fs'; +import path from 'path'; +import esprima from 'esprima'; +import Optionator from 'optionator'; +import * as escodegen from '../src/escodegen-node.js'; -var fs = require('fs'), - path = require('path'), - root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - esprima = require('esprima'), - escodegen = require(root), - optionator = require('optionator')({ +const optionator = Optionator({ prepend: 'Usage: escodegen [options] file...', options: [ { @@ -43,7 +42,6 @@ var fs = require('fs'), }), args = optionator.parse(process.argv), files = args._, - options, esprimaOptions = { raw: true, tokens: true, @@ -56,6 +54,7 @@ if (files.length === 0) { process.exit(1); } +let options; if (args.config) { try { options = JSON.parse(fs.readFileSync(args.config, 'utf-8')); @@ -68,7 +67,7 @@ files.forEach(function (filename) { var content = fs.readFileSync(filename, 'utf-8'), syntax = esprima.parse(content, esprimaOptions); - if (options.comment) { + if (options && options.comment) { escodegen.attachComments(syntax, syntax.comments, syntax.tokens); } diff --git a/bin/esgenerate.js b/bin/esgenerate.js index 8764f243..b87333c5 100755 --- a/bin/esgenerate.js +++ b/bin/esgenerate.js @@ -23,13 +23,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*jslint sloppy:true node:true */ +import fs from 'fs'; +import * as escodegen from '../src/escodegen-node.js'; +import Optionator from 'optionator'; -var fs = require('fs'), - path = require('path'), - root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - escodegen = require(root), - optionator = require('optionator')({ +const optionator = Optionator({ prepend: 'Usage: esgenerate [options] file.json ...', options: [ { @@ -41,14 +39,15 @@ var fs = require('fs'), ] }), args = optionator.parse(process.argv), - files = args._, - options; + files = args._; if (files.length === 0) { console.log(optionator.generateHelp()); process.exit(1); } +let options; + if (args.config) { try { options = JSON.parse(fs.readFileSync(args.config, 'utf-8')); diff --git a/escodegen.js.map b/escodegen.js.map deleted file mode 100644 index 98f74fcf..00000000 --- a/escodegen.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["src/escodegen.js"],"names":[],"mappings":"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","file":"escodegen.js","sourcesContent":["/*\n Copyright (C) 2012-2014 Yusuke Suzuki \n Copyright (C) 2015 Ingvar Stepanyan \n Copyright (C) 2014 Ivan Nikulin \n Copyright (C) 2012-2013 Michael Ficarra \n Copyright (C) 2012-2013 Mathias Bynens \n Copyright (C) 2013 Irakli Gozalishvili \n Copyright (C) 2012 Robert Gust-Bardon \n Copyright (C) 2012 John Freeman \n Copyright (C) 2011-2012 Ariya Hidayat \n Copyright (C) 2012 Joost-Wim Boekesteijn \n Copyright (C) 2012 Kris Kowal \n Copyright (C) 2012 Arpad Borsos \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n let SourceNode,\n base,\n indent,\n json,\n renumber,\n hexadecimal,\n quotes,\n escapeless,\n newline,\n space,\n parentheses,\n semicolons,\n safeConcatenation,\n directive,\n extra,\n parse,\n sourceMap,\n sourceCode,\n preserveBlankLines;\n\n const estraverse = require('estraverse');\n const esutils = require('esutils');\n\n const { Syntax } = estraverse;\n\n // Generation is done by generateExpression.\n function isExpression(node) {\n return Object.hasOwnProperty.call(CodeGenerator.Expression, node.type);\n }\n\n // Generation is done by generateStatement.\n function isStatement(node) {\n return Object.hasOwnProperty.call(CodeGenerator.Statement, node.type);\n }\n\n const Precedence = {\n Sequence: 0,\n Yield: 1,\n Assignment: 1,\n Conditional: 2,\n ArrowFunction: 2,\n LogicalOR: 3,\n LogicalAND: 4,\n BitwiseOR: 5,\n BitwiseXOR: 6,\n BitwiseAND: 7,\n Equality: 8,\n Relational: 9,\n BitwiseSHIFT: 10,\n Additive: 11,\n Multiplicative: 12,\n Exponentiation: 13,\n Await: 14,\n Unary: 14,\n Postfix: 15,\n Call: 16,\n New: 17,\n TaggedTemplate: 18,\n Member: 19,\n Primary: 20\n };\n\n const BinaryPrecedence = {\n '||': Precedence.LogicalOR,\n '&&': Precedence.LogicalAND,\n '|': Precedence.BitwiseOR,\n '^': Precedence.BitwiseXOR,\n '&': Precedence.BitwiseAND,\n '==': Precedence.Equality,\n '!=': Precedence.Equality,\n '===': Precedence.Equality,\n '!==': Precedence.Equality,\n is: Precedence.Equality,\n isnt: Precedence.Equality,\n '<': Precedence.Relational,\n '>': Precedence.Relational,\n '<=': Precedence.Relational,\n '>=': Precedence.Relational,\n in: Precedence.Relational,\n instanceof: Precedence.Relational,\n '<<': Precedence.BitwiseSHIFT,\n '>>': Precedence.BitwiseSHIFT,\n '>>>': Precedence.BitwiseSHIFT,\n '+': Precedence.Additive,\n '-': Precedence.Additive,\n '*': Precedence.Multiplicative,\n '%': Precedence.Multiplicative,\n '/': Precedence.Multiplicative,\n '**': Precedence.Exponentiation\n };\n\n //Flags\n const F_ALLOW_IN = 1,\n F_ALLOW_CALL = 1 << 1,\n F_ALLOW_UNPARATH_NEW = 1 << 2,\n F_FUNC_BODY = 1 << 3,\n F_DIRECTIVE_CTX = 1 << 4,\n F_SEMICOLON_OPT = 1 << 5;\n\n //Expression flag sets\n //NOTE: Flag order:\n // F_ALLOW_IN\n // F_ALLOW_CALL\n // F_ALLOW_UNPARATH_NEW\n const E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,\n E_TTF = F_ALLOW_IN | F_ALLOW_CALL,\n E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,\n E_TFF = F_ALLOW_IN,\n E_FFT = F_ALLOW_UNPARATH_NEW,\n E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW;\n\n //Statement flag sets\n //NOTE: Flag order:\n // F_ALLOW_IN\n // F_FUNC_BODY\n // F_DIRECTIVE_CTX\n // F_SEMICOLON_OPT\n const S_TFFF = F_ALLOW_IN,\n S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT,\n S_FFFF = 0x00,\n S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX,\n S_TTFF = F_ALLOW_IN | F_FUNC_BODY;\n\n function getDefaultOptions() {\n // default options\n return {\n indent: null,\n base: null,\n parse: null,\n comment: false,\n format: {\n indent: {\n style: ' ',\n base: 0,\n adjustMultilineComment: false\n },\n newline: '\\n',\n space: ' ',\n json: false,\n renumber: false,\n hexadecimal: false,\n quotes: 'single',\n escapeless: false,\n compact: false,\n parentheses: true,\n semicolons: true,\n safeConcatenation: false,\n preserveBlankLines: false\n },\n moz: {\n comprehensionExpressionStartsWithAssignment: false,\n starlessGenerator: false\n },\n sourceMap: null,\n sourceMapRoot: null,\n sourceMapWithCode: false,\n directive: false,\n raw: true,\n verbatim: null,\n sourceCode: null\n };\n }\n\n function stringRepeat(str, num) {\n let result = '';\n\n for (num |= 0; num > 0; num >>>= 1, str += str) {\n if (num & 1) {\n result += str;\n }\n }\n\n return result;\n }\n\n function hasLineTerminator(str) {\n return (/[\\r\\n]/g).test(str);\n }\n\n function endsWithLineTerminator(str) {\n const len = str.length;\n return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));\n }\n\n function merge(target, override) {\n for (const key in override) {\n if (Object.hasOwnProperty.call(override, key)) {\n target[key] = override[key];\n }\n }\n return target;\n }\n\n function updateDeeply(target, override) {\n function isHashObject(target) {\n return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);\n }\n\n for (const key in override) {\n if (Object.hasOwnProperty.call(override, key)) {\n const val = override[key];\n if (isHashObject(val)) {\n if (isHashObject(target[key])) {\n updateDeeply(target[key], val);\n } else {\n target[key] = updateDeeply({}, val);\n }\n } else {\n target[key] = val;\n }\n }\n }\n return target;\n }\n\n function generateNumber(value) {\n if (value !== value) {\n throw new Error('Numeric literal whose value is NaN');\n }\n if (value < 0 || (value === 0 && 1 / value < 0)) {\n throw new Error('Numeric literal whose value is negative');\n }\n\n if (value === 1 / 0) {\n return json ? 'null' : renumber ? '1e400' : '1e+400';\n }\n\n let result = `${value}`;\n if (!renumber || result.length < 3) {\n return result;\n }\n\n let point = result.indexOf('.');\n if (!json && result.charCodeAt(0) === 0x30 /* 0 */ && point === 1) {\n point = 0;\n result = result.slice(1);\n }\n let temp = result;\n result = result.replace('e+', 'e');\n let exponent = 0;\n let pos;\n if ((pos = temp.indexOf('e')) > 0) {\n exponent = +temp.slice(pos + 1);\n temp = temp.slice(0, pos);\n }\n if (point >= 0) {\n exponent -= temp.length - point - 1;\n temp = `${+(temp.slice(0, point) + temp.slice(point + 1))}`;\n }\n pos = 0;\n while (temp.charCodeAt(temp.length + pos - 1) === 0x30 /* 0 */) {\n --pos;\n }\n if (pos !== 0) {\n exponent -= pos;\n temp = temp.slice(0, pos);\n }\n if (exponent !== 0) {\n temp += `e${exponent}`;\n }\n if ((temp.length < result.length ||\n (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = `0x${value.toString(16)}`).length < result.length)) &&\n +temp === value) {\n result = temp;\n }\n\n return result;\n }\n\n // Generate valid RegExp expression.\n // This function is based on https://github.com/Constellation/iv Engine\n\n function escapeRegExpCharacter(ch, previousIsBackslash) {\n // not handling '\\' and handling \\u2028 or \\u2029 to unicode escape sequence\n if ((ch & ~1) === 0x2028) {\n return (previousIsBackslash ? 'u' : '\\\\u') + ((ch === 0x2028) ? '2028' : '2029');\n } else if (ch === 10 || ch === 13) { // \\n, \\r\n return (previousIsBackslash ? '' : '\\\\') + ((ch === 10) ? 'n' : 'r');\n }\n return String.fromCharCode(ch);\n }\n\n function generateRegExp(reg) {\n let result = reg.toString();\n\n if (reg.source) {\n // extract flag from toString result\n const match = result.match(/\\/([^/]*)$/);\n if (!match) {\n return result;\n }\n\n const [, flags] = match;\n result = '';\n\n let characterInBrack = false;\n let previousIsBackslash = false;\n for (const ch of reg.source) {\n const code = ch.charCodeAt();\n\n if (!previousIsBackslash) {\n if (characterInBrack) {\n if (code === 93) { // ]\n characterInBrack = false;\n }\n } else {\n if (code === 47) { // /\n result += '\\\\';\n } else if (code === 91) { // [\n characterInBrack = true;\n }\n }\n result += escapeRegExpCharacter(code, previousIsBackslash);\n previousIsBackslash = code === 92; // \\\n } else {\n // if new RegExp(\"\\\\\\n') is provided, create /\\n/\n result += escapeRegExpCharacter(code, previousIsBackslash);\n // prevent like /\\\\[/]/\n previousIsBackslash = false;\n }\n }\n\n return `/${result}/${flags}`;\n }\n\n return result;\n }\n\n function escapeAllowedCharacter(code, next) {\n if (code === 0x08 /* \\b */) {\n return '\\\\b';\n }\n\n if (code === 0x0C /* \\f */) {\n return '\\\\f';\n }\n\n if (code === 0x09 /* \\t */) {\n return '\\\\t';\n }\n\n const hex = code.toString(16).toUpperCase();\n if (json || code > 0xFF) {\n return `\\\\u${'0000'.slice(hex.length)}${hex}`;\n } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) {\n return '\\\\0';\n } else if (code === 0x000B /* \\v */) { // '\\v'\n return '\\\\x0B';\n } else {\n return `\\\\x${'00'.slice(hex.length)}${hex}`;\n }\n }\n\n function escapeDisallowedCharacter(code) {\n if (code === 0x5C /* \\ */) {\n return '\\\\\\\\';\n }\n\n if (code === 0x0A /* \\n */) {\n return '\\\\n';\n }\n\n if (code === 0x0D /* \\r */) {\n return '\\\\r';\n }\n\n if (code === 0x2028) {\n return '\\\\u2028';\n }\n\n if (code === 0x2029) {\n return '\\\\u2029';\n }\n\n throw new Error('Incorrectly classified character');\n }\n\n function escapeDirective(str) {\n let quote = quotes === 'double' ? '\"' : '\\'';\n for (const [i, ch] of Object.entries(str)) {\n const code = ch.charCodeAt();\n if (code === 0x27 /* ' */) {\n quote = '\"';\n break;\n } else if (code === 0x22 /* \" */) {\n quote = '\\'';\n break;\n } else if (code === 0x5C /* \\ */) {\n ++i;\n }\n }\n\n return quote + str + quote;\n }\n\n function escapeString(str) {\n let result = '', singleQuotes = 0, doubleQuotes = 0;\n\n for (const [i, ch] of Object.entries(str)) {\n const code = ch.charCodeAt();\n if (code === 0x27 /* ' */) {\n ++singleQuotes;\n } else if (code === 0x22 /* \" */) {\n ++doubleQuotes;\n } else if (code === 0x2F /* / */ && json) {\n result += '\\\\';\n } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \\ */) {\n result += escapeDisallowedCharacter(code);\n continue;\n } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 0x20 /* SP */ || !json && !escapeless && (code < 0x20 /* SP */ || code > 0x7E /* ~ */))) {\n result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));\n continue;\n }\n result += String.fromCharCode(code);\n }\n\n const single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));\n const quote = single ? '\\'' : '\"';\n\n if (!(single ? singleQuotes : doubleQuotes)) {\n return quote + result + quote;\n }\n\n str = result;\n result = quote;\n\n for (const ch of str) {\n const code = ch.charCodeAt();\n if ((code === 0x27 /* ' */ && single) || (code === 0x22 /* \" */ && !single)) {\n result += '\\\\';\n }\n result += String.fromCharCode(code);\n }\n\n return result + quote;\n }\n\n /**\n * flatten an array to a string, where the array can contain\n * either strings or nested arrays\n */\n function flattenToString(arr) {\n let result = '';\n for (const elem of arr) {\n result += Array.isArray(elem) ? flattenToString(elem) : elem;\n }\n return result;\n }\n\n /**\n * convert generated to a SourceNode when source maps are enabled.\n */\n function toSourceNodeWhenNeeded(generated, node) {\n if (!sourceMap) {\n // with no source maps, generated is either an\n // array or a string. if an array, flatten it.\n // if a string, just return it\n if (Array.isArray(generated)) {\n return flattenToString(generated);\n } else {\n return generated;\n }\n }\n if (node == null) {\n if (generated instanceof SourceNode) {\n return generated;\n } else {\n node = {};\n }\n }\n if (node.loc == null) {\n return new SourceNode(null, null, sourceMap, generated, node.name || null);\n }\n return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null);\n }\n\n function noEmptySpace() {\n return (space) ? space : ' ';\n }\n\n function join(left, right) {\n const leftSource = toSourceNodeWhenNeeded(left).toString();\n if (leftSource.length === 0) {\n return [right];\n }\n\n const rightSource = toSourceNodeWhenNeeded(right).toString();\n if (rightSource.length === 0) {\n return [left];\n }\n\n const leftCharCode = leftSource.charCodeAt(leftSource.length - 1);\n const rightCharCode = rightSource.charCodeAt(0);\n\n if ((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode ||\n esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) ||\n leftCharCode === 0x2F /* / */ && rightCharCode === 0x69 /* i */) { // infix word operators all start with `i`\n return [left, noEmptySpace(), right];\n } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) ||\n esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {\n return [left, right];\n }\n return [left, space, right];\n }\n\n function addIndent(stmt) {\n return [base, stmt];\n }\n\n function withIndent(fn) {\n const previousBase = base;\n base += indent;\n fn(base);\n base = previousBase;\n }\n\n function calculateSpaces(str) {\n let i;\n for (i = str.length - 1; i >= 0; --i) {\n if (esutils.code.isLineTerminator(str.charCodeAt(i))) {\n break;\n }\n }\n return (str.length - 1) - i;\n }\n\n function adjustMultilineComment(value, specialBase) {\n const array = value.split(/\\r\\n|[\\r\\n]/);\n let spaces = Number.MAX_VALUE;\n\n // first line doesn't have indentation\n for (let i = 1, len = array.length; i < len; ++i) {\n const line = array[i];\n let j = 0;\n while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {\n ++j;\n }\n if (spaces > j) {\n spaces = j;\n }\n }\n\n let previousBase;\n if (typeof specialBase !== 'undefined') {\n // pattern like\n // {\n // var t = 20; /*\n // * this is comment\n // */\n // }\n previousBase = base;\n if (array[1][spaces] === '*') {\n specialBase += ' ';\n }\n base = specialBase;\n } else {\n if (spaces & 1) {\n // /*\n // *\n // */\n // If spaces are odd number, above pattern is considered.\n // We waste 1 space.\n --spaces;\n }\n previousBase = base;\n }\n\n for (let i = 1, len = array.length; i < len; ++i) {\n const sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));\n array[i] = sourceMap ? sn.join('') : sn;\n }\n\n base = previousBase;\n\n return array.join('\\n');\n }\n\n function generateComment(comment, specialBase) {\n if (comment.type === 'Line') {\n if (endsWithLineTerminator(comment.value)) {\n return `//${comment.value}`;\n } else {\n // Always use LineTerminator\n let result = `//${comment.value}`;\n if (!preserveBlankLines) {\n result += '\\n';\n }\n return result;\n }\n }\n if (extra.format.indent.adjustMultilineComment && /[\\n\\r]/.test(comment.value)) {\n return adjustMultilineComment(`/*${comment.value}*/`, specialBase);\n }\n return `/*${comment.value}*/`;\n }\n\n function addComments(stmt, result) {\n if (stmt.leadingComments && stmt.leadingComments.length > 0) {\n const save = result;\n\n if (preserveBlankLines) {\n const [comment] = stmt.leadingComments;\n result = [];\n\n const extRange = comment.extendedRange;\n let { range } = comment;\n\n const prefix = sourceCode.substring(extRange[0], range[0]);\n let count = (prefix.match(/\\n/g) || []).length;\n if (count > 0) {\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n } else {\n result.push(prefix);\n result.push(generateComment(comment));\n }\n\n let prevRange = range;\n\n for (let i = 1, len = stmt.leadingComments.length; i < len; i++) {\n const comment = stmt.leadingComments[i];\n ({ range } = comment);\n\n const infix = sourceCode.substring(prevRange[1], range[0]);\n const count = (infix.match(/\\n/g) || []).length;\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n\n prevRange = range;\n }\n\n const suffix = sourceCode.substring(range[1], extRange[1]);\n count = (suffix.match(/\\n/g) || []).length;\n result.push(stringRepeat('\\n', count));\n } else {\n const [comment] = stmt.leadingComments;\n result = [];\n if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {\n result.push('\\n');\n }\n result.push(generateComment(comment));\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push('\\n');\n }\n\n for (let i = 1, len = stmt.leadingComments.length; i < len; ++i) {\n const comment = stmt.leadingComments[i];\n const fragment = [generateComment(comment)];\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n fragment.push('\\n');\n }\n result.push(addIndent(fragment));\n }\n }\n\n result.push(addIndent(save));\n }\n\n if (stmt.trailingComments) {\n\n if (preserveBlankLines) {\n const [comment] = stmt.trailingComments;\n const extRange = comment.extendedRange;\n const { range } = comment;\n\n const prefix = sourceCode.substring(extRange[0], range[0]);\n const count = (prefix.match(/\\n/g) || []).length;\n\n if (count > 0) {\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n } else {\n result.push(prefix);\n result.push(generateComment(comment));\n }\n } else {\n const tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());\n const specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));\n for (let i = 0, len = stmt.trailingComments.length; i < len; ++i) {\n const comment = stmt.trailingComments[i];\n if (tailingToStatement) {\n // We assume target like following script\n //\n // var t = 20; /**\n // * This is comment of t\n // */\n if (i === 0) {\n // first case\n result = [result, indent];\n } else {\n result = [result, specialBase];\n }\n result.push(generateComment(comment, specialBase));\n } else {\n result = [result, addIndent(generateComment(comment))];\n }\n if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result = [result, '\\n'];\n }\n }\n }\n }\n\n return result;\n }\n\n function generateBlankLines(start, end, result) {\n let newlineCount = 0;\n\n for (let j = start; j < end; j++) {\n if (sourceCode[j] === '\\n') {\n newlineCount++;\n }\n }\n\n for (let j = 1; j < newlineCount; j++) {\n result.push(newline);\n }\n }\n\n function parenthesize(text, current, should) {\n if (current < should) {\n return ['(', text, ')'];\n }\n return text;\n }\n\n function generateVerbatimString(string) {\n const result = string.split(/\\r\\n|\\n/);\n for (let i = 1, iz = result.length; i < iz; i++) {\n result[i] = newline + base + result[i];\n }\n return result;\n }\n\n function generateVerbatim(expr, precedence) {\n const verbatim = expr[extra.verbatim];\n\n let result;\n if (typeof verbatim === 'string') {\n result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence);\n } else {\n // verbatim is object\n result = generateVerbatimString(verbatim.content);\n const prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence;\n result = parenthesize(result, prec, precedence);\n }\n\n return toSourceNodeWhenNeeded(result, expr);\n }\n\n function generateIdentifier(node) {\n return toSourceNodeWhenNeeded(node.name, node);\n }\n\n function generateAsyncPrefix(node, spaceRequired) {\n return node.async ? `async${spaceRequired ? noEmptySpace() : space}` : '';\n }\n\n function generateStarSuffix(node) {\n const isGenerator = node.generator && !extra.moz.starlessGenerator;\n return isGenerator ? `*${space}` : '';\n }\n\n function generateMethodPrefix(prop) {\n const func = prop.value;\n let prefix = '';\n if (func.async) {\n prefix += generateAsyncPrefix(func, !prop.computed);\n }\n if (func.generator) {\n // avoid space before method name\n prefix += generateStarSuffix(func) ? '*' : '';\n }\n return prefix;\n }\n\n class CodeGenerator {\n // Helpers.\n\n maybeBlock (stmt, flags) {\n const that = this;\n\n const noLeadingComment = !extra.comment || !stmt.leadingComments;\n\n if (stmt.type === Syntax.BlockStatement && noLeadingComment) {\n return [space, this.generateStatement(stmt, flags)];\n }\n\n if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {\n return ';';\n }\n\n let result;\n withIndent(function () {\n result = [\n newline,\n addIndent(that.generateStatement(stmt, flags))\n ];\n });\n\n return result;\n }\n\n maybeBlockSuffix (stmt, result) {\n const ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());\n if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {\n return [result, space];\n }\n if (ends) {\n return [result, base];\n }\n return [result, newline, base];\n }\n\n generatePattern (node, precedence, flags) {\n if (node.type === Syntax.Identifier) {\n return generateIdentifier(node);\n }\n return this.generateExpression(node, precedence, flags);\n }\n\n generateFunctionParams (node) {\n let result;\n let hasDefault = false;\n\n if (node.type === Syntax.ArrowFunctionExpression &&\n !node.rest && (!node.defaults || node.defaults.length === 0) &&\n node.params.length === 1 && node.params[0].type === Syntax.Identifier) {\n // arg => { } case\n result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])];\n } else {\n result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : [];\n result.push('(');\n if (node.defaults) {\n hasDefault = true;\n }\n for (let i = 0, iz = node.params.length; i < iz; ++i) {\n if (hasDefault && node.defaults[i]) {\n // Handle default values.\n result.push(this.generateAssignment(node.params[i], node.defaults[i], '=', Precedence.Assignment, E_TTT));\n } else {\n result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT));\n }\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n\n if (node.rest) {\n if (node.params.length) {\n result.push(`,${space}`);\n }\n result.push('...');\n result.push(generateIdentifier(node.rest));\n }\n\n result.push(')');\n }\n\n return result;\n }\n\n generateFunctionBody (node) {\n const result = this.generateFunctionParams(node);\n\n if (node.type === Syntax.ArrowFunctionExpression) {\n result.push(space);\n result.push('=>');\n }\n\n if (node.expression) {\n result.push(space);\n let expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT);\n if (expr.toString().charAt(0) === '{') {\n expr = ['(', expr, ')'];\n }\n result.push(expr);\n } else {\n result.push(this.maybeBlock(node.body, S_TTFF));\n }\n\n return result;\n }\n\n generateIterationForStatement (operator, stmt, flags) {\n const that = this;\n let result = [`for${stmt.await ? `${noEmptySpace()}await` : ''}${space}(`];\n withIndent(function () {\n if (stmt.left.type === Syntax.VariableDeclaration) {\n withIndent(function () {\n result.push(stmt.left.kind + noEmptySpace());\n result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF));\n });\n } else {\n result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));\n }\n\n result = join(result, operator);\n result = [join(\n result,\n that.generateExpression(stmt.right, Precedence.Assignment, E_TTT)\n ), ')'];\n });\n result.push(this.maybeBlock(stmt.body, flags));\n return result;\n }\n\n generatePropertyKey (expr, computed) {\n const result = [];\n\n if (computed) {\n result.push('[');\n }\n\n result.push(this.generateExpression(expr, Precedence.Sequence, E_TTT));\n\n if (computed) {\n result.push(']');\n }\n\n return result;\n }\n\n generateAssignment (left, right, operator, precedence, flags) {\n if (Precedence.Assignment < precedence) {\n flags |= F_ALLOW_IN;\n }\n\n return parenthesize(\n [\n this.generateExpression(left, Precedence.Call, flags),\n space + operator + space,\n this.generateExpression(right, Precedence.Assignment, flags)\n ],\n Precedence.Assignment,\n precedence\n );\n }\n\n semicolon (flags) {\n if (!semicolons && flags & F_SEMICOLON_OPT) {\n return '';\n }\n return ';';\n }\n\n generateExpression (expr, precedence, flags) {\n const type = expr.type || Syntax.Property;\n\n if (extra.verbatim && Object.hasOwnProperty.call(expr, extra.verbatim)) {\n return generateVerbatim(expr, precedence);\n }\n\n let result = this[type](expr, precedence, flags);\n\n if (extra.comment) {\n result = addComments(expr, result);\n }\n return toSourceNodeWhenNeeded(result, expr);\n }\n\n generateStatement (stmt, flags) {\n let result = this[stmt.type](stmt, flags);\n\n // Attach comments\n\n if (extra.comment) {\n result = addComments(stmt, result);\n }\n\n const fragment = toSourceNodeWhenNeeded(result).toString();\n if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' && fragment.charAt(fragment.length - 1) === '\\n') {\n result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\\s+$/, '') : fragment.replace(/\\s+$/, '');\n }\n\n return toSourceNodeWhenNeeded(result, stmt);\n }\n }\n\n // Statements.\n\n CodeGenerator.Statement = {\n\n BlockStatement (stmt, flags) {\n const that = this;\n let result = ['{', newline];\n\n withIndent(function () {\n // handle functions without any code\n if (stmt.body.length === 0 && preserveBlankLines) {\n const { range } = stmt;\n if (range[1] - range[0] > 2) {\n const content = sourceCode.substring(range[0] + 1, range[1] - 1);\n if (content[0] === '\\n') {\n result = ['{'];\n }\n result.push(content);\n }\n }\n\n let bodyFlags = S_TFFF;\n if (flags & F_FUNC_BODY) {\n bodyFlags |= F_DIRECTIVE_CTX;\n }\n\n for (let i = 0, iz = stmt.body.length; i < iz; ++i) {\n if (preserveBlankLines) {\n // handle spaces before the first line\n if (i === 0) {\n if (stmt.body[0].leadingComments) {\n const range = stmt.body[0].leadingComments[0].extendedRange;\n const content = sourceCode.substring(range[0], range[1]);\n if (content[0] === '\\n') {\n result = ['{'];\n }\n }\n if (!stmt.body[0].leadingComments) {\n generateBlankLines(stmt.range[0], stmt.body[0].range[0], result);\n }\n }\n\n // handle spaces between lines\n if (i > 0) {\n if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {\n generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);\n }\n }\n }\n\n if (i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n\n let fragment;\n if (stmt.body[i].leadingComments && preserveBlankLines) {\n fragment = that.generateStatement(stmt.body[i], bodyFlags);\n } else {\n fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags));\n }\n\n result.push(fragment);\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n if (preserveBlankLines && i < iz - 1) {\n // don't add a new line if there are leading coments\n // in the next statement\n if (!stmt.body[i + 1].leadingComments) {\n result.push(newline);\n }\n } else {\n result.push(newline);\n }\n }\n\n if (preserveBlankLines) {\n // handle spaces after the last line\n if (i === iz - 1) {\n if (!stmt.body[i].trailingComments) {\n generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);\n }\n }\n }\n }\n });\n\n result.push(addIndent('}'));\n return result;\n },\n\n BreakStatement (stmt, flags) {\n if (stmt.label) {\n return `break ${stmt.label.name}${this.semicolon(flags)}`;\n }\n return `break${this.semicolon(flags)}`;\n },\n\n ContinueStatement (stmt, flags) {\n if (stmt.label) {\n return `continue ${stmt.label.name}${this.semicolon(flags)}`;\n }\n return `continue${this.semicolon(flags)}`;\n },\n\n ClassBody (stmt, flags) {\n const result = [ '{', newline], that = this;\n\n withIndent(function (indent) {\n for (let i = 0, iz = stmt.body.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(newline);\n }\n }\n });\n\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base);\n result.push('}');\n return result;\n },\n\n ClassDeclaration (stmt, flags) {\n let result = ['class'];\n if (stmt.id) {\n result = join(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));\n }\n if (stmt.superClass) {\n const fragment = join('extends', this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));\n result = join(result, fragment);\n }\n result.push(space);\n result.push(this.generateStatement(stmt.body, S_TFFT));\n return result;\n },\n\n DirectiveStatement (stmt, flags) {\n if (extra.raw && stmt.raw) {\n return stmt.raw + this.semicolon(flags);\n }\n return escapeDirective(stmt.directive) + this.semicolon(flags);\n },\n\n DoWhileStatement (stmt, flags) {\n // Because `do 42 while (cond)` is Syntax Error. We need semicolon.\n let result = join('do', this.maybeBlock(stmt.body, S_TFFF));\n result = this.maybeBlockSuffix(stmt.body, result);\n return join(result, [\n `while${space}(`,\n this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n `)${this.semicolon(flags)}`\n ]);\n },\n\n CatchClause (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n if (stmt.param) {\n result = [\n `catch${space}(`,\n that.generateExpression(stmt.param, Precedence.Sequence, E_TTT),\n ')'\n ];\n\n if (stmt.guard) {\n const guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT);\n result.splice(2, 0, ' if ', guard);\n }\n } else {\n result = ['catch'];\n }\n });\n result.push(this.maybeBlock(stmt.body, S_TFFF));\n return result;\n },\n\n DebuggerStatement (stmt, flags) {\n return `debugger${this.semicolon(flags)}`;\n },\n\n EmptyStatement (stmt, flags) {\n return ';';\n },\n\n ExportDefaultDeclaration (stmt, flags) {\n let result = [ 'export' ];\n\n const bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;\n\n // export default HoistableDeclaration[Default]\n // export default AssignmentExpression[In] ;\n result = join(result, 'default');\n if (isStatement(stmt.declaration)) {\n result = join(result, this.generateStatement(stmt.declaration, bodyFlags));\n } else {\n result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));\n }\n return result;\n },\n\n ExportNamedDeclaration (stmt, flags) {\n const that = this;\n let result = [ 'export' ];\n\n const bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;\n\n // export VariableStatement\n // export Declaration[Default]\n if (stmt.declaration) {\n return join(result, this.generateStatement(stmt.declaration, bodyFlags));\n }\n\n // export ExportClause[NoReference] FromClause ;\n // export ExportClause ;\n if (stmt.specifiers) {\n if (stmt.specifiers.length === 0) {\n result = join(result, `{${space}}`);\n } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {\n result = join(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));\n } else {\n result = join(result, '{');\n withIndent(function (indent) {\n result.push(newline);\n for (let i = 0, iz = stmt.specifiers.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${newline}`);\n }\n }\n });\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(`${base}}`);\n }\n\n if (stmt.source) {\n result = join(result, [\n `from${space}`,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ]);\n } else {\n result.push(this.semicolon(flags));\n }\n }\n return result;\n },\n\n ExportAllDeclaration (stmt, flags) {\n // export * FromClause ;\n return [\n `export${space}`,\n `*${space}`,\n `from${space}`,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ];\n },\n\n ExpressionStatement (stmt, flags) {\n function isClassPrefixed(fragment) {\n if (fragment.slice(0, 5) !== 'class') {\n return false;\n }\n const code = fragment.charCodeAt(5);\n return code === 0x7B /* '{' */ || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code);\n }\n\n function isFunctionPrefixed(fragment) {\n if (fragment.slice(0, 8) !== 'function') {\n return false;\n }\n const code = fragment.charCodeAt(8);\n return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code);\n }\n\n function isAsyncPrefixed(fragment) {\n if (fragment.slice(0, 5) !== 'async') {\n return false;\n }\n if (!esutils.code.isWhiteSpace(fragment.charCodeAt(5))) {\n return false;\n }\n let i, iz;\n for (i = 6, iz = fragment.length; i < iz; ++i) {\n if (!esutils.code.isWhiteSpace(fragment.charCodeAt(i))) {\n break;\n }\n }\n if (i === iz) {\n return false;\n }\n if (fragment.slice(i, i + 8) !== 'function') {\n return false;\n }\n const code = fragment.charCodeAt(i + 8);\n return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code);\n }\n\n let result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)];\n // 12.4 '{', 'function', 'class' is not allowed in this position.\n // wrap expression with parentheses\n const fragment = toSourceNodeWhenNeeded(result).toString();\n if (fragment.charCodeAt(0) === 0x7B /* '{' */ || // ObjectExpression\n isClassPrefixed(fragment) ||\n isFunctionPrefixed(fragment) ||\n isAsyncPrefixed(fragment) ||\n (directive && (flags & F_DIRECTIVE_CTX) && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) {\n result = ['(', result, `)${this.semicolon(flags)}`];\n } else {\n result.push(this.semicolon(flags));\n }\n return result;\n },\n\n ImportDeclaration (stmt, flags) {\n // ES6: 15.2.1 valid import declarations:\n // - import ImportClause FromClause ;\n // - import ModuleSpecifier ;\n const that = this;\n\n // If no ImportClause is present,\n // this should be `import ModuleSpecifier` so skip `from`\n // ModuleSpecifier is StringLiteral.\n if (stmt.specifiers.length === 0) {\n // import ModuleSpecifier ;\n return [\n 'import',\n space,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ];\n }\n\n // import ImportClause FromClause ;\n let result = [\n 'import'\n ];\n let cursor = 0;\n\n // ImportedBinding\n if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {\n result = join(result, [\n this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)\n ]);\n ++cursor;\n }\n\n if (stmt.specifiers[cursor]) {\n if (cursor !== 0) {\n result.push(',');\n }\n\n if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {\n // NameSpaceImport\n result = join(result, [\n space,\n this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)\n ]);\n } else {\n // NamedImports\n result.push(`${space}{`);\n\n if ((stmt.specifiers.length - cursor) === 1) {\n // import { ... } from \"...\";\n result.push(space);\n result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT));\n result.push(`${space}}${space}`);\n } else {\n // import {\n // ...,\n // ...,\n // } from \"...\";\n withIndent(function (indent) {\n result.push(newline);\n for (let i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${newline}`);\n }\n }\n });\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(`${base}}${space}`);\n }\n }\n }\n\n result = join(result, [\n `from${space}`,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ]);\n return result;\n },\n\n VariableDeclarator (stmt, flags) {\n const itemFlags = (flags & F_ALLOW_IN) ? E_TTT : E_FTT;\n if (stmt.init) {\n return [\n this.generateExpression(stmt.id, Precedence.Assignment, itemFlags),\n space,\n '=',\n space,\n this.generateExpression(stmt.init, Precedence.Assignment, itemFlags)\n ];\n }\n return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags);\n },\n\n VariableDeclaration (stmt, flags) {\n // VariableDeclarator is typed as Statement,\n // but joined with comma (not LineTerminator).\n // So if comment is attached to target node, we should specialize.\n const that = this;\n\n const result = [ stmt.kind ];\n\n const bodyFlags = (flags & F_ALLOW_IN) ? S_TFFF : S_FFFF;\n\n function block() {\n const [node] = stmt.declarations;\n if (extra.comment && node.leadingComments) {\n result.push('\\n');\n result.push(addIndent(that.generateStatement(node, bodyFlags)));\n } else {\n result.push(noEmptySpace());\n result.push(that.generateStatement(node, bodyFlags));\n }\n\n for (let i = 1, iz = stmt.declarations.length; i < iz; ++i) {\n const node = stmt.declarations[i];\n if (extra.comment && node.leadingComments) {\n result.push(`,${newline}`);\n result.push(addIndent(that.generateStatement(node, bodyFlags)));\n } else {\n result.push(`,${space}`);\n result.push(that.generateStatement(node, bodyFlags));\n }\n }\n }\n\n if (stmt.declarations.length > 1) {\n withIndent(block);\n } else {\n block();\n }\n\n result.push(this.semicolon(flags));\n\n return result;\n },\n\n ThrowStatement (stmt, flags) {\n return [join(\n 'throw',\n this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)\n ), this.semicolon(flags)];\n },\n\n TryStatement (stmt, flags) {\n let result = ['try', this.maybeBlock(stmt.block, S_TFFF)];\n result = this.maybeBlockSuffix(stmt.block, result);\n\n if (stmt.handlers) {\n // old interface\n for (let i = 0, iz = stmt.handlers.length; i < iz; ++i) {\n result = join(result, this.generateStatement(stmt.handlers[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(stmt.handlers[i].body, result);\n }\n }\n } else {\n const guardedHandlers = stmt.guardedHandlers || [];\n\n for (let i = 0, iz = guardedHandlers.length; i < iz; ++i) {\n result = join(result, this.generateStatement(guardedHandlers[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(guardedHandlers[i].body, result);\n }\n }\n\n // new interface\n if (stmt.handler) {\n if (Array.isArray(stmt.handler)) {\n for (let i = 0, iz = stmt.handler.length; i < iz; ++i) {\n result = join(result, this.generateStatement(stmt.handler[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(stmt.handler[i].body, result);\n }\n }\n } else {\n result = join(result, this.generateStatement(stmt.handler, S_TFFF));\n if (stmt.finalizer) {\n result = this.maybeBlockSuffix(stmt.handler.body, result);\n }\n }\n }\n }\n if (stmt.finalizer) {\n result = join(result, ['finally', this.maybeBlock(stmt.finalizer, S_TFFF)]);\n }\n return result;\n },\n\n SwitchStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `switch${space}(`,\n that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT),\n `)${space}{${newline}`\n ];\n });\n if (stmt.cases) {\n let bodyFlags = S_TFFF;\n for (let i = 0, iz = stmt.cases.length; i < iz; ++i) {\n if (i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n const fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags));\n result.push(fragment);\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n result.push(newline);\n }\n }\n }\n result.push(addIndent('}'));\n return result;\n },\n\n SwitchCase (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n if (stmt.test) {\n result = [\n join('case', that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),\n ':'\n ];\n } else {\n result = ['default:'];\n }\n\n let i = 0;\n const iz = stmt.consequent.length;\n if (iz && stmt.consequent[0].type === Syntax.BlockStatement) {\n const fragment = that.maybeBlock(stmt.consequent[0], S_TFFF);\n result.push(fragment);\n i = 1;\n }\n\n if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n\n let bodyFlags = S_TFFF;\n for (; i < iz; ++i) {\n if (i === iz - 1 && flags & F_SEMICOLON_OPT) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n const fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags));\n result.push(fragment);\n if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n result.push(newline);\n }\n }\n });\n return result;\n },\n\n IfStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `if${space}(`,\n that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n const semicolonOptional = flags & F_SEMICOLON_OPT;\n let bodyFlags = S_TFFF;\n if (semicolonOptional) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n if (stmt.alternate) {\n result.push(this.maybeBlock(stmt.consequent, S_TFFF));\n result = this.maybeBlockSuffix(stmt.consequent, result);\n if (stmt.alternate.type === Syntax.IfStatement) {\n result = join(result, ['else ', this.generateStatement(stmt.alternate, bodyFlags)]);\n } else {\n result = join(result, join('else', this.maybeBlock(stmt.alternate, bodyFlags)));\n }\n } else {\n result.push(this.maybeBlock(stmt.consequent, bodyFlags));\n }\n return result;\n },\n\n ForStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [`for${space}(`];\n if (stmt.init) {\n if (stmt.init.type === Syntax.VariableDeclaration) {\n result.push(that.generateStatement(stmt.init, S_FFFF));\n } else {\n // F_ALLOW_IN becomes false.\n result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT));\n result.push(';');\n }\n } else {\n result.push(';');\n }\n\n if (stmt.test) {\n result.push(space);\n result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT));\n result.push(';');\n } else {\n result.push(';');\n }\n\n if (stmt.update) {\n result.push(space);\n result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT));\n result.push(')');\n } else {\n result.push(')');\n }\n });\n\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n },\n\n ForInStatement (stmt, flags) {\n return this.generateIterationForStatement('in', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);\n },\n\n ForOfStatement (stmt, flags) {\n return this.generateIterationForStatement('of', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);\n },\n\n LabeledStatement (stmt, flags) {\n return [`${stmt.label.name}:`, this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)];\n },\n\n Program (stmt, flags) {\n const iz = stmt.body.length;\n const result = [safeConcatenation && iz > 0 ? '\\n' : ''];\n let bodyFlags = S_TFTF;\n for (let i = 0; i < iz; ++i) {\n if (!safeConcatenation && i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n\n if (preserveBlankLines) {\n // handle spaces before the first line\n if (i === 0) {\n if (!stmt.body[0].leadingComments) {\n generateBlankLines(stmt.range[0], stmt.body[i].range[0], result);\n }\n }\n\n // handle spaces between lines\n if (i > 0) {\n if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {\n generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);\n }\n }\n }\n\n const fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags));\n result.push(fragment);\n if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n if (preserveBlankLines) {\n if (!stmt.body[i + 1].leadingComments) {\n result.push(newline);\n }\n } else {\n result.push(newline);\n }\n }\n\n if (preserveBlankLines) {\n // handle spaces after the last line\n if (i === iz - 1) {\n if (!stmt.body[i].trailingComments) {\n generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);\n }\n }\n }\n }\n return result;\n },\n\n FunctionDeclaration (stmt, flags) {\n return [\n generateAsyncPrefix(stmt, true),\n 'function',\n generateStarSuffix(stmt) || noEmptySpace(),\n stmt.id ? generateIdentifier(stmt.id) : '',\n this.generateFunctionBody(stmt)\n ];\n },\n\n ReturnStatement (stmt, flags) {\n if (stmt.argument) {\n return [join(\n 'return',\n this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)\n ), this.semicolon(flags)];\n }\n return [`return${this.semicolon(flags)}`];\n },\n\n WhileStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `while${space}(`,\n that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n },\n\n WithStatement (stmt, flags) {\n const that = this;\n let result;\n withIndent(function () {\n result = [\n `with${space}(`,\n that.generateExpression(stmt.object, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n }\n\n };\n\n merge(CodeGenerator.prototype, CodeGenerator.Statement);\n\n // Expressions.\n\n CodeGenerator.Expression = {\n\n SequenceExpression (expr, precedence, flags) {\n if (Precedence.Sequence < precedence) {\n flags |= F_ALLOW_IN;\n }\n const result = [];\n for (let i = 0, iz = expr.expressions.length; i < iz; ++i) {\n result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags));\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n return parenthesize(result, Precedence.Sequence, precedence);\n },\n\n AssignmentExpression (expr, precedence, flags) {\n return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags);\n },\n\n ArrowFunctionExpression (expr, precedence, flags) {\n return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence);\n },\n\n ConditionalExpression (expr, precedence, flags) {\n if (Precedence.Conditional < precedence) {\n flags |= F_ALLOW_IN;\n }\n return parenthesize(\n [\n this.generateExpression(expr.test, Precedence.LogicalOR, flags),\n `${space}?${space}`,\n this.generateExpression(expr.consequent, Precedence.Assignment, flags),\n `${space}:${space}`,\n this.generateExpression(expr.alternate, Precedence.Assignment, flags)\n ],\n Precedence.Conditional,\n precedence\n );\n },\n\n LogicalExpression (expr, precedence, flags) {\n return this.BinaryExpression(expr, precedence, flags);\n },\n\n BinaryExpression (expr, precedence, flags) {\n const currentPrecedence = BinaryPrecedence[expr.operator];\n const leftPrecedence = expr.operator === '**' ? Precedence.Postfix : currentPrecedence;\n const rightPrecedence = expr.operator === '**' ? currentPrecedence : currentPrecedence + 1;\n\n if (currentPrecedence < precedence) {\n flags |= F_ALLOW_IN;\n }\n\n let fragment = this.generateExpression(expr.left, leftPrecedence, flags);\n\n const leftSource = fragment.toString();\n\n let result;\n if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) {\n result = [fragment, noEmptySpace(), expr.operator];\n } else {\n result = join(fragment, expr.operator);\n }\n\n fragment = this.generateExpression(expr.right, rightPrecedence, flags);\n\n if (expr.operator === '/' && fragment.toString().charAt(0) === '/' ||\n expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') {\n // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start\n result.push(noEmptySpace());\n result.push(fragment);\n } else {\n result = join(result, fragment);\n }\n\n if (expr.operator === 'in' && !(flags & F_ALLOW_IN)) {\n return ['(', result, ')'];\n }\n return parenthesize(result, currentPrecedence, precedence);\n },\n\n CallExpression (expr, precedence, flags) {\n // F_ALLOW_UNPARATH_NEW becomes false.\n const result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)];\n result.push('(');\n for (let i = 0, iz = expr['arguments'].length; i < iz; ++i) {\n result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n result.push(')');\n\n if (!(flags & F_ALLOW_CALL)) {\n return ['(', result, ')'];\n }\n return parenthesize(result, Precedence.Call, precedence);\n },\n\n NewExpression (expr, precedence, flags) {\n const { length } = expr['arguments'];\n\n // F_ALLOW_CALL becomes false.\n // F_ALLOW_UNPARATH_NEW may become false.\n const itemFlags = (flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0) ? E_TFT : E_TFF;\n\n const result = join(\n 'new',\n this.generateExpression(expr.callee, Precedence.New, itemFlags)\n );\n\n if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) {\n result.push('(');\n for (let i = 0, iz = length; i < iz; ++i) {\n result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${space}`);\n }\n }\n result.push(')');\n }\n\n return parenthesize(result, Precedence.New, precedence);\n },\n\n MemberExpression (expr, precedence, flags) {\n // F_ALLOW_UNPARATH_NEW becomes false.\n const result = [this.generateExpression(expr.object, Precedence.Call, (flags & F_ALLOW_CALL) ? E_TTF : E_TFF)];\n\n if (expr.computed) {\n result.push('[');\n result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT));\n result.push(']');\n } else {\n if (expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {\n const fragment = toSourceNodeWhenNeeded(result).toString();\n // When the following conditions are all true,\n // 1. No floating point\n // 2. Don't have exponents\n // 3. The last character is a decimal digit\n // 4. Not hexadecimal OR octal number literal\n // we should add a floating point.\n if (\n fragment.indexOf('.') < 0 &&\n !/[eExX]/.test(fragment) &&\n esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&\n !(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0'\n ) {\n result.push(' ');\n }\n }\n result.push('.');\n result.push(generateIdentifier(expr.property));\n }\n\n return parenthesize(result, Precedence.Member, precedence);\n },\n\n MetaProperty (expr, precedence, flags) {\n const result = [\n typeof expr.meta === 'string' ? expr.meta : generateIdentifier(expr.meta),\n '.',\n typeof expr.property === 'string' ? expr.property : generateIdentifier(expr.property)\n ];\n return parenthesize(result, Precedence.Member, precedence);\n },\n\n UnaryExpression (expr, precedence, flags) {\n const fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);\n\n let result;\n if (space === '') {\n result = join(expr.operator, fragment);\n } else {\n result = [expr.operator];\n if (expr.operator.length > 2) {\n // delete, void, typeof\n // get `typeof []`, not `typeof[]`\n result = join(result, fragment);\n } else {\n // Prevent inserting spaces between operator and argument if it is unnecessary\n // like, `!cond`\n const leftSource = toSourceNodeWhenNeeded(result).toString();\n const leftCharCode = leftSource.charCodeAt(leftSource.length - 1);\n const rightCharCode = fragment.toString().charCodeAt(0);\n\n if (((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode) ||\n (esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode))) {\n result.push(noEmptySpace());\n result.push(fragment);\n } else {\n result.push(fragment);\n }\n }\n }\n return parenthesize(result, Precedence.Unary, precedence);\n },\n\n YieldExpression (expr, precedence, flags) {\n let result;\n if (expr.delegate) {\n result = 'yield*';\n } else {\n result = 'yield';\n }\n if (expr.argument) {\n result = join(\n result,\n this.generateExpression(expr.argument, Precedence.Yield, E_TTT)\n );\n }\n return parenthesize(result, Precedence.Yield, precedence);\n },\n\n AwaitExpression (expr, precedence, flags) {\n const result = join(\n expr.all ? 'await*' : 'await',\n this.generateExpression(expr.argument, Precedence.Await, E_TTT)\n );\n return parenthesize(result, Precedence.Await, precedence);\n },\n\n UpdateExpression (expr, precedence, flags) {\n if (expr.prefix) {\n return parenthesize(\n [\n expr.operator,\n this.generateExpression(expr.argument, Precedence.Unary, E_TTT)\n ],\n Precedence.Unary,\n precedence\n );\n }\n return parenthesize(\n [\n this.generateExpression(expr.argument, Precedence.Postfix, E_TTT),\n expr.operator\n ],\n Precedence.Postfix,\n precedence\n );\n },\n\n FunctionExpression (expr, precedence, flags) {\n const result = [\n generateAsyncPrefix(expr, true),\n 'function'\n ];\n if (expr.id) {\n result.push(generateStarSuffix(expr) || noEmptySpace());\n result.push(generateIdentifier(expr.id));\n } else {\n result.push(generateStarSuffix(expr) || space);\n }\n result.push(this.generateFunctionBody(expr));\n return result;\n },\n\n ArrayPattern (expr, precedence, flags) {\n return this.ArrayExpression(expr, precedence, flags, true);\n },\n\n ArrayExpression (expr, precedence, flags, isPattern) {\n const that = this;\n if (!expr.elements.length) {\n return '[]';\n }\n const multiline = isPattern ? false : expr.elements.length > 1;\n const result = ['[', multiline ? newline : ''];\n withIndent(function (indent) {\n for (let i = 0, iz = expr.elements.length; i < iz; ++i) {\n if (!expr.elements[i]) {\n if (multiline) {\n result.push(indent);\n }\n if (i + 1 === iz) {\n result.push(',');\n }\n } else {\n result.push(multiline ? indent : '');\n result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT));\n }\n if (i + 1 < iz) {\n result.push(`,${multiline ? newline : space}`);\n }\n }\n });\n if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(multiline ? base : '');\n result.push(']');\n return result;\n },\n\n RestElement(expr, precedence, flags) {\n return `...${this.generatePattern(expr.argument)}`;\n },\n\n ClassExpression (expr, precedence, flags) {\n let result = ['class'];\n if (expr.id) {\n result = join(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));\n }\n if (expr.superClass) {\n const fragment = join('extends', this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));\n result = join(result, fragment);\n }\n result.push(space);\n result.push(this.generateStatement(expr.body, S_TFFT));\n return result;\n },\n\n MethodDefinition (expr, precedence, flags) {\n let result;\n if (expr['static']) {\n result = [`static${space}`];\n } else {\n result = [];\n }\n let fragment;\n if (expr.kind === 'get' || expr.kind === 'set') {\n fragment = [\n join(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),\n this.generateFunctionBody(expr.value)\n ];\n } else {\n fragment = [\n generateMethodPrefix(expr),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n return join(result, fragment);\n },\n\n Property (expr, precedence, flags) {\n if (expr.kind === 'get' || expr.kind === 'set') {\n return [\n expr.kind, noEmptySpace(),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n\n if (expr.shorthand) {\n if (expr.value.type === 'AssignmentPattern') {\n return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT);\n }\n return this.generatePropertyKey(expr.key, expr.computed);\n }\n\n if (expr.method) {\n return [\n generateMethodPrefix(expr),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n\n return [\n this.generatePropertyKey(expr.key, expr.computed),\n `:${space}`,\n this.generateExpression(expr.value, Precedence.Assignment, E_TTT)\n ];\n },\n\n ObjectExpression (expr, precedence, flags) {\n const that = this;\n\n if (!expr.properties.length) {\n return '{}';\n }\n const multiline = expr.properties.length > 1;\n\n let fragment;\n withIndent(function () {\n fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT);\n });\n\n if (!multiline) {\n // issues 4\n // Do not transform from\n // dejavu.Class.declare({\n // method2: function () {}\n // });\n // to\n // dejavu.Class.declare({method2: function () {\n // }});\n if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n return [ '{', space, fragment, space, '}' ];\n }\n }\n\n let result;\n withIndent(function (indent) {\n result = [ '{', newline, indent, fragment ];\n\n if (multiline) {\n result.push(`,${newline}`);\n for (let i = 1, iz = expr.properties.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${newline}`);\n }\n }\n }\n });\n\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base);\n result.push('}');\n return result;\n },\n\n AssignmentPattern(expr, precedence, flags) {\n return this.generateAssignment(expr.left, expr.right, '=', precedence, flags);\n },\n\n ObjectPattern (expr, precedence, flags) {\n const that = this;\n if (!expr.properties.length) {\n return '{}';\n }\n\n let multiline = false;\n if (expr.properties.length === 1) {\n const [property] = expr.properties;\n if (property.value.type !== Syntax.Identifier) {\n multiline = true;\n }\n } else {\n for (const property of expr.properties) {\n if (!property.shorthand) {\n multiline = true;\n break;\n }\n }\n }\n const result = ['{', multiline ? newline : '' ];\n\n withIndent(function (indent) {\n for (let i = 0, iz = expr.properties.length; i < iz; ++i) {\n result.push(multiline ? indent : '');\n result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(`,${multiline ? newline : space}`);\n }\n }\n });\n\n if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(multiline ? base : '');\n result.push('}');\n return result;\n },\n\n ThisExpression (expr, precedence, flags) {\n return 'this';\n },\n\n Super (expr, precedence, flags) {\n return 'super';\n },\n\n Identifier (expr, precedence, flags) {\n return generateIdentifier(expr);\n },\n\n ImportDefaultSpecifier (expr, precedence, flags) {\n return generateIdentifier(expr.id || expr.local);\n },\n\n ImportNamespaceSpecifier (expr, precedence, flags) {\n const result = ['*'];\n const id = expr.id || expr.local;\n if (id) {\n result.push(`${space}as${noEmptySpace()}${generateIdentifier(id)}`);\n }\n return result;\n },\n\n ImportSpecifier (expr, precedence, flags) {\n const { imported } = expr;\n const result = [ imported.name ];\n const { local } = expr;\n if (local && local.name !== imported.name) {\n result.push(`${noEmptySpace()}as${noEmptySpace()}${generateIdentifier(local)}`);\n }\n return result;\n },\n\n ExportSpecifier (expr, precedence, flags) {\n const { local } = expr;\n const result = [ local.name ];\n const { exported } = expr;\n if (exported && exported.name !== local.name) {\n result.push(`${noEmptySpace()}as${noEmptySpace()}${generateIdentifier(exported)}`);\n }\n return result;\n },\n\n Literal (expr, precedence, flags) {\n if (Object.hasOwnProperty.call(expr, 'raw') && parse && extra.raw) {\n try {\n const raw = parse(expr.raw).body[0].expression;\n if (raw.type === Syntax.Literal) {\n if (raw.value === expr.value) {\n return expr.raw;\n }\n }\n } catch (e) {\n // not use raw property\n }\n }\n\n if (expr.regex) {\n return `/${expr.regex.pattern}/${expr.regex.flags}`;\n }\n\n if (expr.value === null) {\n return 'null';\n }\n\n if (typeof expr.value === 'string') {\n return escapeString(expr.value);\n }\n\n if (typeof expr.value === 'number') {\n return generateNumber(expr.value);\n }\n\n if (typeof expr.value === 'boolean') {\n return expr.value ? 'true' : 'false';\n }\n\n return generateRegExp(expr.value);\n },\n\n GeneratorExpression (expr, precedence, flags) {\n return this.ComprehensionExpression(expr, precedence, flags);\n },\n\n ComprehensionExpression (expr, precedence, flags) {\n // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]\n // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6\n\n const that = this;\n let result = (expr.type === Syntax.GeneratorExpression) ? ['('] : ['['];\n\n let fragment;\n if (extra.moz.comprehensionExpressionStartsWithAssignment) {\n fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);\n result.push(fragment);\n }\n\n if (expr.blocks) {\n withIndent(function () {\n for (let i = 0, iz = expr.blocks.length; i < iz; ++i) {\n fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);\n if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {\n result = join(result, fragment);\n } else {\n result.push(fragment);\n }\n }\n });\n }\n\n if (expr.filter) {\n result = join(result, `if${space}`);\n fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);\n result = join(result, [ '(', fragment, ')' ]);\n }\n\n if (!extra.moz.comprehensionExpressionStartsWithAssignment) {\n fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);\n\n result = join(result, fragment);\n }\n\n result.push((expr.type === Syntax.GeneratorExpression) ? ')' : ']');\n return result;\n },\n\n ComprehensionBlock (expr, precedence, flags) {\n let fragment;\n if (expr.left.type === Syntax.VariableDeclaration) {\n fragment = [\n expr.left.kind, noEmptySpace(),\n this.generateStatement(expr.left.declarations[0], S_FFFF)\n ];\n } else {\n fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);\n }\n\n fragment = join(fragment, expr.of ? 'of' : 'in');\n fragment = join(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));\n\n return [ `for${space}(`, fragment, ')' ];\n },\n\n SpreadElement (expr, precedence, flags) {\n return [\n '...',\n this.generateExpression(expr.argument, Precedence.Assignment, E_TTT)\n ];\n },\n\n TaggedTemplateExpression (expr, precedence, flags) {\n let itemFlags = E_TTF;\n if (!(flags & F_ALLOW_CALL)) {\n itemFlags = E_TFF;\n }\n const result = [\n this.generateExpression(expr.tag, Precedence.Call, itemFlags),\n this.generateExpression(expr.quasi, Precedence.Primary, E_FFT)\n ];\n return parenthesize(result, Precedence.TaggedTemplate, precedence);\n },\n\n TemplateElement (expr, precedence, flags) {\n // Don't use \"cooked\". Since tagged template can use raw template\n // representation. So if we do so, it breaks the script semantics.\n return expr.value.raw;\n },\n\n TemplateLiteral (expr, precedence, flags) {\n const result = [ '`' ];\n for (let i = 0, iz = expr.quasis.length; i < iz; ++i) {\n result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT));\n if (i + 1 < iz) {\n result.push(`\\${${space}`);\n result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT));\n result.push(`${space}}`);\n }\n }\n result.push('`');\n return result;\n },\n\n ModuleSpecifier (expr, precedence, flags) {\n return this.Literal(expr, precedence, flags);\n },\n\n ImportExpression(expr, precedence, flag) {\n return parenthesize([\n 'import(',\n this.generateExpression(expr.source, Precedence.Assignment, E_TTT),\n ')'\n ], Precedence.Call, precedence);\n },\n\n };\n\n merge(CodeGenerator.prototype, CodeGenerator.Expression);\n\n function generateInternal(node) {\n const codegen = new CodeGenerator();\n if (isStatement(node)) {\n return codegen.generateStatement(node, S_TFFF);\n }\n\n if (isExpression(node)) {\n return codegen.generateExpression(node, Precedence.Sequence, E_TTT);\n }\n\n throw new Error(`Unknown node type: ${node.type}`);\n }\n\n function generate(node, options) {\n const defaultOptions = getDefaultOptions();\n if (options != null) {\n // Obsolete options\n //\n // `options.indent`\n // `options.base`\n //\n // Instead of them, we can use `option.format.indent`.\n if (typeof options.indent === 'string') {\n defaultOptions.format.indent.style = options.indent;\n }\n if (typeof options.base === 'number') {\n defaultOptions.format.indent.base = options.base;\n }\n options = updateDeeply(defaultOptions, options);\n indent = options.format.indent.style;\n if (typeof options.base === 'string') {\n ({ base } = options);\n } else {\n base = stringRepeat(indent, options.format.indent.base);\n }\n } else {\n options = defaultOptions;\n indent = options.format.indent.style;\n base = stringRepeat(indent, options.format.indent.base);\n }\n ({\n json, renumber, escapeless, newline,\n space, parentheses, semicolons, safeConcatenation\n } = options.format);\n hexadecimal = json ? false : options.format.hexadecimal;\n quotes = json ? 'double' : options.format.quotes;\n if (options.format.compact) {\n newline = space = indent = base = '';\n }\n ({ directive, sourceMap, sourceCode } = options);\n parse = json ? null : options.parse;\n preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null;\n extra = options;\n\n if (sourceMap) {\n if (!exports.browser) {\n // We assume environment is node.js\n // And prevent from including source-map by browserify\n ({ SourceNode } = require('source-map'));\n } else {\n ({ SourceNode } = global.sourceMap);\n }\n }\n\n const result = generateInternal(node);\n\n let pair;\n\n if (!sourceMap) {\n pair = { code: result.toString(), map: null };\n return options.sourceMapWithCode ? pair : pair.code;\n }\n\n\n pair = result.toStringWithSourceMap({\n file: options.file,\n sourceRoot: options.sourceMapRoot\n });\n\n if (options.sourceContent) {\n pair.map.setSourceContent(options.sourceMap,\n options.sourceContent);\n }\n\n if (options.sourceMapWithCode) {\n return pair;\n }\n\n return pair.map.toString();\n }\n\n const FORMAT_MINIFY = {\n indent: {\n style: '',\n base: 0\n },\n renumber: true,\n hexadecimal: true,\n quotes: 'auto',\n escapeless: true,\n compact: true,\n parentheses: false,\n semicolons: false\n };\n\n const FORMAT_DEFAULTS = getDefaultOptions().format;\n\n exports.version = require('./package.json').version;\n exports.generate = generate;\n exports.attachComments = estraverse.attachComments;\n exports.Precedence = updateDeeply({}, Precedence);\n exports.browser = false;\n exports.FORMAT_MINIFY = FORMAT_MINIFY;\n exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS;\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n"]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0bd211c6..77714718 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,11 +5,12 @@ "requires": true, "packages": { "": { + "name": "escodegen", "version": "2.0.0", "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", - "estraverse": "^5.2.0", + "estraverse": "^5.3.0", "esutils": "^2.0.3", "optionator": "^0.9.1" }, @@ -18,13 +19,18 @@ "esgenerate": "bin/esgenerate.js" }, "devDependencies": { - "acorn": "^8.0.5", - "browserify": "^17.0.0", - "chai": "^4.3.0", - "chai-exclude": "^2.0.2", - "eslint": "^7.20.0", - "mocha": "^8.3.0", - "uglifyify": "^5.0.2" + "@rollup/plugin-commonjs": "^21.0.2", + "@rollup/plugin-node-resolve": "^13.1.3", + "acorn": "^8.7.0", + "babel-plugin-transform-es2017-object-entries": "0.0.5", + "c8": "^7.11.0", + "chai": "^4.3.6", + "chai-exclude": "^2.1.0", + "eslint": "^8.10.0", + "mocha": "^9.2.1", + "rollup": "^2.70.0", + "rollup-plugin-terser": "^7.0.2", + "source-map": "~0.7.3" }, "engines": { "node": ">=6.0" @@ -34,95 +40,228 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.16.7", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true + "version": "7.16.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "version": "7.16.10", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "version": "1.2.0", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" }, - "node_modules/acorn": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", - "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.12.1", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, "bin": { - "acorn": "bin/acorn" + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=0.4.0" + "node": ">=10.10.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "21.0.2", "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 8.0.0" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "rollup": "^2.38.3" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "13.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^2.42.0" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "17.0.21", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.17.1", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "@types/node": "*" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.7.0", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -130,20 +269,18 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-walk": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", - "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "node_modules/acorn-jsx": { + "version": "5.3.2", "dev": true, - "engines": { - "node": ">=0.4.0" + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -157,27 +294,24 @@ }, "node_modules/ansi-colors": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -186,10 +320,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -198,410 +331,458 @@ "node": ">= 8" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/assertion-error": { + "version": "1.1.0", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", - "dev": true - }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "node_modules/babel-code-frame": { + "version": "6.26.0", "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", "dev": true, - "dependencies": { - "inherits": "2.0.1" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", "dev": true, + "license": "MIT", "dependencies": { - "array-filter": "^1.0.0" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "node_modules/babel-core": { + "version": "6.26.3", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/babel-core/node_modules/convert-source-map": { + "version": "1.7.0", "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "safe-buffer": "~5.1.1" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/babel-core/node_modules/debug": { + "version": "2.6.9", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "ms": "2.0.0" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", "dev": true, - "dependencies": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - }, + "license": "MIT", "bin": { - "browser-pack": "bin/cmd.js" + "json5": "lib/cli.js" } }, - "node_modules/browser-resolve": { + "node_modules/babel-core/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, - "dependencies": { - "resolve": "^1.17.0" - } + "license": "MIT" }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "node_modules/babel-core/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" }, - "node_modules/browserify": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", - "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", - "dev": true, - "dependencies": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.1", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^3.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.2.1", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "^1.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum-object": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^3.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.12.0", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "browserify": "bin/cmd.js" - }, + "node_modules/babel-core/node_modules/slash": { + "version": "1.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/babel-core/node_modules/source-map": { + "version": "0.5.7", "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/babel-generator": { + "version": "6.26.1", "dev": true, + "license": "MIT", "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "node_modules/babel-generator/node_modules/source-map": { + "version": "0.5.7", "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "node_modules/babel-helpers": { + "version": "6.24.1", "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/babel-messages": { + "version": "6.23.0", "dev": true, + "license": "MIT", "dependencies": { - "pako": "~1.0.5" + "babel-runtime": "^6.22.0" } }, - "node_modules/browserify/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "node_modules/babel-plugin-transform-es2017-object-entries": { + "version": "0.0.5", "dev": true, + "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "babel-core": "^6.20.0" } }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "node_modules/cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", - "dev": true - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/babel-register": { + "version": "6.26.0", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/babel-register/node_modules/source-map": { + "version": "0.5.7", "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==", + "node_modules/babel-register/node_modules/source-map-support": { + "version": "0.4.18", "dev": true, + "license": "MIT", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=8" + "source-map": "^0.5.6" } }, - "node_modules/chai-exclude": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.0.2.tgz", - "integrity": "sha512-QmNVnvdSw8Huccdjm49mKu3HtoHxvjdavgYkY0KPQ5MI5UWfbc9sX1YqRgaMPf2GGtDXPoF2ram3AeNS4945Xw==", + "node_modules/babel-runtime": { + "version": "6.26.0", "dev": true, + "license": "MIT", "dependencies": { - "fclone": "^1.0.11" - }, - "peerDependencies": { - "chai": ">= 4.0.0 < 5" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/babel-template": { + "version": "6.26.0", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "dev": true, + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "dev": true, + "license": "ISC" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8": { + "version": "7.11.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.2", + "find-up": "^5.0.0", + "foreground-child": "^2.0.0", + "istanbul-lib-coverage": "^3.0.1", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.0.2", + "rimraf": "^3.0.0", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^8.0.0", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.7" + }, + "bin": { + "c8": "bin/c8.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/c8/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "4.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-exclude": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fclone": "^1.0.11" + }, + "peerDependencies": { + "chai": ">= 4.0.0 < 5" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { "node": ">=4" @@ -609,49 +790,42 @@ }, "node_modules/check-error": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "fsevents": "~2.3.2" } }, "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -660,39 +834,16 @@ }, "node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", - "dev": true, - "dependencies": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, - "node_modules/combine-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, "node_modules/commander": { "version": "2.20.3", @@ -700,93 +851,26 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "node_modules/commondir": { + "version": "1.0.1", "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } + "license": "MIT" }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/concat-map": { + "version": "0.0.1", "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } + "license": "MIT" }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/core-js": { + "version": "2.6.12", "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } + "hasInstallScript": true, + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -796,39 +880,10 @@ "node": ">= 8" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -843,9 +898,8 @@ }, "node_modules/deep-eql": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, + "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -855,94 +909,39 @@ }, "node_modules/deep-is": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "license": "MIT" }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "node_modules/deepmerge": { + "version": "4.2.2", "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - } - }, - "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "node_modules/deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "dependencies": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - }, - "bin": { - "deps-sort": "bin/cmd.js" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "node": ">=0.10.0" } }, - "node_modules/detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "node_modules/detect-indent": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" - }, - "bin": { - "detective": "bin/detective.js" + "repeating": "^2.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, "node_modules/diff": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -950,162 +949,65 @@ "node": ">=6.0.0" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/escalade": { + "version": "3.1.1", "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=6" } }, - "node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.8.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/eslint": { + "version": "8.10.0", "dev": true, + "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", - "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.3.0", + "@eslint/eslintrc": "^1.2.0", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -1113,72 +1015,61 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.1.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=6" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "2.1.0", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": ">=10" } }, "node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "3.3.0", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1189,11 +1080,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1207,9 +1102,8 @@ }, "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1219,70 +1113,102 @@ }, "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/eslint/node_modules/has-flag": { + "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "node_modules/eslint/node_modules/globals": { + "version": "13.12.1", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "type-fest": "^0.20.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, "bin": { - "acorn": "bin/acorn" + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.3.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -1293,9 +1219,8 @@ }, "node_modules/esquery": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1305,9 +1230,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1316,74 +1240,47 @@ } }, "node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true + "license": "MIT" }, "node_modules/fclone": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz", - "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "version": "6.0.1", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -1393,9 +1290,8 @@ }, "node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -1405,9 +1301,8 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -1421,18 +1316,16 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -1442,29 +1335,31 @@ } }, "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true + "version": "3.2.5", + "dev": true, + "license": "ISC" }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "node_modules/foreground-child": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1475,59 +1370,34 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-func-name": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.0", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1538,13 +1408,15 @@ }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1552,32 +1424,18 @@ "node": ">= 6" } }, - "node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/growl": { "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.x" } }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1585,127 +1443,93 @@ "node": ">= 0.4.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/has-ansi": { + "version": "2.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "node_modules/has-flag": { + "version": "3.0.0", "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "node_modules/home-or-tmp": { + "version": "2.0.0", "dev": true, + "license": "MIT", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", - "dev": true, + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1713,69 +1537,21 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", - "dev": true, - "dependencies": { - "source-map": "~0.5.3" - } - }, - "node_modules/inline-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "bin": { - "insert-module-globals": "bin/cmd.js" - } + "license": "ISC" }, - "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "node_modules/invariant": { + "version": "2.2.4", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "loose-envify": "^1.0.0" } }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -1783,29 +1559,10 @@ "node": ">=8" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-core-module": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -1813,53 +1570,37 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/is-finite": { + "version": "1.1.0", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-generator-function": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", - "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1867,168 +1608,170 @@ "node": ">=0.10.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "node_modules/is-module": { + "version": "1.0.0", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "node_modules/is-reference": { + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - }, + "@types/estree": "*" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "has-symbols": "^1.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", - "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "semver": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "has-flag": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "node_modules/istanbul-reports": { + "version": "3.1.4", "dev": true, - "engines": [ - "node >= 0.2.0" - ] + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": "*" + "node": ">= 10.13.0" } }, - "node_modules/labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -2039,9 +1782,8 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -2053,34 +1795,34 @@ } }, "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true + "version": "4.17.21", + "dev": true, + "license": "MIT" }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", - "dev": true + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" }, "node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2092,10 +1834,9 @@ } }, "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2109,9 +1850,8 @@ }, "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2121,24 +1861,21 @@ }, "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/log-symbols/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2146,59 +1883,43 @@ "node": ">=8" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/loose-envify": { + "version": "1.4.0", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/loupe": { + "version": "2.3.4", "dev": true, + "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "get-func-name": "^2.0.0" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/magic-string": { + "version": "0.25.9", "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "node_modules/minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2208,44 +1929,46 @@ }, "node_modules/minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/mkdirp-classic": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", - "integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g==", - "dev": true + "node_modules/mkdirp": { + "version": "0.5.5", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } }, "node_modules/mocha": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz", - "integrity": "sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==", + "version": "9.2.1", "dev": true, + "license": "MIT", "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", + "chokidar": "3.5.3", + "debug": "4.3.3", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.1.6", + "glob": "7.2.0", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", + "nanoid": "3.2.0", + "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", + "workerpool": "6.2.0", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" @@ -2255,7 +1978,7 @@ "mocha": "bin/mocha" }, "engines": { - "node": ">= 10.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", @@ -2264,15 +1987,13 @@ }, "node_modules/mocha/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2282,18 +2003,16 @@ }, "node_modules/mocha/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/mocha/node_modules/js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2303,15 +2022,13 @@ }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2322,46 +2039,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "dependencies": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "module-deps": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.2.0", "dev": true, + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2371,77 +2057,28 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -2454,17 +2091,26 @@ "node": ">= 0.8.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -2477,9 +2123,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -2490,17 +2135,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -2508,107 +2146,47 @@ "node": ">=6" } }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "dev": true, - "dependencies": { - "path-platform": "~0.11.15" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "dependencies": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "version": "1.0.7", "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "license": "MIT" }, "node_modules/pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "version": "1.1.1", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, - "node_modules/pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -2618,140 +2196,39 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "node_modules/private": { + "version": "0.1.8", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "node": ">= 0.6" } }, "node_modules/punycode": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -2759,11 +2236,15 @@ "node": ">=8.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "dev": true, + "license": "MIT" + }, "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -2771,29 +2252,29 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "node_modules/repeating": { + "version": "2.0.1", "dev": true, + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/require-directory": { + "version": "2.1.1", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.1.0", "path-parse": "^1.0.6" @@ -2804,18 +2285,16 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -2826,73 +2305,70 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/rollup": { + "version": "2.70.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz", + "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - }, - "node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "rollup": "^2.0.0" } }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/safe-buffer": { + "version": "5.2.0", "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", "bin": { - "sha.js": "bin.js" + "semver": "bin/semver.js" } }, - "node_modules/shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "node_modules/serialize-javascript": { + "version": "6.0.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "fast-safe-stringify": "^2.0.7" + "randombytes": "^2.1.0" } }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -2902,102 +2378,29 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "node_modules/signal-exit": { + "version": "3.0.7", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "license": "ISC" }, "node_modules/source-map": { "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "optional": true, + "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", @@ -3013,96 +2416,15 @@ "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", - "dev": true, - "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - } - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "node_modules/sourcemap-codec": { + "version": "1.4.8", "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-http": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", - "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } + "license": "MIT" }, "node_modules/string-width": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3112,39 +2434,12 @@ "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -3152,9 +2447,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3162,388 +2456,159 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "dev": true, - "dependencies": { - "minimist": "^1.1.0" - } - }, "node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "dependencies": { - "acorn-node": "^1.2.0" - } - }, - "node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", - "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", - "dev": true, - "dependencies": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "bin": { - "terser": "bin/uglifyjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/uglifyify": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz", - "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==", - "dev": true, - "dependencies": { - "convert-source-map": "~1.1.0", - "minimatch": "^3.0.2", - "terser": "^3.7.5", - "through": "~2.3.4", - "xtend": "^4.0.1" - } - }, - "node_modules/umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true, - "bin": { - "umd": "bin/cli.js" - } - }, - "node_modules/undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - }, - "bin": { - "undeclared-identifiers": "bin.js" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/util": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", - "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "node": ">=4" + } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/terser": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.0.tgz", + "integrity": "sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" }, "bin": { - "node-which": "bin/node-which" + "terser": "bin/terser" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "node_modules/test-exclude": { + "version": "6.0.0", "dev": true, + "license": "ISC", "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^1.0.2 || 2" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "node_modules/trim-right": { + "version": "1.0.1", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/type-check": { + "version": "0.4.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", "dev": true, + "license": "ISC", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" }, "engines": { - "node": ">=4" + "node": ">=10.12.0" } }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/v8-to-istanbul/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", "dev": true, + "license": "ISC", "dependencies": { - "ansi-regex": "^3.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, "node_modules/word-wrap": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", - "dev": true + "version": "6.2.0", + "dev": true, + "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -3558,9 +2623,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3573,9 +2637,8 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3585,45 +2648,26 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "engines": { - "node": ">=0.4" - } + "license": "ISC" }, "node_modules/y18n": { "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -3639,18 +2683,16 @@ }, "node_modules/yargs-parser": { "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, + "license": "MIT", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -3663,9 +2705,8 @@ }, "node_modules/yargs-unparser/node_modules/camelcase": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3675,9 +2716,8 @@ }, "node_modules/yargs-unparser/node_modules/decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3687,9 +2727,8 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3700,97 +2739,163 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.16.7", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "version": "7.16.7", "dev": true }, "@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "version": "7.16.10", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true + }, "@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "version": "1.2.0", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "dev": true + }, + "globals": { + "version": "13.12.1", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + } } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "@humanwhocodes/config-array": { + "version": "0.9.5", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", "dev": true }, - "acorn": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", - "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "@istanbuljs/schema": { + "version": "0.1.3", "dev": true }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "@rollup/plugin-commonjs": { + "version": "21.0.2", "dev": true, - "requires": {} + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "13.1.3", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "@rollup/pluginutils": { + "version": "3.1.0", "dev": true, "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "estree-walker": { + "version": "1.0.1", "dev": true } } }, - "acorn-walk": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", - "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "@types/estree": { + "version": "0.0.39", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true + }, + "@types/node": { + "version": "17.0.21", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@ungap/promise-all-settled": { + "version": "1.1.2", "dev": true }, + "acorn": { + "version": "8.7.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3801,390 +2906,360 @@ }, "ansi-colors": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "assertion-error": { + "version": "1.1.0", "dev": true }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "babel-code-frame": { + "version": "6.26.0", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "ansi-regex": { + "version": "2.1.1", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", "dev": true }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "strip-ansi": { + "version": "3.0.1", "dev": true, "requires": { - "inherits": "2.0.1" + "ansi-regex": "^2.0.0" } + }, + "supports-color": { + "version": "2.0.0", + "dev": true } } }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "dev": true, - "requires": { - "array-filter": "^1.0.0" + "babel-core": { + "version": "6.26.3", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "convert-source-map": { + "version": "1.7.0", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "json5": { + "version": "0.5.1", + "dev": true + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true + }, + "slash": { + "version": "1.0.0", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "babel-generator": { + "version": "6.26.1", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "babel-helpers": { + "version": "6.24.1", "dev": true, "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } }, - "browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "babel-messages": { + "version": "6.23.0", "dev": true, "requires": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" + "babel-runtime": "^6.22.0" } }, - "browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "babel-plugin-transform-es2017-object-entries": { + "version": "0.0.5", "dev": true, "requires": { - "resolve": "^1.17.0" + "babel-core": "^6.20.0" } }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserify": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", - "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "babel-register": { + "version": "6.26.0", "dev": true, "requires": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.1", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^3.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.2.1", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "^1.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum-object": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^3.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.12.0", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } } } }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "babel-runtime": { + "version": "6.26.0", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "babel-template": { + "version": "6.26.0", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "babel-traverse": { + "version": "6.26.0", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "dev": true + }, + "ms": { + "version": "2.0.0", + "dev": true + } } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "babel-types": { + "version": "6.26.0", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "dev": true + } } }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } + "babylon": { + "version": "6.18.0", + "dev": true }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "balanced-match": { + "version": "1.0.0", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", "dev": true, "requires": { - "pako": "~1.0.5" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "braces": { + "version": "3.0.2", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "fill-range": "^7.0.1" } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "browser-stdout": { + "version": "1.3.1", "dev": true }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "builtin-modules": { + "version": "3.2.0", "dev": true }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "c8": { + "version": "7.11.0", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.2", + "find-up": "^5.0.0", + "foreground-child": "^2.0.0", + "istanbul-lib-coverage": "^3.0.1", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.0.2", + "rimraf": "^3.0.0", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^8.0.0", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.7" + }, + "dependencies": { + "yargs-parser": { + "version": "20.2.9", + "dev": true + } } }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==", + "version": "4.3.6", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", "deep-eql": "^3.0.1", "get-func-name": "^2.0.0", - "pathval": "^1.1.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", "type-detect": "^4.0.5" } }, "chai-exclude": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.0.2.tgz", - "integrity": "sha512-QmNVnvdSw8Huccdjm49mKu3HtoHxvjdavgYkY0KPQ5MI5UWfbc9sX1YqRgaMPf2GGtDXPoF2ram3AeNS4945Xw==", + "version": "2.1.0", "dev": true, "requires": { "fclone": "^1.0.11" @@ -4192,8 +3267,6 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4203,40 +3276,24 @@ }, "check-error": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", "dev": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "readdirp": "~3.6.0" } }, "cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -4246,8 +3303,6 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -4255,119 +3310,28 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", - "dev": true, - "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "commondir": { + "version": "1.0.1", "dev": true }, - "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "concat-map": { + "version": "0.0.1", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "core-js": { + "version": "2.6.12", "dev": true }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -4375,35 +3339,8 @@ "which": "^2.0.1" } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", "dev": true, "requires": { "ms": "2.1.2" @@ -4411,240 +3348,102 @@ }, "deep-eql": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { "type-detect": "^4.0.0" } }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "version": "0.1.3" }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "deepmerge": { + "version": "4.2.2", "dev": true }, - "deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "requires": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - } - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "detect-indent": { + "version": "4.0.0", "dev": true, "requires": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" + "repeating": "^2.0.0" } }, "diff": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, "doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, "escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", - "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", + "version": "8.10.0", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.3.0", + "@eslint/eslintrc": "^1.2.0", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" } }, + "argparse": { + "version": "2.0.1", + "dev": true + }, "chalk": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4653,8 +3452,6 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -4662,102 +3459,89 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.12.1", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.20.2", + "dev": true } } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } + "estraverse": "^5.2.0" } }, "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "dependencies": { "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "2.1.0", "dev": true } } }, "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "3.3.0", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.3.1", "dev": true, "requires": { - "acorn": "^7.4.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "eslint-visitor-keys": "^3.3.0" } }, "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "version": "4.0.1" }, "esquery": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -4765,72 +3549,38 @@ }, "esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" } }, "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "version": "5.3.0" }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "estree-walker": { + "version": "2.0.2", "dev": true }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } + "esutils": { + "version": "2.0.3" }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true + "version": "2.0.6" }, "fclone": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz", - "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=", "dev": true }, "file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "version": "6.0.1", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -4838,8 +3588,6 @@ }, "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -4847,8 +3595,6 @@ }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", @@ -4857,14 +3603,10 @@ }, "flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -4872,75 +3614,44 @@ } }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "version": "3.2.5", "dev": true }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "foreground-child": { + "version": "2.0.0", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, "get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } + "version": "2.0.0", + "dev": true }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.0", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4952,115 +3663,62 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", "dev": true, "requires": { "is-glob": "^4.0.1" } }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, "growl": { "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "has-ansi": { + "version": "2.0.0", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "dev": true + } } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } + "has-flag": { + "version": "3.0.0", + "dev": true }, "he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "home-or-tmp": { + "version": "2.0.0", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, - "htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", - "dev": true - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "html-escaper": { + "version": "2.0.2", "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", "dev": true }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -5069,14 +3727,10 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -5085,237 +3739,158 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", - "dev": true, - "requires": { - "source-map": "~0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", - "dev": true, - "requires": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "invariant": { + "version": "2.2.4", "dev": true, "requires": { - "call-bind": "^1.0.0" + "loose-envify": "^1.0.0" } }, "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, "is-core-module": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { "has": "^1.0.3" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "is-finite": { + "version": "1.1.0", "dev": true }, - "is-generator-function": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", - "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", + "is-fullwidth-code-point": { + "version": "3.0.0", "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "is-module": { + "version": "1.0.0", "dev": true }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, - "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "is-reference": { + "version": "1.2.1", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "@types/estree": "*" } }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "is-unicode-supported": { + "version": "0.1.0", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true + }, + "istanbul-lib-report": { + "version": "3.0.0", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "is-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", - "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", + "istanbul-reports": { + "version": "3.1.4", "dev": true, "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } }, "js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, "levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -5323,47 +3898,36 @@ }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", "dev": true }, - "lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", + "lodash.merge": { + "version": "4.6.2", "dev": true }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -5372,8 +3936,6 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -5381,20 +3943,14 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -5402,52 +3958,35 @@ } } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "loose-envify": { + "version": "1.4.0", "dev": true, "requires": { - "yallist": "^4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "loupe": { + "version": "2.3.4", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "get-func-name": "^2.0.0" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "magic-string": { + "version": "0.25.9", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "sourcemap-codec": "^1.4.8" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -5455,44 +3994,40 @@ }, "minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mkdirp-classic": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", - "integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g==", - "dev": true + "mkdirp": { + "version": "0.5.5", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } }, "mocha": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz", - "integrity": "sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==", + "version": "9.2.1", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", + "chokidar": "3.5.3", + "debug": "4.3.3", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.1.6", + "glob": "7.2.0", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", + "nanoid": "3.2.0", + "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", + "workerpool": "6.2.0", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" @@ -5500,26 +4035,18 @@ "dependencies": { "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "4.1.0", "dev": true, "requires": { "argparse": "^2.0.1" @@ -5527,14 +4054,10 @@ }, "ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -5542,87 +4065,24 @@ } } }, - "module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "requires": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - } - }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.2.0", "dev": true }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -5630,8 +4090,6 @@ }, "optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -5641,16 +4099,16 @@ "word-wrap": "^1.2.3" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "os-homedir": { + "version": "1.0.2", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", "dev": true }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -5658,258 +4116,88 @@ }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, - "parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "dev": true, - "requires": { - "path-platform": "~0.11.15" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, "path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "version": "1.0.7", "dev": true }, "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "version": "1.1.1", "dev": true }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", "dev": true }, "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "version": "1.2.1" }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "private": { + "version": "0.1.8", "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } + "punycode": { + "version": "2.1.1", + "dev": true }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "randombytes": { + "version": "2.1.0", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "safe-buffer": "^5.1.0" } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", "dev": true, "requires": { "picomatch": "^2.2.1" } }, + "regenerator-runtime": { + "version": "0.11.1", + "dev": true + }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", "dev": true }, + "repeating": { + "version": "2.0.1", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "resolve": { "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "requires": { "is-core-module": "^2.1.0", @@ -5918,76 +4206,64 @@ }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "rollup": { + "version": "2.70.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz", + "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + } } }, "safe-buffer": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", "dev": true }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "6.3.0", + "dev": true }, "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", "dev": true, "requires": { "randombytes": "^2.1.0" } }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "requires": { - "fast-safe-stringify": "^2.0.7" - } - }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -5995,69 +4271,20 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "signal-exit": { + "version": "3.0.7", "dev": true }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, "source-map": { "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "optional": true + "dev": true }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -6072,93 +4299,12 @@ } } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "sourcemap-codec": { + "version": "1.4.8", "dev": true }, - "stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", - "dev": true, - "requires": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-http": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", - "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, "string-width": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -6166,363 +4312,119 @@ "strip-ansi": "^6.0.0" } }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "dev": true, - "requires": { - "minimist": "^1.1.0" - } - }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } }, - "syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "requires": { - "acorn-node": "^1.2.0" - } - }, - "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "terser": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.0.tgz", + "integrity": "sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "ajv": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", - "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" } }, - "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "test-exclude": { + "version": "6.0.0", "dev": true, "requires": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" } }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "dev": true, - "requires": { - "process": "~0.11.0" - } - }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" } }, - "tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "trim-right": { + "version": "1.0.1", "dev": true }, "type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "requires": { "prelude-ls": "^1.2.1" } }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglifyify": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz", - "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==", - "dev": true, - "requires": { - "convert-source-map": "~1.1.0", - "minimatch": "^3.0.2", - "terser": "^3.7.5", - "through": "~2.3.4", - "xtend": "^4.0.1" - } - }, - "umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true }, - "undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "requires": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - } - }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" } }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "util": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", - "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, "v8-compile-cache": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "v8-to-istanbul": { + "version": "8.1.1", "dev": true, "requires": { - "string-width": "^1.0.2 || 2" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "convert-source-map": { + "version": "1.8.0", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "safe-buffer": "~5.1.1" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } + "safe-buffer": { + "version": "5.1.2", + "dev": true } } }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "version": "1.2.3" }, "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "version": "6.2.0", "dev": true }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -6532,8 +4434,6 @@ "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -6541,8 +4441,6 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -6550,40 +4448,20 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { "cliui": "^7.0.2", @@ -6597,14 +4475,10 @@ }, "yargs-parser": { "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true }, "yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "requires": { "camelcase": "^6.0.0", @@ -6615,22 +4489,16 @@ "dependencies": { "camelcase": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, "decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true } } }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/package.json b/package.json index 823ed4ed..bbadfc02 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,16 @@ "description": "ECMAScript code generator", "homepage": "http://github.com/estools/escodegen", "bugs": "http://github.com/estools/escodegen/issues", - "main": "escodegen.js", + "type": "module", + "main": "./dist/escodegen.cjs", + "exports": { + "node": { + "import": "./src/escodgen-node.js", + "require": "./dist/escodegen.cjs" + }, + "browser-import": "./dist/escodgen.esm.js", + "browser": "./dist/escodegen.umd.js" + }, "bin": { "esgenerate": "./bin/esgenerate.js", "escodegen": "./bin/escodegen.js" @@ -16,9 +25,7 @@ "LICENSE.BSD", "README.md", "bin", - "escodegen.js", - "escodegen.browser.min.js", - "escodegen.browser.js", + "dist", "package.json" ], "version": "2.0.0", @@ -37,7 +44,7 @@ }, "dependencies": { "esprima": "^4.0.1", - "estraverse": "^5.2.0", + "estraverse": "^5.3.0", "esutils": "^2.0.3", "optionator": "^0.9.1" }, @@ -45,21 +52,40 @@ "source-map": "~0.7.3" }, "devDependencies": { - "acorn": "^8.0.5", - "browserify": "^17.0.0", - "chai": "^4.3.0", - "chai-exclude": "^2.0.2", - "eslint": "^7.20.0", - "mocha": "^8.3.0", - "uglifyify": "^5.0.2" + "@rollup/plugin-commonjs": "^21.0.2", + "@rollup/plugin-node-resolve": "^13.1.3", + "acorn": "^8.7.0", + "babel-plugin-transform-es2017-object-entries": "0.0.5", + "c8": "^7.11.0", + "chai": "^4.3.6", + "chai-exclude": "^2.1.0", + "eslint": "^8.10.0", + "mocha": "^9.2.1", + "rollup": "^2.70.0", + "rollup-plugin-terser": "^7.0.2", + "source-map": "~0.7.3" }, "license": "BSD-2-Clause", + "c8": { + "branches": 92.23, + "lines": 97.14, + "functions": 98.61, + "statements": 97.17, + "reporter": [ + "html", + "text" + ], + "exclude": [ + "test" + ] + }, "scripts": { - "test": "npm run unit-test && npm run lint", - "unit-test": "mocha test/*.js --timeout 100000", + "example-escodegen": "./bin/escodegen.js benchmark/old.cjs", + "example-generate": "./bin/esgenerate.js benchmark/asts/backbone-0.5.3-ast.json", + "build": "rollup -c", "lint": "eslint --rulesdir tools/rules/ .", - "release": "node tools/release.js", - "build-min": "browserify -t uglifyify -e tools/entry-point.js -o escodegen.browser.min.js", - "build": "browserify -e tools/entry-point.js -o escodegen.browser.js" + "unit-test": "c8 mocha --require chai/register-expect.js test/*.js --timeout 100000", + "test": "npm run unit-test && npm run lint", + "release": "node tools/release.js" } } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 00000000..e7080bf5 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,30 @@ +import commonjs from '@rollup/plugin-commonjs'; +import resolve from '@rollup/plugin-node-resolve'; +import { terser } from 'rollup-plugin-terser'; + +export default [{ + input: 'src/escodegen-node.js', + output: { + file: 'dist/escodegen.cjs', + format: 'cjs', + sourcemap: true + }, + plugins: [commonjs(), resolve(), terser()] +}, { + input: 'src/escodegen-browser.js', + output: { + name: 'escodegen', + file: 'dist/escodegen.umd.js', + format: 'umd', + sourcemap: true + }, + plugins: [commonjs(), resolve(), terser()] +}, { + input: 'src/escodegen-browser.js', + output: { + file: 'dist/escodegen.esm.js', + format: 'esm', + sourcemap: true + }, + plugins: [commonjs(), resolve(), terser()] +}]; diff --git a/tools/entry-point.js b/src/escodegen-browser.js similarity index 91% rename from tools/entry-point.js rename to src/escodegen-browser.js index f77b5b54..1d8af6cf 100644 --- a/tools/entry-point.js +++ b/src/escodegen-browser.js @@ -1,3 +1,4 @@ +/* eslint-env browser */ /* Copyright (C) 2012 Yusuke Suzuki @@ -22,8 +23,5 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -(function () { - 'use strict'; - global.escodegen = require('../escodegen'); - global.escodegen.browser = true; -}()); +export * from '../src/escodegen.js'; +export const browser = true; diff --git a/src/escodegen-node.js b/src/escodegen-node.js new file mode 100644 index 00000000..bbc2092f --- /dev/null +++ b/src/escodegen-node.js @@ -0,0 +1,6 @@ +import sourceMap from 'source-map'; +import { generate } from './escodegen.js'; + +generate.sourceMapModule = sourceMap; + +export * from './escodegen.js'; diff --git a/escodegen.js b/src/escodegen.js similarity index 99% rename from escodegen.js rename to src/escodegen.js index 1fe39934..6a50d80a 100644 --- a/escodegen.js +++ b/src/escodegen.js @@ -34,15 +34,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -(function () { - 'use strict'; + import * as estraverse from 'estraverse'; + import * as esutils from 'esutils'; var Syntax, Precedence, BinaryPrecedence, SourceNode, - estraverse, - esutils, base, indent, json, @@ -64,9 +62,6 @@ FORMAT_MINIFY, FORMAT_DEFAULTS; - estraverse = require('estraverse'); - esutils = require('esutils'); - Syntax = estraverse.Syntax; // Generation is done by generateExpression. @@ -2605,13 +2600,7 @@ extra = options; if (sourceMap) { - if (!exports.browser) { - // We assume environment is node.js - // And prevent from including source-map by browserify - SourceNode = require('source-map').SourceNode; - } else { - SourceNode = global.sourceMap.SourceNode; - } + ({ SourceNode } = generate.sourceMapModule); } result = generateInternal(node); @@ -2655,12 +2644,18 @@ FORMAT_DEFAULTS = getDefaultOptions().format; - exports.version = require('./package.json').version; - exports.generate = generate; - exports.attachComments = estraverse.attachComments; - exports.Precedence = updateDeeply({}, Precedence); - exports.browser = false; - exports.FORMAT_MINIFY = FORMAT_MINIFY; - exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS; -}()); + // const browser = false; + const PrecedenceCopy = updateDeeply({}, Precedence); + const {attachComments} = estraverse; + + export { + // version = require('./package.json').version; + // browser, + generate, + attachComments, + PrecedenceCopy as Precedence, + FORMAT_MINIFY, + FORMAT_DEFAULTS + }; + /* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/test/3rdparty/package.json b/test/3rdparty/package.json new file mode 100644 index 00000000..5bbefffb --- /dev/null +++ b/test/3rdparty/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/test/api.js b/test/api.js index cefbd4da..6eb5973b 100644 --- a/test/api.js +++ b/test/api.js @@ -22,13 +22,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; - -var esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - fixtures; +// import esprima from './3rdparty/esprima-1.0.0-dev.js'; +import escodegen from './loader.js'; function slug(name) { return name.toLowerCase().replace(/\s/g, '-'); @@ -41,7 +36,7 @@ function adjustRegexLiteral(key, value) { return value; } -fixtures = { +const fixtures = { 'generate with no options': { call: 'generate', args: [{ diff --git a/test/ast.js b/test/ast.js index 4371acf5..2449b482 100644 --- a/test/ast.js +++ b/test/ast.js @@ -22,15 +22,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import esprima from 'esprima'; +import escodegen from './loader.js'; -var data, - esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; - -data = { +const data = { 'RegExp string': [ { type: 'Program', diff --git a/test/comment.js b/test/comment.js index 57806f39..8d06e5c5 100644 --- a/test/comment.js +++ b/test/comment.js @@ -22,13 +22,14 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; -var fs = require('fs'), - esprima = require('./3rdparty/esprima-harmony.original'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +import * as esprima from './3rdparty/esprima-harmony.original.js'; +import escodegen from './loader.js'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/compare-acorn-es2019.js b/test/compare-acorn-es2019.js index cddce0d3..edfca60f 100644 --- a/test/compare-acorn-es2019.js +++ b/test/compare-acorn-es2019.js @@ -22,13 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import * as acorn from 'acorn'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import escodegen from './loader.js'; -var fs = require('fs'), - acorn = require('acorn'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/compare-acorn-es2020.js b/test/compare-acorn-es2020.js index f3093853..c809c531 100644 --- a/test/compare-acorn-es2020.js +++ b/test/compare-acorn-es2020.js @@ -22,14 +22,15 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; - -var fs = require('fs'), - acorn = require('acorn'), - escodegen = require('./loader'), - chai = require('chai'), - chaiExclude = require('chai-exclude'), - expect = chai.expect; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import * as acorn from 'acorn'; +import chai from 'chai'; +import chaiExclude from 'chai-exclude'; +import escodegen from './loader.js'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); chai.use(chaiExclude); diff --git a/test/compare-acorn-es2021.js b/test/compare-acorn-es2021.js index 4d7ed7bd..b9c10baa 100644 --- a/test/compare-acorn-es2021.js +++ b/test/compare-acorn-es2021.js @@ -23,14 +23,15 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; - -var fs = require('fs'), - acorn = require('acorn'), - escodegen = require('./loader'), - chai = require('chai'), - chaiExclude = require('chai-exclude'), - expect = chai.expect; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import * as acorn from 'acorn'; +import chai from 'chai'; +import chaiExclude from 'chai-exclude'; +import escodegen from './loader.js'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); chai.use(chaiExclude); diff --git a/test/compare-acorn-es6.js b/test/compare-acorn-es6.js index 6384675c..a10c1624 100644 --- a/test/compare-acorn-es6.js +++ b/test/compare-acorn-es6.js @@ -22,13 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import * as acorn from 'acorn'; +import escodegen from './loader.js'; -var fs = require('fs'), - acorn = require('acorn'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/compare-acorn-es7.js b/test/compare-acorn-es7.js index ee7b2405..4f49552a 100644 --- a/test/compare-acorn-es7.js +++ b/test/compare-acorn-es7.js @@ -22,13 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import * as acorn from 'acorn'; +import escodegen from './loader.js'; -var fs = require('fs'), - acorn = require('acorn'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/compare-esprima2.js b/test/compare-esprima2.js index 2dad7076..2e22eba1 100644 --- a/test/compare-esprima2.js +++ b/test/compare-esprima2.js @@ -22,14 +22,14 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; - -var fs = require('fs'), - esprima = require('./3rdparty/esprima-2.7.1'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - DIR = 'compare-esprima2'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import esprima from './3rdparty/esprima-2.7.1.js'; +import escodegen from './loader.js'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const DIR = 'compare-esprima2'; function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/compare-fixed-harmony.js b/test/compare-fixed-harmony.js index d3c24ee4..3d4a7357 100644 --- a/test/compare-fixed-harmony.js +++ b/test/compare-fixed-harmony.js @@ -22,13 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import esprima from './3rdparty/esprima-harmony.patched.js'; +import escodegen from './loader.js'; -var fs = require('fs'), - esprima = require('./3rdparty/esprima-harmony.patched'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/compare-harmony.js b/test/compare-harmony.js index 3579da9a..e6b9a668 100644 --- a/test/compare-harmony.js +++ b/test/compare-harmony.js @@ -22,14 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import * as esprima from './3rdparty/esprima-harmony.original.js'; +import escodegen from './loader.js'; -var fs = require('fs'), - esprima = require('./3rdparty/esprima-harmony.original'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - DIR; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; @@ -82,7 +81,7 @@ function testMin(code, expected) { expect(actual2).to.be.equal(actual); } -DIR = 'compare-harmony'; +const DIR = 'compare-harmony'; describe('compare harmony test', function () { fs.readdirSync(__dirname + '/' + DIR).sort().forEach(function(file) { diff --git a/test/compare.js b/test/compare.js index 288b280a..8c91c398 100644 --- a/test/compare.js +++ b/test/compare.js @@ -22,13 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import esprima from 'esprima'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import escodegen from './loader.js'; -var fs = require('fs'), - esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/directive.js b/test/directive.js index b23dcd75..46846388 100644 --- a/test/directive.js +++ b/test/directive.js @@ -22,15 +22,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import esprima from 'esprima'; +import escodegen from './loader.js'; -var esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - data; - -data = { +const data = { 'DirectiveStatement': { '\'use strict\';': { diff --git a/test/harmony-esprima2.js b/test/harmony-esprima2.js index d19d67dd..40e47625 100644 --- a/test/harmony-esprima2.js +++ b/test/harmony-esprima2.js @@ -29,15 +29,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import esprima from './3rdparty/esprima-2.7.1.js'; +import escodegen from './loader.js'; -var esprima = require('./3rdparty/esprima-2.7.1'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - data; - -data = { +const data = { 'Harmony MetaProperty': { 'class SomeClass { constructor() { if (new.target === SomeClass) { throw new Error(\'Boom\'); }}}': { type: 'Program', diff --git a/test/harmony.js b/test/harmony.js index 833a0fbd..75034f09 100644 --- a/test/harmony.js +++ b/test/harmony.js @@ -29,15 +29,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import * as esprima from './3rdparty/esprima-harmony.original.js'; +import escodegen from './loader.js'; -var esprima = require('./3rdparty/esprima-harmony.original'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - data; - -data = { +const data = { 'Yield (with star, harmony proposed)': { 'function* a() { yield* test; }': { type: 'Program', @@ -6547,7 +6542,7 @@ data = { "generator": false, "expression": false, "async": true - } + } }, 'f(async function (promise) {\n await promise;\n});': { diff --git a/test/identity.js b/test/identity.js index 0d8fb6d0..7e8c495c 100644 --- a/test/identity.js +++ b/test/identity.js @@ -22,14 +22,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import esprima from './3rdparty/esprima-1.0.0-dev.js'; +import escodegen from './loader.js'; -var fs = require('fs'), - esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - fixtures; +const __dirname = dirname(fileURLToPath(import.meta.url)); function slug(name) { return name.toLowerCase().replace(/\s/g, '-'); @@ -42,7 +41,7 @@ function adjustRegexLiteral(key, value) { return value; } -fixtures = [ +const fixtures = [ 'jQuery 1.7.1', 'jQuery 1.6.4', 'jQuery.Mobile 1.0', diff --git a/test/loader.js b/test/loader.js index 9d9393a3..e3668191 100644 --- a/test/loader.js +++ b/test/loader.js @@ -21,12 +21,8 @@ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; -var fs = require('fs'), - path = require('path'), - root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - escodegen = require(root); +import { generate, Precedence, attachComments, FORMAT_MINIFY, FORMAT_DEFAULTS } from '../src/escodegen-node.js'; // Make generate's first argument freezed. function freezing(escodegen) { @@ -39,6 +35,6 @@ function freezing(escodegen) { return escodegen; } -module.exports = freezing(escodegen); +export default freezing({ generate, Precedence, attachComments, FORMAT_MINIFY, FORMAT_DEFAULTS }); /* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/test/options.js b/test/options.js index 1acbced4..7443d467 100644 --- a/test/options.js +++ b/test/options.js @@ -23,15 +23,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import esprima from './3rdparty/esprima-1.0.0-dev.js'; +import escodegen from './loader.js'; -var esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - data; - -data = [{ +const data = [{ options: { base: 2, indent: ' ' diff --git a/test/preserve-blank-lines.js b/test/preserve-blank-lines.js index ca3b7301..d23dec64 100644 --- a/test/preserve-blank-lines.js +++ b/test/preserve-blank-lines.js @@ -23,13 +23,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import fs from 'fs'; +import esprima from 'esprima'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; +import escodegen from './loader.js'; -var fs = require('fs'), - esprima = require('esprima'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect; +const __dirname = dirname(fileURLToPath(import.meta.url)); function test(code, expected) { var tree, actual, options, StringObject; diff --git a/test/source-map.js b/test/source-map.js index 63c73ed6..a8a45e59 100644 --- a/test/source-map.js +++ b/test/source-map.js @@ -23,13 +23,9 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; - -var esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - sourcemap = require('source-map'), - chai = require('chai'), - expect = chai.expect; +// import esprima from 'esprima'; +import sourcemap from 'source-map'; +import escodegen from './loader.js'; describe('source map test', function () { it('function expression identifier test', function () { diff --git a/test/test.js b/test/test.js index ee295914..33943315 100644 --- a/test/test.js +++ b/test/test.js @@ -28,15 +28,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; +import esprima from './3rdparty/esprima-1.0.0-dev.js'; +import escodegen from './loader.js'; -var esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - data; - -data = { +const data = { 'Primary Expression': { diff --git a/test/verbatim.js b/test/verbatim.js index 0039fe34..cc14cf45 100644 --- a/test/verbatim.js +++ b/test/verbatim.js @@ -22,14 +22,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -'use strict'; - -var esprima = require('./3rdparty/esprima-1.0.0-dev'), - escodegen = require('./loader'), - chai = require('chai'), - expect = chai.expect, - StringData, - ObjectData; +import esprima from 'esprima'; +import escodegen from './loader.js'; function make_eval(code) { return { @@ -62,7 +56,7 @@ function runTest(expected, result, verbatim) { expect(expected).to.be.equal(actual); } -StringData = { +const StringData = { 'DISABLED': { "eval('foo');": { type: 'ExpressionStatement', @@ -143,7 +137,7 @@ describe('verbatim string test', function () { }); }); -ObjectData = { +const ObjectData = { 'verbatim': { // Floating point "(0).a": { diff --git a/tools/release.js b/tools/release.js index e5673646..3d291452 100755 --- a/tools/release.js +++ b/tools/release.js @@ -23,12 +23,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*jslint sloppy:true node:true */ +import fs from 'fs'; +import path from 'path'; +import child_process from 'child_process'; -const fs = require('fs'), - path = require('path'), - root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - child_process = require('child_process'); +const root = path.join(path.dirname(fs.realpathSync(__filename)), '..'); function exec(cmd) { return new Promise(function (resolve, reject) { diff --git a/tools/rules/package.json b/tools/rules/package.json new file mode 100644 index 00000000..5bbefffb --- /dev/null +++ b/tools/rules/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +}