From a0208044fd15b708a00a0247c05ef99954381469 Mon Sep 17 00:00:00 2001 From: Mason Boeman Date: Fri, 3 Jan 2020 01:02:10 -0600 Subject: [PATCH] initial commit --- .eslintignore | 4 + .gitignore | 2 + .vscode/extensions.json | 17 + .vscode/settings.json | 11 + LICENSE | 21 + README.md | 90 + documentation/logo-dark.png | Bin 0 -> 16131 bytes documentation/logo-light.png | Bin 0 -> 14819 bytes documentation/logo.psd | Bin 0 -> 396230 bytes jest.config.js | 10 + package-lock.json | 6346 +++++++++++++++++ package.json | 56 + setup.js | 11 + src/evaluate.ts | 48 + src/getContextInfo.ts | 40 + src/getGiven.ts | 12 + src/getGivenFunc.ts | 85 + src/givenError.ts | 30 + src/global.d.ts | 6 + src/index.ts | 3 + src/isValid.ts | 24 + src/types.ts | 13 + test/integration/jest/.eslintrc.js | 9 + .../jest/__snapshots__/errors.test.js.snap | 8 + test/integration/jest/errors.test.js | 82 + test/integration/jest/given.test.js | 21 + test/integration/mocha/.eslintrc.js | 6 + test/integration/mocha/given.test.js | 24 + test/unit/jest/.eslintrc.js | 9 + test/unit/jest/getContextInfo.spec.js | 13 + test/unit/mocha/.eslintrc.js | 6 + test/unit/mocha/getContextInfo.spec.js | 13 + tsconfig.json | 12 + 33 files changed, 7032 insertions(+) create mode 100644 .eslintignore create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 documentation/logo-dark.png create mode 100644 documentation/logo-light.png create mode 100644 documentation/logo.psd create mode 100644 jest.config.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 setup.js create mode 100644 src/evaluate.ts create mode 100644 src/getContextInfo.ts create mode 100644 src/getGiven.ts create mode 100644 src/getGivenFunc.ts create mode 100644 src/givenError.ts create mode 100644 src/global.d.ts create mode 100644 src/index.ts create mode 100644 src/isValid.ts create mode 100644 src/types.ts create mode 100644 test/integration/jest/.eslintrc.js create mode 100644 test/integration/jest/__snapshots__/errors.test.js.snap create mode 100644 test/integration/jest/errors.test.js create mode 100644 test/integration/jest/given.test.js create mode 100644 test/integration/mocha/.eslintrc.js create mode 100644 test/integration/mocha/given.test.js create mode 100644 test/unit/jest/.eslintrc.js create mode 100644 test/unit/jest/getContextInfo.spec.js create mode 100644 test/unit/mocha/.eslintrc.js create mode 100644 test/unit/mocha/getContextInfo.spec.js create mode 100644 tsconfig.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..10a529c --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +# don't ever lint node_modules +node_modules +# don't lint build output (make sure it's set to your correct build folder name) +dist \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76add87 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..fa85c51 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,17 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "hbenl.vscode-test-explorer", + "connorshea.vscode-test-explorer-status-bar", + "hbenl.vscode-mocha-test-adapter", + "rtbenfield.vscode-jest-test-adapter", + "dbaeumer.vscode-eslint" + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [ + + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..dbc192c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "editor.tabSize": 2, + "mochaExplorer.files": [ + "test/integration/mocha/**.test.js" + ], + "eslint.enable": true, + "eslint.validate": [ + "javascript", + "typescript" + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8eed37a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Mason Boeman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..764f6d8 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +

+ givens +

+ +Easy test setup without side effects. + +For use with [jest](https://github.com/facebook/jest) and [mocha](https://github.com/mochajs/mocha). +Behavior based on [rspec](), syntax inspired by [given2](https://github.com/tatyshev/given2) + +Common testing side effects include but are not limited to: +- testing different methods on the same object in multiple tests can result in cross-contamination. +- tests can depend on order; and break when reordered. +- appending `.skip` or `.only` can make tests behave unpredictably. + +Givens, when used correctly solves all of these, dries up your tests, and might even make them more readable, while still letting you use standard lifecycle methods like `beforeEach`. + +--- +## Getting Started +### Prerequisites +This package should work fine for any javascript or typescript project that uses jest or mocha tests. Non Node environments are untested, and may not work. + +### Installing +first, install from npm: +```bash +npm install --save-dev givens +``` +or +```bash +yarn add --dev givens +``` +#### global installation +```javascript +import 'givens/setup'; +``` +or add to testing framework config, for example in jest: +```javascript +{ + setupFiles: [ + 'givens/setup.js', + ], +} +``` +then you can use the `given` keyword without importing. +#### local installation +in the test file, use the following import: +```javascript +import getGiven from 'givens'; +const given = getGiven(); +``` +or in typescript +```typescript +import getGiven from 'givens'; +interface myVars { + var1: number; // the keys you intend to use + var2: string; // and their types +} +const given = getGiven(); +``` + +--- +## Usage + +When you call `given(myKey, callback)`, givens stores the callback function you give it. When you go to retrieve the key (via `given.myKey`) givens will execute the most recent callback you have given for the key, and cache the value. Additionally, if you call `given()` inside a describe, the callback will revert to the previous one given for `myKey` after executing all tests in the describe. The cache is cleared after every test. + +```javascript +describe('basic overriding behavior', () => { + given('var1', () => 'initial value'); + given('var2', () => { + return 'the value is: ' + given.var1; + }); + + it('has initial value', () => { + expect(given.var2).toEqual('the value is: initial value'); + }); + + describe('with new value', () => { + given('var1', () => 'overridden value'); + + it('has overridden value', () => { + expect(given.var2).toEqual('the value is: overridden value'); + }); + }); + + it('has initial value again', () => { + expect(given.var2).toEqual('the value is: initial value'); + }); +}); +``` + +For more examples of usage for your particular setup, read through the integration tests. They are examples of how to use the library as intended (and in some cases how it's not supposed to be used). diff --git a/documentation/logo-dark.png b/documentation/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..879a899445ba669b67a45cc6a814806bac2571bd GIT binary patch literal 16131 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 literal 0 HcmV?d00001 diff --git a/documentation/logo-light.png b/documentation/logo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..5180b14f518945472359950c51bf9e1b539ff7a1 GIT binary patch literal 14819 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 V>E2DV-y75mo00a~{crgDe*lJFSaJXW literal 0 HcmV?d00001 diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..cd78ea5 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + verbose: true, + roots: [ + '/test/unit/jest', + '/test/integration/jest', + ], + setupFiles: [ + './setup.js', + ], +}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7732994 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6346 @@ +{ + "name": "givens", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz", + "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.7", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.7", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "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 + } + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helpers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "dev": true, + "requires": { + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@cnakazawa/watch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", + "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + } + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "dev": true + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.4.tgz", + "integrity": "sha512-Ke1WmBbIkVM8bpvsNEcGgQM70XcEh/nbpxQhW7FhrsbCsXSY9BmLB1+LHtD7r9zrsOcFlLiF+a/UeJsdfw3C5A==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.15.0.tgz", + "integrity": "sha512-XRJFznI5v4K1WvIrWmjFjBAdQWaUTz4xJEdqR7+wAFsv6Q9dP3mOlE6BMNT3pdlp9eF1+bC5m5LZTmLMqffCVw==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "2.15.0", + "eslint-utils": "^1.4.3", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.15.0.tgz", + "integrity": "sha512-Qkxu5zndY5hqlcQkmA88gfLvqQulMpX/TN91XC7OuXsRf4XG5xLGie0sbpX97o/oeccjeZYRMipIsjKk/tjDHA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.15.0", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.15.0.tgz", + "integrity": "sha512-L6Pog+w3VZzXkAdyqA0VlwybF8WcwZX+mufso86CMxSdWmcizJ38lgBdpqTbc9bo92iyi0rOvmATKiwl+amjxg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.14.0.tgz", + "integrity": "sha512-KcyKS7G6IWnIgl3ZpyxyBCxhkBPV+0a5Jjy2g5HxlrbG2ZLQNFeneIBVXdaBCYOVjvGmGGFKom1kgiAY75SDeQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.14.0", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.15.0.tgz", + "integrity": "sha512-6iSgQsqAYTaHw59t0tdjzZJluRAjswdGltzKEdLtcJOxR2UVTPHYvZRqkAVGCkaMVb6Fpa60NnuozNCvsSpA9g==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.15.0", + "@typescript-eslint/typescript-estree": "2.15.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.15.0.tgz", + "integrity": "sha512-Qkxu5zndY5hqlcQkmA88gfLvqQulMpX/TN91XC7OuXsRf4XG5xLGie0sbpX97o/oeccjeZYRMipIsjKk/tjDHA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.15.0", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.15.0.tgz", + "integrity": "sha512-L6Pog+w3VZzXkAdyqA0VlwybF8WcwZX+mufso86CMxSdWmcizJ38lgBdpqTbc9bo92iyi0rOvmATKiwl+amjxg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + } + } + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.14.0.tgz", + "integrity": "sha512-pnLpUcMNG7GfFFfNQbEX6f1aPa5fMnH2G9By+A1yovYI4VIOK2DzkaRuUlIkbagpAcrxQHLqovI1YWqEcXyRnA==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + } + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "dev": true + }, + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "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" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "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 + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==", + "dev": true + }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "requires": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "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": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "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 + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "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 + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "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 + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "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 + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "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" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.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 + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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, + "optional": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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 + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "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 + }, + "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 + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "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 + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "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" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "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" + } + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "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 + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "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 + }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "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": { + "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 + } + } + }, + "eslint-config-airbnb": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.0.1.tgz", + "integrity": "sha512-hLb/ccvW4grVhvd6CT83bECacc+s4Z3/AEyWQdIT2KeTsG9dR7nx1gs7Iw4tDmGKozCNHFn4yZmRm3Tgy+XxyQ==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^14.0.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz", + "integrity": "sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.7", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-airbnb-typescript": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-6.3.1.tgz", + "integrity": "sha512-+tkkVysaN63zXz+oiPfkfYSRMIY5QfHI4qFeyb1ZhRGF2jR6JslqDv5GkrW/eciySNTVTigFvf9hkqHT9vklJw==", + "dev": true, + "requires": { + "@typescript-eslint/parser": "^2.3.0", + "eslint-config-airbnb": "^18.0.1", + "eslint-config-airbnb-base": "^14.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.1.tgz", + "integrity": "sha512-GcNwsYv8MfoEBSbAmV+PSVn2RlhpCShbLImtNviAYa/LE0PgNqxH5tLi1Ld9yeFwdjHsarXK+7G9vsyddmB6dw==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.0.tgz", + "integrity": "sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + } + } + }, + "eslint-plugin-jasmine": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jasmine/-/eslint-plugin-jasmine-4.1.0.tgz", + "integrity": "sha512-Vfuk2Sm1ULR7MqGjVIOOEdQWyoFBfSwvwUeo9MrajVGJB3C24c9Mmj1Cgf8Qwmf3aS2bezPt1sckpKXWpd74Dw==", + "dev": true + }, + "eslint-plugin-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.2.0.tgz", + "integrity": "sha512-/jbCUW+g0jejXAvsytgcNhii6uEgolt0RO2e4+mhmXybfkcram5V3XIyrHCnUsb0vCmDKgHhJ1lYSm7F3VCEDA==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^2.5.0" + } + }, + "eslint-plugin-mocha": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-6.2.2.tgz", + "integrity": "sha512-oNhPzfkT6Q6CJ0HMVJ2KLxEWG97VWGTmuHOoRcDLE0U88ugUyFNV9wrT2XIt5cGtqc5W9k38m4xTN34L09KhBA==", + "dev": true, + "requires": { + "ramda": "^0.26.1" + } + }, + "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" + } + }, + "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.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "dev": true, + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.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==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.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" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "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" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "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=", + "dev": true + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "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" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "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" + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.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": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "optional": 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, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true, + "optional": 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, + "optional": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "optional": 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" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "optional": 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, + "optional": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "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, + "optional": true + }, + "needle": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz", + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "optional": 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, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "optional": 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, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "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, + "optional": 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, + "optional": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "optional": 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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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, + "optional": 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, + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": 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, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "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, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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, + "optional": true + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "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-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-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handlebars": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "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 + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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 + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "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" + } + }, + "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" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.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 + }, + "inquirer": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz", + "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "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.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "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.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "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-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-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-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "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-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "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 + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", + "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "dev": true, + "requires": { + "handlebars": "^4.1.2" + } + }, + "jasmine": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.5.0.tgz", + "integrity": "sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ==", + "dev": true, + "requires": { + "glob": "^7.1.4", + "jasmine-core": "~3.5.0" + } + }, + "jasmine-core": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", + "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", + "dev": true + }, + "jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "requires": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "dependencies": { + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "requires": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + } + }, + "jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "requires": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", + "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", + "dev": true + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + } + }, + "jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + } + }, + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true + }, + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + } + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + } + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + } + }, + "jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + } + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.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.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" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "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 + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "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" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "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.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "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 + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime-db": { + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "dev": true, + "requires": { + "mime-db": "1.42.0" + } + }, + "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 + }, + "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": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", + "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "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": "2.2.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "ms": "2.1.1", + "node-environment-flags": "1.0.5", + "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.0", + "yargs-parser": "13.1.1", + "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" + } + } + } + }, + "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 + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "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 + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "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.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "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 + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.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-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "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.entries": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "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" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "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" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "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" + } + }, + "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-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "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-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "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 + }, + "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" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "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-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pidtree": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", + "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "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 + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "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 + } + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prompts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", + "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + } + }, + "psl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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 + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", + "dev": true + }, + "react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "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.14.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz", + "integrity": "sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "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 + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "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" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "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" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "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 + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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 + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sisteransi": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "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 + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-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" + } + } + } + }, + "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.padend": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", + "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.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==", + "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-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "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" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "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" + } + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + }, + "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 + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "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-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 + }, + "typescript": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz", + "integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==", + "dev": true + }, + "uglify-js": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.3.tgz", + "integrity": "sha512-7tINm46/3puUA4hCkKYo4Xdts+JDaVC9ZPRcG8Xw9R4nhO/gZgUM3TENq8IF4Vatk8qCig4MzP/c8G4u2BkVQg==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "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" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "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 + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "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==", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "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==", + "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" + } + }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "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.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "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.1" + }, + "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.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "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 new file mode 100644 index 0000000..4b91f18 --- /dev/null +++ b/package.json @@ -0,0 +1,56 @@ +{ + "name": "givens", + "version": "1.0.0", + "description": "Easy test setup without side effects", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "files": [ + "dist", + "setup.js" + ], + "scripts": { + "tsc": "tsc", + "lint": "eslint ./src/**.* --ext .ts", + "lint:fix": "eslint -c .eslintrc.js --fix ./src", + "test": "npm-run-all --aggregate-output --continue-on-error --parallel --print-label test:**", + "test:unit:jest": "jest test/unit/jest/**.spec.js --color", + "test:unit:mocha": "mocha test/unit/mocha/**.spec.js --color", + "test:integration:jest": "jest test/integration/jest/**.test.js --color", + "test:integration:mocha": "mocha test/integration/mocha/**.test.js --color" + }, + "keywords": [ + "jest", + "given", + "let", + "test", + "rspec" + ], + "author": "Mason Boeman", + "license": "MIT", + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^2.15.0", + "@typescript-eslint/parser": "^2.15.0", + "eslint": "^6.8.0", + "eslint-config-airbnb-base": "^14.0.0", + "eslint-config-airbnb-typescript": "^6.3.1", + "eslint-plugin-import": "^2.20.0", + "eslint-plugin-jasmine": "^4.1.0", + "eslint-plugin-jest": "^23.2.0", + "eslint-plugin-mocha": "^6.2.2", + "jasmine": "^3.5.0", + "jest": "^24.9.0", + "mocha": "^6.2.2", + "npm-run-all": "^4.1.5", + "typescript": "^3.7.4" + }, + "eslintConfig": { + "root": true, + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint" + ], + "extends": [ + "airbnb-typescript/base" + ] + } +} diff --git a/setup.js b/setup.js new file mode 100644 index 0000000..8eef087 --- /dev/null +++ b/setup.js @@ -0,0 +1,11 @@ +/* eslint-disable no-undef */ +const getGiven = require('./dist/getGiven').default; + +// register global object +if (typeof global !== 'undefined') { + global.given = getGiven(); +} + +if (typeof window !== 'undefined') { + window.given = getGiven(); +} diff --git a/src/evaluate.ts b/src/evaluate.ts new file mode 100644 index 0000000..53c41e5 --- /dev/null +++ b/src/evaluate.ts @@ -0,0 +1,48 @@ +/* eslint-disable no-param-reassign */ + +import { + givenCache, + givenProps, + givenTrace, +} from './types'; +import GivenError from './givenError'; + +const evaluate = ( + key: K, + props: givenProps, + cache: givenCache, + trace: givenTrace, + ssi: Function, +): T[K] => { + let value = cache[key]; + + if (value === undefined) { + // get the most recent declaration for key + const topFunc = props[key]![props[key]!.length - 1]; + + // check for recursive definition, and error if present + if (trace.includes(key)) { + const partialTrace = [ + ...trace.slice(trace.indexOf(key)), + key, + ]; + trace.length = 0; // reset trace + + throw new GivenError(`recursive variable ${key} detected\ntrace: ${partialTrace.join(' => ')}`, ssi); + } + + // try to evaluate and cache + try { + trace.push(key); + value = topFunc(); + cache[key] = value; + trace.pop(); + } catch (err) { + trace.length = 0; + throw err; + } + } + return value!; +}; + +export default evaluate; diff --git a/src/getContextInfo.ts b/src/getContextInfo.ts new file mode 100644 index 0000000..7d50f1a --- /dev/null +++ b/src/getContextInfo.ts @@ -0,0 +1,40 @@ +type matcherResult = 'lifecycle' | 'test' | 'defer'; + +function jestContextMatcher(rawStack: string): matcherResult { + if (/Object\.asyncJestLifecycle/.test(rawStack)) { + return 'lifecycle'; + } + if (/Object\.asyncJestTest/.test(rawStack)) { + return 'test'; + } + return 'defer'; +} + +function mochaContextMatcher(rawStack: string): matcherResult { + if (/Test\.Runnable\.run/.test(rawStack)) { + return 'test'; + } + if (/Hook\.Runnable\.run/.test(rawStack)) { + return 'lifecycle'; + } + return 'defer'; +} + + +export default function getContextInfo(): 'normal' | 'lifecycle' | 'test' { + let rawStack: string; + try { + throw new Error(); + } catch (e) { + rawStack = e.stack; + } + let context: matcherResult; + + context = jestContextMatcher(rawStack); + if (context !== 'defer') { return context; } + + context = mochaContextMatcher(rawStack); + if (context !== 'defer') { return context; } + + return 'normal'; +} diff --git a/src/getGiven.ts b/src/getGiven.ts new file mode 100644 index 0000000..780f7a4 --- /dev/null +++ b/src/getGiven.ts @@ -0,0 +1,12 @@ +import getGivenFunc from './getGivenFunc'; +import { given } from './types'; + +export default function getGiven(): given { + const givenFunc = getGivenFunc(); + + return Object.defineProperties(givenFunc, { + __props__: { value: {} }, + __cache__: { value: {} }, + __trace__: { value: [] }, + }) as given; +} diff --git a/src/getGivenFunc.ts b/src/getGivenFunc.ts new file mode 100644 index 0000000..9befc2a --- /dev/null +++ b/src/getGivenFunc.ts @@ -0,0 +1,85 @@ +import { + givenCache, + givenProps, + givenTrace, +} from './types'; +import evaluate from './evaluate'; +import isValid from './isValid'; +import GivenError from './givenError'; +import getContextInfo from './getContextInfo'; + +const getGivenFunc = () => { + const given = (key: K, func: () => T[K]): void => { + const contextInfo = getContextInfo(); + if (contextInfo === 'lifecycle' || contextInfo === 'test') { + throw new GivenError('cannot call given from test or lifecycle method', given); + } + + if (!isValid(key as string)) { + throw new GivenError(`key "${key}" is not allowed`, given); + } + + /* eslint-disable no-underscore-dangle */ + const props = (given as any).__props__ as givenProps; + const cache = (given as any).__cache__ as givenCache; + const trace = (given as any).__trace__ as givenTrace; + /* eslint-enable no-underscore-dangle */ + + // push function onto prop stack + const push = () => { + // add a getter with this key to the global given object if it is missing + // eslint-disable-next-line no-prototype-builtins + if (!given.hasOwnProperty(key)) { + props[key] = []; + + // make sure to pass the correct ssi for easier debugging + const getter = () => evaluate(key, props, cache, trace, getter); + Object.defineProperty(given, key, { + get: getter, + configurable: true, + enumerable: true, + }); + } + + props[key]!.push(func); + delete cache[key]; + }; + + // pop function off prop stack + const pop = () => { + props[key]!.pop(); + + // remove keys that no longer have values. + if (props[key]!.length === 0) { + delete props[key]; + delete (given as any)[key]; + } + }; + + // remove cached props + const clearCache = () => { + delete cache[key]; + }; + + if (typeof beforeAll === 'function') { + beforeAll(push); + } + if (typeof before === 'function') { + before(`givens setup ${key}`, push); + } + + if (typeof afterAll === 'function') { + afterAll(pop); + } + if (typeof after === 'function') { + after(`givens teardown ${key}`, pop); + } + + if (typeof afterEach === 'function') { + afterEach(clearCache); + } + }; + return given; +}; + +export default getGivenFunc; diff --git a/src/givenError.ts b/src/givenError.ts new file mode 100644 index 0000000..f1c6cd3 --- /dev/null +++ b/src/givenError.ts @@ -0,0 +1,30 @@ +// This class is heavily influenced by: +// JavaScript Errors and Stack Traces in Depth +// 17th of February, 2017 — Lucas Fernandes da Costa at Florianópolis, Brazil +// https://lucasfcosta.com/2017/02/17/JavaScript-Errors-and-Stack-Traces.html + +// `ssf` stands for "start stack function". It is the reference to the +// starting point for removing irrelevant frames from the stack trace +export default class GivenError extends Error { + constructor(message: string, ssf?: Function) { + // 'Error' breaks prototype chain here + super(`givens: ${message}`); + + // restore prototype chain + const actualProto = new.target.prototype; + Object.setPrototypeOf(this, actualProto); + + // If a start stack function (ssf) was provided we capture the current stack trace and pass + // it to the `captureStackTrace` function so we can remove frames that come after it + if (ssf && (Error as any).captureStackTrace) { + (Error as any).captureStackTrace(this, ssf); + } else { + // If no start stack function was provided we just use the original stack property + try { + throw new Error(); + } catch (e) { + this.stack = e.stack; + } + } + } +} diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..66bb10a --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,6 @@ +declare const before: (message: string, callback: () => void) => void; +declare const after: (message: string, callback: () => void) => void; +declare const beforeAll: (callback: () => void) => void; +declare const afterAll: (callback: () => void) => void; +declare const beforeEach: (callback: () => void) => void; +declare const afterEach: (callback: () => void) => void; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..e382fe6 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,3 @@ +import getGiven from './getGiven'; + +export default getGiven; diff --git a/src/isValid.ts b/src/isValid.ts new file mode 100644 index 0000000..bd71810 --- /dev/null +++ b/src/isValid.ts @@ -0,0 +1,24 @@ +interface parsedKey { + valid: boolean; + errorMessage?: string; +} + +function allProps(object: any): string[] { + const myProps = Object.getOwnPropertyNames(object); + const proto = Object.getPrototypeOf(object); + const parentProps = proto ? allProps(proto) : []; + return [...myProps, ...parentProps]; +} + +const disallowedProps = [ + // props created by this library + '__props__', + '__cache__', + '__trace__', + // prototype props + ...allProps(() => {}), +]; + +const isValid = (key: string): boolean => !disallowedProps.includes(key); + +export default isValid; diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..a2410b3 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,13 @@ +export type givenProps = { + [K in keyof T]?: (() => T[K])[]; +}; + +export type givenCache = Partial; + +export type givenTrace = (keyof T)[]; + +export interface givenFunc { + (key: K, func: () => T[K]): void +} + +export type given = givenFunc & T; diff --git a/test/integration/jest/.eslintrc.js b/test/integration/jest/.eslintrc.js new file mode 100644 index 0000000..c000b40 --- /dev/null +++ b/test/integration/jest/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + plugins: ["jest"], + env: { + jest: true + }, + globals: { + given: "readonly", + } +}; \ No newline at end of file diff --git a/test/integration/jest/__snapshots__/errors.test.js.snap b/test/integration/jest/__snapshots__/errors.test.js.snap new file mode 100644 index 0000000..33c1e2c --- /dev/null +++ b/test/integration/jest/__snapshots__/errors.test.js.snap @@ -0,0 +1,8 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`illegal call location in test breaks 1`] = `"givens: cannot call given from test or lifecycle method"`; + +exports[`with recursive given variables blows up: recursive variables error 1`] = ` +"givens: recursive variable recursive1 detected +trace: recursive1 => recursive2 => recursive1" +`; diff --git a/test/integration/jest/errors.test.js b/test/integration/jest/errors.test.js new file mode 100644 index 0000000..77c056b --- /dev/null +++ b/test/integration/jest/errors.test.js @@ -0,0 +1,82 @@ +const assert = require('assert'); + +describe('illegal prop', () => { + assert.throws( + () => given('__props__', () => 'value'), + (err) => err.message === 'givens: key "__props__" is not allowed', + ); + + it('does stuff', () => { + expect(true); + }); +}); + +describe('illegal call location', () => { + describe('in beforeEach method', () => { + beforeEach(() => { + assert.throws( + () => given('test', () => 'foo'), + (err) => err.message === 'givens: cannot call given from test or lifecycle method', + ); + }); + + it('breaks', () => {}); + }); + + describe('in afterEach method', () => { + afterEach(() => { + assert.throws( + () => given('test', () => 'foo'), + (err) => err.message === 'givens: cannot call given from test or lifecycle method', + ); + }); + + it('breaks', () => {}); + }); + + describe('in beforeAll method', () => { + beforeAll(() => { + assert.throws( + () => given('test', () => 'foo'), + (err) => err.message === 'givens: cannot call given from test or lifecycle method', + ); + }); + + it('breaks', () => {}); + }); + + describe('in afterAll method', () => { + afterAll(() => { + assert.throws( + () => given('test', () => 'foo'), + (err) => err.message === 'givens: cannot call given from test or lifecycle method', + ); + }); + + it('breaks', () => {}); + }); + + describe('in test', () => { + it('breaks', () => { + expect(() => given('test', () => 'foo')).toThrowErrorMatchingSnapshot(); + }); + }); +}); + +describe('with recursive given variables', () => { + given('recursive1', () => { + const string1 = 'recursive1 => '; + const string2 = given.recursive2; + return string1 + string2; + }); + given('recursive2', () => { + const string1 = 'recursive2 => '; + const string2 = given.recursive1; + return string1 + string2; + }); + given('nonRecursive', () => given.recursive1); + + it('blows up', () => { + expect(() => given.nonRecursive).toThrowErrorMatchingSnapshot('recursive variables error'); + }); +}); diff --git a/test/integration/jest/given.test.js b/test/integration/jest/given.test.js new file mode 100644 index 0000000..e389f1b --- /dev/null +++ b/test/integration/jest/given.test.js @@ -0,0 +1,21 @@ +describe('basic overriding behavior', () => { + given('var1', () => 'initial value'); + + given('var2', () => `the value is: ${given.var1}`); + + it('has initial value', () => { + expect(given.var2).toEqual('the value is: initial value'); + }); + + describe('with new value', () => { + given('var1', () => 'overridden value'); + + it('has overridden value', () => { + expect(given.var2).toEqual('the value is: overridden value'); + }); + }); + + it('has initial value again', () => { + expect(given.var2).toEqual('the value is: initial value'); + }); +}); diff --git a/test/integration/mocha/.eslintrc.js b/test/integration/mocha/.eslintrc.js new file mode 100644 index 0000000..279150e --- /dev/null +++ b/test/integration/mocha/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: ["mocha"], + env: { + mocha: true + }, +}; diff --git a/test/integration/mocha/given.test.js b/test/integration/mocha/given.test.js new file mode 100644 index 0000000..14484f3 --- /dev/null +++ b/test/integration/mocha/given.test.js @@ -0,0 +1,24 @@ +const assert = require('assert'); +const given = require('../../../dist/getGiven').default(); + +describe('thingToDescribe', () => { + given('variableToLazyExecute', () => 'initial value'); + + given('anotherVarToLazyExecute', () => `the value is: ${given.variableToLazyExecute}`); + + it('has initial value', () => { + assert.equal(given.anotherVarToLazyExecute, 'the value is: initial value'); + }); + + describe('with new value', () => { + given('variableToLazyExecute', () => 'overridden value'); + + it('has overridden value', () => { + assert.equal(given.anotherVarToLazyExecute, 'the value is: overridden value'); + }); + }); + + it('has initial value again', () => { + assert.equal(given.anotherVarToLazyExecute, 'the value is: initial value'); + }); +}); diff --git a/test/unit/jest/.eslintrc.js b/test/unit/jest/.eslintrc.js new file mode 100644 index 0000000..c000b40 --- /dev/null +++ b/test/unit/jest/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + plugins: ["jest"], + env: { + jest: true + }, + globals: { + given: "readonly", + } +}; \ No newline at end of file diff --git a/test/unit/jest/getContextInfo.spec.js b/test/unit/jest/getContextInfo.spec.js new file mode 100644 index 0000000..71aa764 --- /dev/null +++ b/test/unit/jest/getContextInfo.spec.js @@ -0,0 +1,13 @@ +const assert = require('assert'); +const getContextInfo = require('../../../dist/getContextInfo').default; + +assert.equal(getContextInfo(), 'normal'); +describe('given inside it', () => { + assert.equal(getContextInfo(), 'normal'); + beforeEach(() => { + assert.equal(getContextInfo(), 'lifecycle'); + }); + it('does something', () => { + assert.equal(getContextInfo(), 'test'); + }); +}); diff --git a/test/unit/mocha/.eslintrc.js b/test/unit/mocha/.eslintrc.js new file mode 100644 index 0000000..9ba1ff8 --- /dev/null +++ b/test/unit/mocha/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: ["mocha"], + env: { + mocha: true + }, +}; \ No newline at end of file diff --git a/test/unit/mocha/getContextInfo.spec.js b/test/unit/mocha/getContextInfo.spec.js new file mode 100644 index 0000000..71aa764 --- /dev/null +++ b/test/unit/mocha/getContextInfo.spec.js @@ -0,0 +1,13 @@ +const assert = require('assert'); +const getContextInfo = require('../../../dist/getContextInfo').default; + +assert.equal(getContextInfo(), 'normal'); +describe('given inside it', () => { + assert.equal(getContextInfo(), 'normal'); + beforeEach(() => { + assert.equal(getContextInfo(), 'lifecycle'); + }); + it('does something', () => { + assert.equal(getContextInfo(), 'test'); + }); +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..793dd5c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "ES6", + "lib": ["es2016", "dom"], + "module": "commonjs", + "declaration": true, + "outDir": "./dist", + "strict": true + }, + "include": ["src"], + "exclude": ["node_modules", "test"], +}