diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..20f0dc9
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,8 @@
+{
+ "env": {
+ "es2020": true,
+ "shared-node-browser": true,
+ "node": true
+ },
+ "extends": "./node_modules/@wessberg/ts-config/.eslintrc.json"
+}
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..bba6ddf
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+github: wessberg
+patreon: wessberg
diff --git a/LICENSE.md b/LICENSE.md
index e5df0c8..fa59072 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright © 2019 [Frederik Wessberg](mailto:frederikwessberg@hotmail.com) ([@FredWessberg](https://twitter.com/FredWessberg)) ([Website](https://github.com/wessberg))
+Copyright © 2020 [Frederik Wessberg](mailto:frederikwessberg@hotmail.com) ([@FredWessberg](https://twitter.com/FredWessberg)) ([Website](https://github.com/wessberg))
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index a7bfbd2..e0419b1 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,6 @@
-
@@ -55,22 +54,16 @@ This has been implemented as a TypeScript Custom Transformer in order to be so l
- [Features](#features)
- [Table of Contents](#table-of-contents)
- [Install](#install)
- - [NPM](#npm)
+ - [npm](#npm)
- [Yarn](#yarn)
+ - [pnpm](#pnpm)
+ - [Peer Dependencies](#peer-dependencies)
- [Usage](#usage)
- - [Usage with TypeScript's Compiler APIs](#usage-with-typescripts-compiler-apis)
- - [Usage with Rollup](#usage-with-rollup)
- - [Usage with rollup-plugin-ts](#usage-with-rollup-plugin-ts)
- - [Usage with rollup-plugin-typescript2](#usage-with-rollup-plugin-typescript2)
- - [Usage with Webpack](#usage-with-webpack)
- - [Usage with awesome-typescript-loader](#usage-with-awesome-typescript-loader)
- - [Usage with ts-loader](#usage-with-ts-loader)
- [Contributing](#contributing)
- [Maintainers](#maintainers)
- [Backers](#backers)
- [Patreon](#patreon)
- [FAQ](#faq)
- - [How does it work, exactly?](#how-does-it-work-exactly)
- [License](#license)
@@ -79,7 +72,7 @@ This has been implemented as a TypeScript Custom Transformer in order to be so l
## Install
-### NPM
+### npm
```
$ npm install @wessberg/di-compiler
@@ -91,6 +84,16 @@ $ npm install @wessberg/di-compiler
$ yarn add @wessberg/di-compiler
```
+### pnpm
+
+```
+$ pnpm add @wessberg/di-compiler
+```
+
+### Peer Dependencies
+
+`@wessberg/di-compiler` depends on `typescript`, so you need to manually install these as well.
+
@@ -111,7 +114,48 @@ There's several ways to do this, but here's a simple example:
import {
createProgram,
getDefaultCompilerOptions,
- createCompilerHost
+ createCompilerHost,
+} from "typescript";
+import { di } from "@wessberg/di-compiler";
+
+const compilerOptions = getDefaultCompilerOptions();
+const compilerHost = createCompilerHost(compilerOptions);
+
+// Create a Typescript program
+const program = createProgram(
+ ["my-file-1.ts", "my-file-2.ts"],
+ compilerOptions,
+ compilerHost
+);
+
+// Transform the SourceFiles within the program, and pass them through the 'di' transformer
+program.emit(undefined, undefined, undefined, undefined, di({ program }));
+```
+
+### Usage with ts-node
+
+One of the simplest ways to use DI-compiler is with [`ts-node`](https://github.com/TypeStrong/ts-node):
+
+```
+node -r @wessberg/di-compiler/register
+```
+
+You can also do it programmatically. Here's an example using CommonJS:
+
+```typescript
+const { di } = require("@wessberg/rollup-plugin-ts");
+
+require("ts-node").register({
+ transpileOnly: false,
+ transformers: (program) => di({ program }),
+});
+```
+
+```typescript
+import {
+ createProgram,
+ getDefaultCompilerOptions,
+ createCompilerHost,
} from "typescript";
import { di } from "@wessberg/di-compiler";
@@ -149,9 +193,9 @@ export default {
],
plugins: [
ts({
- transformers: [di]
- })
- ]
+ transformers: [di],
+ }),
+ ],
};
```
@@ -168,9 +212,9 @@ export default {
],
plugins: [
ts({
- transformers: [service => di({ program: service.getProgram() })]
- })
- ]
+ transformers: [(service) => di({ program: service.getProgram() })],
+ }),
+ ],
};
```
@@ -195,11 +239,11 @@ const config = {
loader: "awesome-typescript-loader",
options: {
// ...
- getCustomTransformers: program => di({ program })
- }
- }
- ]
- }
+ getCustomTransformers: (program) => di({ program }),
+ },
+ },
+ ],
+ },
// ...
};
```
@@ -218,15 +262,37 @@ const config = {
loader: "ts-loader",
options: {
// ...
- getCustomTransformers: program => di({ program })
- }
- }
- ]
- }
+ getCustomTransformers: (program) => di({ program }),
+ },
+ },
+ ],
+ },
// ...
};
```
+### Usage with ava
+
+You can also use DI-compiler with the [`ava`](https://github.com/avajs/ava) test runner
+with the `require` property in the `ava` configuration:
+
+```json
+{
+ // Other options...
+ "extensions": ["ts"],
+ "require": ["@wessberg/di-compiler/register"]
+}
+```
+
+## Options
+
+You can provide options to the `di` Custom Transformer to configure its behavior:
+
+| Option | Description |
+| ------------------------- | ---------------------------------------------------------------------- |
+| `program` | A full TypeScript program (required). |
+| `typescript` _(optional)_ | If given, the TypeScript version to use internally for all operations. |
+
## Contributing
@@ -239,7 +305,7 @@ Do you want to contribute? Awesome! Please follow [these recommendations](./CONT
## Maintainers
-| |
+| |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Frederik Wessberg](mailto:frederikwessberg@hotmail.com)
Twitter: [@FredWessberg](https://twitter.com/FredWessberg)
Github: [@wessberg](https://github.com/wessberg)
_Lead Developer_ |
@@ -249,11 +315,13 @@ Do you want to contribute? Awesome! Please follow [these recommendations](./CONT
## Backers
-### Patreon
+| |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [Bubbles](https://usebubbles.com)
Twitter: [@use_bubbles](https://twitter.com/use_bubbles) |
-[Become a backer](https://www.patreon.com/bePatron?u=11315442) and get your name, avatar, and Twitter handle listed here.
+### Patreon
-
+
@@ -284,7 +352,7 @@ Will be compiled into:
// ...
container.registerSingleton(undefined, {
identifier: "MyInterface",
- implementation: MyImplementation
+ implementation: MyImplementation,
});
```
diff --git a/package.json b/package.json
index 309c135..a91e5c4 100644
--- a/package.json
+++ b/package.json
@@ -3,22 +3,21 @@
"version": "2.0.5",
"description": "A Custom Transformer for Typescript that enables compile-time Dependency Injection",
"scripts": {
- "generate:readme": "scaffold readme --yes",
- "generate:license": "scaffold license --yes",
- "generate:contributing": "scaffold contributing --yes",
- "generate:coc": "scaffold coc --yes",
+ "generate:scaffold": "scaffold all --yes",
"generate:changelog": "standard-changelog --first-release",
- "generate:all": "npm run generate:license && npm run generate:contributing && npm run generate:coc && npm run generate:readme && npm run generate:changelog",
- "clean:dist": "rm -rf dist",
- "clean": "npm run clean:dist",
- "lint": "tsc --noEmit && tslint -c tslint.json --project tsconfig.json",
- "prettier": "prettier --write '{src,documentation}/**/*.{js,ts,json,html,xml,css,md}'",
- "prebuild": "npm run clean:dist",
- "build": "npm run rollup",
- "watch": "npm run rollup -- --watch",
+ "generate:all": "pnpm run generate:scaffold && pnpm run generate:changelog",
+ "clean:dist": "rimraf dist",
+ "clean": "pnpm run clean:dist",
+ "lint": "tsc --noEmit && eslint \"src/**/*.ts\" --color",
+ "prettier": "prettier --write '{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}'",
+ "test": "ava",
+ "prebuild": "pnpm run clean:dist",
+ "build": "pnpm run rollup",
+ "prewatch": "pnpm run clean:dist",
+ "watch": "pnpm run rollup -- --watch",
"rollup": "rollup -c rollup.config.js",
- "preversion": "npm run lint && NODE_ENV=production npm run build",
- "version": "npm run generate:all && git add .",
+ "preversion": "pnpm run lint && NODE_ENV=production pnpm run build",
+ "version": "pnpm run generate:all && git add .",
"release": "np --no-cleanup --no-yarn"
},
"keywords": [
@@ -35,7 +34,8 @@
"compiler"
],
"files": [
- "dist/**/*.*"
+ "dist/**/*.*",
+ "register/*.*"
],
"contributors": [
{
@@ -50,20 +50,37 @@
],
"license": "MIT",
"devDependencies": {
- "@wessberg/scaffold": "^1.0.18",
- "@wessberg/ts-config": "^0.0.41",
- "@wessberg/rollup-plugin-ts": "1.1.57",
- "standard-changelog": "2.0.11",
- "rollup": "1.15.6",
- "tslint": "5.17.0",
- "prettier": "1.18.2",
- "pretty-quick": "1.11.1",
- "husky": "2.4.1",
- "np": "5.0.3"
+ "@types/prettier": "^2.0.1",
+ "@types/node": "^14.0.5",
+ "@typescript-eslint/eslint-plugin": "^3.0.1",
+ "@typescript-eslint/parser": "^3.0.1",
+ "@wessberg/rollup-plugin-ts": "^1.2.24",
+ "@wessberg/scaffold": "^1.0.29",
+ "@wessberg/di": "^2.0.3",
+ "@wessberg/ts-config": "^1.0.10",
+ "ava": "^3.8.2",
+ "eslint": "^7.1.0",
+ "slash": "^3.0.0",
+ "eslint-config-prettier": "^6.11.0",
+ "eslint-plugin-import": "^2.20.2",
+ "eslint-plugin-jsdoc": "^25.4.2",
+ "husky": "^4.2.5",
+ "np": "^6.2.3",
+ "pnpm": "^4.14.4",
+ "prettier": "^2.0.5",
+ "pretty-quick": "^2.0.1",
+ "rimraf": "^3.0.2",
+ "rollup": "^2.10.9",
+ "standard-changelog": "^2.0.24",
+ "ts-node": "^8.10.1",
+ "typescript": "^3.9.3"
},
"dependencies": {
- "@types/node": "^12.0.8",
- "typescript": "^3.5.2"
+ "@wessberg/ts-evaluator": "^0.0.25",
+ "tslib": "^2.0.0"
+ },
+ "peerDependencies": {
+ "typescript": "^3.x"
},
"repository": {
"type": "git",
@@ -72,18 +89,34 @@
"bugs": {
"url": "https://github.com/wessberg/di-compiler/issues"
},
- "engines": {
- "node": ">=9.0.0"
- },
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"browser": "./dist/esm/index.js",
"types": "./dist/esm/index.d.ts",
"typings": "./dist/esm/index.d.ts",
"es2015": "./dist/esm/index.js",
+ "engines": {
+ "node": ">=8.0.0"
+ },
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
+ },
+ "ava": {
+ "files": [
+ "test/**.test.ts"
+ ],
+ "verbose": true,
+ "timeout": "40s",
+ "extensions": [
+ "ts"
+ ],
+ "environmentVariables": {
+ "NODE_OPTIONS": "--max_old_space_size=4096"
+ },
+ "require": [
+ "ts-node/register/transpile-only"
+ ]
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..db36365
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,7130 @@
+dependencies:
+ "@wessberg/ts-evaluator": 0.0.25_typescript@3.9.3
+ tslib: 2.0.0
+devDependencies:
+ "@types/node": 14.0.5
+ "@types/prettier": 2.0.1
+ "@typescript-eslint/eslint-plugin": 3.0.1_9ab43492353d1d2184725d8d957a32a6
+ "@typescript-eslint/parser": 3.0.1_eslint@7.1.0+typescript@3.9.3
+ "@wessberg/di": 2.0.3
+ "@wessberg/rollup-plugin-ts": 1.2.24_rollup@2.10.9+typescript@3.9.3
+ "@wessberg/scaffold": 1.0.29
+ "@wessberg/ts-config": 1.0.10
+ ava: 3.8.2
+ eslint: 7.1.0
+ eslint-config-prettier: 6.11.0_eslint@7.1.0
+ eslint-plugin-import: 2.20.2_eslint@7.1.0
+ eslint-plugin-jsdoc: 25.4.2_eslint@7.1.0
+ husky: 4.2.5
+ np: 6.2.3
+ pnpm: 4.14.4
+ prettier: 2.0.5
+ pretty-quick: 2.0.1_prettier@2.0.5
+ rimraf: 3.0.2
+ rollup: 2.10.9
+ slash: 3.0.0
+ standard-changelog: 2.0.24
+ ts-node: 8.10.1_typescript@3.9.3
+ typescript: 3.9.3
+lockfileVersion: 5.1
+packages:
+ /@babel/code-frame/7.8.3:
+ dependencies:
+ "@babel/highlight": 7.9.0
+ dev: true
+ resolution:
+ integrity: sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
+ /@babel/compat-data/7.9.6:
+ dependencies:
+ browserslist: 4.12.0
+ invariant: 2.2.4
+ semver: 5.7.1
+ dev: true
+ resolution:
+ integrity: sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==
+ /@babel/core/7.9.6:
+ dependencies:
+ "@babel/code-frame": 7.8.3
+ "@babel/generator": 7.9.6
+ "@babel/helper-module-transforms": 7.9.0
+ "@babel/helpers": 7.9.6
+ "@babel/parser": 7.9.6
+ "@babel/template": 7.8.6
+ "@babel/traverse": 7.9.6
+ "@babel/types": 7.9.6
+ convert-source-map: 1.7.0
+ debug: 4.1.1
+ gensync: 1.0.0-beta.1
+ json5: 2.1.3
+ lodash: 4.17.15
+ resolve: 1.17.0
+ semver: 5.7.1
+ source-map: 0.5.7
+ dev: true
+ engines:
+ node: ">=6.9.0"
+ resolution:
+ integrity: sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
+ /@babel/generator/7.9.6:
+ dependencies:
+ "@babel/types": 7.9.6
+ jsesc: 2.5.2
+ lodash: 4.17.15
+ source-map: 0.5.7
+ dev: true
+ resolution:
+ integrity: sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==
+ /@babel/helper-annotate-as-pure/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==
+ /@babel/helper-builder-binary-assignment-operator-visitor/7.8.3:
+ dependencies:
+ "@babel/helper-explode-assignable-expression": 7.8.3
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==
+ /@babel/helper-compilation-targets/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/compat-data": 7.9.6
+ "@babel/core": 7.9.6
+ browserslist: 4.12.0
+ invariant: 2.2.4
+ levenary: 1.1.1
+ semver: 5.7.1
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ resolution:
+ integrity: sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==
+ /@babel/helper-create-regexp-features-plugin/7.8.8_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-annotate-as-pure": 7.8.3
+ "@babel/helper-regex": 7.8.3
+ regexpu-core: 4.7.0
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ resolution:
+ integrity: sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==
+ /@babel/helper-define-map/7.8.3:
+ dependencies:
+ "@babel/helper-function-name": 7.9.5
+ "@babel/types": 7.9.6
+ lodash: 4.17.15
+ dev: true
+ resolution:
+ integrity: sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==
+ /@babel/helper-explode-assignable-expression/7.8.3:
+ dependencies:
+ "@babel/traverse": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==
+ /@babel/helper-function-name/7.9.5:
+ dependencies:
+ "@babel/helper-get-function-arity": 7.8.3
+ "@babel/template": 7.8.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==
+ /@babel/helper-get-function-arity/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
+ /@babel/helper-hoist-variables/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==
+ /@babel/helper-member-expression-to-functions/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==
+ /@babel/helper-module-imports/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
+ /@babel/helper-module-transforms/7.9.0:
+ dependencies:
+ "@babel/helper-module-imports": 7.8.3
+ "@babel/helper-replace-supers": 7.9.6
+ "@babel/helper-simple-access": 7.8.3
+ "@babel/helper-split-export-declaration": 7.8.3
+ "@babel/template": 7.8.6
+ "@babel/types": 7.9.6
+ lodash: 4.17.15
+ dev: true
+ resolution:
+ integrity: sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==
+ /@babel/helper-optimise-call-expression/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==
+ /@babel/helper-plugin-utils/7.8.3:
+ dev: true
+ resolution:
+ integrity: sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
+ /@babel/helper-regex/7.8.3:
+ dependencies:
+ lodash: 4.17.15
+ dev: true
+ resolution:
+ integrity: sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==
+ /@babel/helper-remap-async-to-generator/7.8.3:
+ dependencies:
+ "@babel/helper-annotate-as-pure": 7.8.3
+ "@babel/helper-wrap-function": 7.8.3
+ "@babel/template": 7.8.6
+ "@babel/traverse": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==
+ /@babel/helper-replace-supers/7.9.6:
+ dependencies:
+ "@babel/helper-member-expression-to-functions": 7.8.3
+ "@babel/helper-optimise-call-expression": 7.8.3
+ "@babel/traverse": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==
+ /@babel/helper-simple-access/7.8.3:
+ dependencies:
+ "@babel/template": 7.8.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==
+ /@babel/helper-split-export-declaration/7.8.3:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
+ /@babel/helper-validator-identifier/7.9.5:
+ dev: true
+ resolution:
+ integrity: sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
+ /@babel/helper-wrap-function/7.8.3:
+ dependencies:
+ "@babel/helper-function-name": 7.9.5
+ "@babel/template": 7.8.6
+ "@babel/traverse": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==
+ /@babel/helpers/7.9.6:
+ dependencies:
+ "@babel/template": 7.8.6
+ "@babel/traverse": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==
+ /@babel/highlight/7.9.0:
+ dependencies:
+ "@babel/helper-validator-identifier": 7.9.5
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+ resolution:
+ integrity: sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==
+ /@babel/parser/7.9.6:
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
+ /@babel/plugin-proposal-async-generator-functions/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/helper-remap-async-to-generator": 7.8.3
+ "@babel/plugin-syntax-async-generators": 7.8.4_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==
+ /@babel/plugin-proposal-dynamic-import/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-dynamic-import": 7.8.3_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==
+ /@babel/plugin-proposal-json-strings/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-json-strings": 7.8.3_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==
+ /@babel/plugin-proposal-nullish-coalescing-operator/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==
+ /@babel/plugin-proposal-numeric-separator/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-numeric-separator": 7.8.3_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==
+ /@babel/plugin-proposal-object-rest-spread/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-object-rest-spread": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-parameters": 7.9.5_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==
+ /@babel/plugin-proposal-optional-catch-binding/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-optional-catch-binding": 7.8.3_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==
+ /@babel/plugin-proposal-optional-chaining/7.9.0_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-syntax-optional-chaining": 7.8.3_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==
+ /@babel/plugin-proposal-unicode-property-regex/7.8.8_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-create-regexp-features-plugin": 7.8.8_@babel+core@7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ engines:
+ node: ">=4"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==
+ /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+ /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+ /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+ /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+ /@babel/plugin-syntax-numeric-separator/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==
+ /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+ /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+ /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+ /@babel/plugin-syntax-top-level-await/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==
+ /@babel/plugin-transform-arrow-functions/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==
+ /@babel/plugin-transform-async-to-generator/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-module-imports": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/helper-remap-async-to-generator": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==
+ /@babel/plugin-transform-block-scoped-functions/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==
+ /@babel/plugin-transform-block-scoping/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ lodash: 4.17.15
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==
+ /@babel/plugin-transform-classes/7.9.5_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-annotate-as-pure": 7.8.3
+ "@babel/helper-define-map": 7.8.3
+ "@babel/helper-function-name": 7.9.5
+ "@babel/helper-optimise-call-expression": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/helper-replace-supers": 7.9.6
+ "@babel/helper-split-export-declaration": 7.8.3
+ globals: 11.12.0
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==
+ /@babel/plugin-transform-computed-properties/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==
+ /@babel/plugin-transform-destructuring/7.9.5_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==
+ /@babel/plugin-transform-dotall-regex/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-create-regexp-features-plugin": 7.8.8_@babel+core@7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==
+ /@babel/plugin-transform-duplicate-keys/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==
+ /@babel/plugin-transform-exponentiation-operator/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-builder-binary-assignment-operator-visitor": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==
+ /@babel/plugin-transform-for-of/7.9.0_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==
+ /@babel/plugin-transform-function-name/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-function-name": 7.9.5
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==
+ /@babel/plugin-transform-literals/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==
+ /@babel/plugin-transform-member-expression-literals/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==
+ /@babel/plugin-transform-modules-amd/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-module-transforms": 7.9.0
+ "@babel/helper-plugin-utils": 7.8.3
+ babel-plugin-dynamic-import-node: 2.3.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==
+ /@babel/plugin-transform-modules-commonjs/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-module-transforms": 7.9.0
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/helper-simple-access": 7.8.3
+ babel-plugin-dynamic-import-node: 2.3.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==
+ /@babel/plugin-transform-modules-systemjs/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-hoist-variables": 7.8.3
+ "@babel/helper-module-transforms": 7.9.0
+ "@babel/helper-plugin-utils": 7.8.3
+ babel-plugin-dynamic-import-node: 2.3.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==
+ /@babel/plugin-transform-modules-umd/7.9.0_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-module-transforms": 7.9.0
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==
+ /@babel/plugin-transform-named-capturing-groups-regex/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-create-regexp-features-plugin": 7.8.8_@babel+core@7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ resolution:
+ integrity: sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==
+ /@babel/plugin-transform-new-target/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==
+ /@babel/plugin-transform-object-super/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/helper-replace-supers": 7.9.6
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==
+ /@babel/plugin-transform-parameters/7.9.5_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-get-function-arity": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==
+ /@babel/plugin-transform-property-literals/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==
+ /@babel/plugin-transform-regenerator/7.8.7_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ regenerator-transform: 0.14.4
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==
+ /@babel/plugin-transform-reserved-words/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==
+ /@babel/plugin-transform-runtime/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-module-imports": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ resolve: 1.17.0
+ semver: 5.7.1
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==
+ /@babel/plugin-transform-shorthand-properties/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==
+ /@babel/plugin-transform-spread/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==
+ /@babel/plugin-transform-sticky-regex/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/helper-regex": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==
+ /@babel/plugin-transform-template-literals/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-annotate-as-pure": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==
+ /@babel/plugin-transform-typeof-symbol/7.8.4_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==
+ /@babel/plugin-transform-unicode-regex/7.8.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-create-regexp-features-plugin": 7.8.8_@babel+core@7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==
+ /@babel/preset-env/7.9.6_@babel+core@7.9.6:
+ dependencies:
+ "@babel/compat-data": 7.9.6
+ "@babel/core": 7.9.6
+ "@babel/helper-compilation-targets": 7.9.6_@babel+core@7.9.6
+ "@babel/helper-module-imports": 7.8.3
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-proposal-async-generator-functions": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-dynamic-import": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-json-strings": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-nullish-coalescing-operator": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-numeric-separator": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-object-rest-spread": 7.9.6_@babel+core@7.9.6
+ "@babel/plugin-proposal-optional-catch-binding": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-optional-chaining": 7.9.0_@babel+core@7.9.6
+ "@babel/plugin-proposal-unicode-property-regex": 7.8.8_@babel+core@7.9.6
+ "@babel/plugin-syntax-async-generators": 7.8.4_@babel+core@7.9.6
+ "@babel/plugin-syntax-dynamic-import": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-json-strings": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-numeric-separator": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-object-rest-spread": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-optional-catch-binding": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-optional-chaining": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-syntax-top-level-await": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-arrow-functions": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-async-to-generator": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-block-scoped-functions": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-block-scoping": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-classes": 7.9.5_@babel+core@7.9.6
+ "@babel/plugin-transform-computed-properties": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-destructuring": 7.9.5_@babel+core@7.9.6
+ "@babel/plugin-transform-dotall-regex": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-duplicate-keys": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-exponentiation-operator": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-for-of": 7.9.0_@babel+core@7.9.6
+ "@babel/plugin-transform-function-name": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-literals": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-member-expression-literals": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-modules-amd": 7.9.6_@babel+core@7.9.6
+ "@babel/plugin-transform-modules-commonjs": 7.9.6_@babel+core@7.9.6
+ "@babel/plugin-transform-modules-systemjs": 7.9.6_@babel+core@7.9.6
+ "@babel/plugin-transform-modules-umd": 7.9.0_@babel+core@7.9.6
+ "@babel/plugin-transform-named-capturing-groups-regex": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-new-target": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-object-super": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-parameters": 7.9.5_@babel+core@7.9.6
+ "@babel/plugin-transform-property-literals": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-regenerator": 7.8.7_@babel+core@7.9.6
+ "@babel/plugin-transform-reserved-words": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-shorthand-properties": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-spread": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-sticky-regex": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-template-literals": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-typeof-symbol": 7.8.4_@babel+core@7.9.6
+ "@babel/plugin-transform-unicode-regex": 7.8.3_@babel+core@7.9.6
+ "@babel/preset-modules": 0.1.3_@babel+core@7.9.6
+ "@babel/types": 7.9.6
+ browserslist: 4.12.0
+ core-js-compat: 3.6.5
+ invariant: 2.2.4
+ levenary: 1.1.1
+ semver: 5.7.1
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==
+ /@babel/preset-modules/0.1.3_@babel+core@7.9.6:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/helper-plugin-utils": 7.8.3
+ "@babel/plugin-proposal-unicode-property-regex": 7.8.8_@babel+core@7.9.6
+ "@babel/plugin-transform-dotall-regex": 7.8.3_@babel+core@7.9.6
+ "@babel/types": 7.9.6
+ esutils: 2.0.3
+ dev: true
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ resolution:
+ integrity: sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
+ /@babel/runtime/7.9.6:
+ dependencies:
+ regenerator-runtime: 0.13.5
+ dev: true
+ resolution:
+ integrity: sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
+ /@babel/template/7.8.6:
+ dependencies:
+ "@babel/code-frame": 7.8.3
+ "@babel/parser": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
+ /@babel/traverse/7.9.6:
+ dependencies:
+ "@babel/code-frame": 7.8.3
+ "@babel/generator": 7.9.6
+ "@babel/helper-function-name": 7.9.5
+ "@babel/helper-split-export-declaration": 7.8.3
+ "@babel/parser": 7.9.6
+ "@babel/types": 7.9.6
+ debug: 4.1.1
+ globals: 11.12.0
+ lodash: 4.17.15
+ dev: true
+ resolution:
+ integrity: sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==
+ /@babel/types/7.9.6:
+ dependencies:
+ "@babel/helper-validator-identifier": 7.9.5
+ lodash: 4.17.15
+ to-fast-properties: 2.0.0
+ dev: true
+ resolution:
+ integrity: sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
+ /@concordance/react/2.0.0:
+ dependencies:
+ arrify: 1.0.1
+ dev: true
+ engines:
+ node: ">=6.12.3 <7 || >=8.9.4 <9 || >=10.0.0"
+ resolution:
+ integrity: sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA==
+ /@nodelib/fs.scandir/2.1.3:
+ dependencies:
+ "@nodelib/fs.stat": 2.0.3
+ run-parallel: 1.1.9
+ dev: true
+ engines:
+ node: ">= 8"
+ resolution:
+ integrity: sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
+ /@nodelib/fs.stat/2.0.3:
+ dev: true
+ engines:
+ node: ">= 8"
+ resolution:
+ integrity: sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
+ /@nodelib/fs.walk/1.2.4:
+ dependencies:
+ "@nodelib/fs.scandir": 2.1.3
+ fastq: 1.8.0
+ dev: true
+ engines:
+ node: ">= 8"
+ resolution:
+ integrity: sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
+ /@rollup/pluginutils/3.0.10_rollup@2.10.9:
+ dependencies:
+ "@types/estree": 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.2.2
+ rollup: 2.10.9
+ dev: true
+ engines:
+ node: ">= 8.0.0"
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ resolution:
+ integrity: sha512-d44M7t+PjmMrASHbhgpSbVgtL6EFyX7J4mYxwQ/c5eoaE6N2VgCgEcWVzNnwycIloti+/MpwFr8qfw+nRw00sw==
+ /@samverschueren/stream-to-observable/0.3.0:
+ dependencies:
+ any-observable: 0.3.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==
+ /@sindresorhus/is/0.14.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+ /@szmarczak/http-timer/1.1.2:
+ dependencies:
+ defer-to-connect: 1.1.3
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+ /@types/babel__core/7.1.7:
+ dependencies:
+ "@babel/parser": 7.9.6
+ "@babel/types": 7.9.6
+ "@types/babel__generator": 7.6.1
+ "@types/babel__template": 7.0.2
+ "@types/babel__traverse": 7.0.11
+ dev: true
+ resolution:
+ integrity: sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==
+ /@types/babel__generator/7.6.1:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==
+ /@types/babel__template/7.0.2:
+ dependencies:
+ "@babel/parser": 7.9.6
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==
+ /@types/babel__traverse/7.0.11:
+ dependencies:
+ "@babel/types": 7.9.6
+ dev: true
+ resolution:
+ integrity: sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==
+ /@types/color-name/1.1.1:
+ resolution:
+ integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+ /@types/eslint-visitor-keys/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
+ /@types/estree/0.0.39:
+ dev: true
+ resolution:
+ integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+ /@types/events/3.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
+ /@types/glob/7.1.1:
+ dependencies:
+ "@types/events": 3.0.0
+ "@types/minimatch": 3.0.3
+ "@types/node": 14.0.5
+ dev: true
+ resolution:
+ integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
+ /@types/jsdom/16.2.3:
+ dependencies:
+ "@types/node": 14.0.5
+ "@types/parse5": 5.0.3
+ "@types/tough-cookie": 4.0.0
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-BREatezSn74rmLIDksuqGNFUTi9HNAWWQXYpFBFLK9U6wlMCO4M0QCa8CMpDsZQuqxSO9XifVLT5Q1P0vgKLqw==
+ /@types/json-schema/7.0.4:
+ dev: true
+ resolution:
+ integrity: sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
+ /@types/minimatch/3.0.3:
+ dev: true
+ resolution:
+ integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+ /@types/minimist/1.2.0:
+ dev: true
+ resolution:
+ integrity: sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
+ /@types/node/13.13.9:
+ dev: false
+ resolution:
+ integrity: sha512-EPZBIGed5gNnfWCiwEIwTE2Jdg4813odnG8iNPMQGrqVxrI+wL68SPtPeCX+ZxGBaA6pKAVc6jaKgP/Q0QzfdQ==
+ /@types/node/14.0.5:
+ resolution:
+ integrity: sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==
+ /@types/normalize-package-data/2.4.0:
+ dev: true
+ resolution:
+ integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+ /@types/object-path/0.11.0:
+ resolution:
+ integrity: sha512-/tuN8jDbOXcPk+VzEVZzzAgw1Byz7s/itb2YI10qkSyy6nykJH02DuhfrflxVdAdE7AZ91h5X6Cn0dmVdFw2TQ==
+ /@types/parse-json/4.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+ /@types/parse5/5.0.3:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==
+ /@types/prettier/1.19.1:
+ dev: true
+ resolution:
+ integrity: sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==
+ /@types/prettier/2.0.1:
+ dev: true
+ resolution:
+ integrity: sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ==
+ /@types/semver/7.2.0:
+ dependencies:
+ "@types/node": 14.0.5
+ dev: true
+ resolution:
+ integrity: sha512-TbB0A8ACUWZt3Y6bQPstW9QNbhNeebdgLX4T/ZfkrswAfUzRiXrgd9seol+X379Wa589Pu4UEx9Uok0D4RjRCQ==
+ /@types/tough-cookie/4.0.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==
+ /@types/ua-parser-js/0.7.33:
+ dev: true
+ resolution:
+ integrity: sha512-ngUKcHnytUodUCL7C6EZ+lVXUjTMQb+9p/e1JjV5tN9TVzS98lHozWEFRPY1QcCdwFeMsmVWfZ3DPPT/udCyIw==
+ /@typescript-eslint/eslint-plugin/3.0.1_9ab43492353d1d2184725d8d957a32a6:
+ dependencies:
+ "@typescript-eslint/experimental-utils": 3.0.1_eslint@7.1.0+typescript@3.9.3
+ "@typescript-eslint/parser": 3.0.1_eslint@7.1.0+typescript@3.9.3
+ eslint: 7.1.0
+ functional-red-black-tree: 1.0.1
+ regexpp: 3.1.0
+ semver: 7.3.2
+ tsutils: 3.17.1_typescript@3.9.3
+ typescript: 3.9.3
+ dev: true
+ engines:
+ node: ^10.12.0 || >=12.0.0
+ peerDependencies:
+ "@typescript-eslint/parser": ^3.0.0
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ resolution:
+ integrity: sha512-RxGldRQD3hgOK2xtBfNfA5MMV3rn5gVChe+MIf14hKm51jO2urqF64xOyVrGtzThkrd4rS1Kihqx2nkSxkXHvA==
+ /@typescript-eslint/experimental-utils/3.0.1_eslint@7.1.0+typescript@3.9.3:
+ dependencies:
+ "@types/json-schema": 7.0.4
+ "@typescript-eslint/typescript-estree": 3.0.1_typescript@3.9.3
+ eslint: 7.1.0
+ eslint-scope: 5.0.0
+ eslint-utils: 2.0.0
+ dev: true
+ engines:
+ node: ^10.12.0 || >=12.0.0
+ peerDependencies:
+ eslint: "*"
+ typescript: "*"
+ resolution:
+ integrity: sha512-GdwOVz80MOWxbc/br1DC30eeqlxfpVzexHgHtf3L0hcbOu1xAs1wSCNcaBTLMOMZbh1gj/cKZt0eB207FxWfFA==
+ /@typescript-eslint/parser/3.0.1_eslint@7.1.0+typescript@3.9.3:
+ dependencies:
+ "@types/eslint-visitor-keys": 1.0.0
+ "@typescript-eslint/experimental-utils": 3.0.1_eslint@7.1.0+typescript@3.9.3
+ "@typescript-eslint/typescript-estree": 3.0.1_typescript@3.9.3
+ eslint: 7.1.0
+ eslint-visitor-keys: 1.1.0
+ typescript: 3.9.3
+ dev: true
+ engines:
+ node: ^10.12.0 || >=12.0.0
+ peerDependencies:
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ resolution:
+ integrity: sha512-Pn2tDmOc4Ri93VQnT70W0pqQr6i/pEZqIPXfWXm4RuiIprL0t6SG13ViVXHgfScknL2Fm2G4IqXhUzxSRCWXCw==
+ /@typescript-eslint/typescript-estree/3.0.1_typescript@3.9.3:
+ dependencies:
+ debug: 4.1.1
+ eslint-visitor-keys: 1.1.0
+ glob: 7.1.6
+ is-glob: 4.0.1
+ lodash: 4.17.15
+ semver: 7.3.2
+ tsutils: 3.17.1_typescript@3.9.3
+ typescript: 3.9.3
+ dev: true
+ engines:
+ node: ^10.12.0 || >=12.0.0
+ peerDependencies:
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ resolution:
+ integrity: sha512-FrbMdgVCeIGHKaP9OYTttFTlF8Ds7AkjMca2GzYCE7pVch10PAJc1mmAFt+DfQPgu/2TrLAprg2vI0PK/WTdcg==
+ /@wessberg/browserslist-generator/1.0.36:
+ dependencies:
+ "@types/object-path": 0.11.0
+ "@types/semver": 7.2.0
+ "@types/ua-parser-js": 0.7.33
+ browserslist: 4.12.0
+ caniuse-lite: 1.0.30001065
+ mdn-browser-compat-data: 1.0.19
+ object-path: 0.11.4
+ semver: 7.3.2
+ ua-parser-js: 0.7.21
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ resolution:
+ integrity: sha512-ZxC4uWO10MAUfLMyED6bpq3jR6+25sW3PRZsM28EquaUUnSZfWgx26YsKA9TWGW/3lFOfc+T8QUAG+ln9owQDA==
+ /@wessberg/di/2.0.3:
+ dependencies:
+ tslib: 1.13.0
+ dev: true
+ engines:
+ node: ">=9.0.0"
+ resolution:
+ integrity: sha512-2mpz/Cw67DCn6Hn3bd5tTfgo3VFLSTzfcffo4DaZobHnORqx4Yxts4XyQLXbZ+ordy5oRmcnoyclcbLnC0/zhA==
+ /@wessberg/rollup-plugin-ts/1.2.24_rollup@2.10.9+typescript@3.9.3:
+ dependencies:
+ "@babel/core": 7.9.6
+ "@babel/plugin-proposal-async-generator-functions": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-json-strings": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-object-rest-spread": 7.9.6_@babel+core@7.9.6
+ "@babel/plugin-proposal-optional-catch-binding": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-proposal-unicode-property-regex": 7.8.8_@babel+core@7.9.6
+ "@babel/plugin-syntax-dynamic-import": 7.8.3_@babel+core@7.9.6
+ "@babel/plugin-transform-runtime": 7.9.6_@babel+core@7.9.6
+ "@babel/preset-env": 7.9.6_@babel+core@7.9.6
+ "@babel/runtime": 7.9.6
+ "@rollup/pluginutils": 3.0.10_rollup@2.10.9
+ "@types/babel__core": 7.1.7
+ "@wessberg/browserslist-generator": 1.0.36
+ "@wessberg/stringutil": 1.0.19
+ "@wessberg/ts-clone-node": 0.3.8_typescript@3.9.3
+ browserslist: 4.12.0
+ chalk: 4.0.0
+ magic-string: 0.25.7
+ rollup: 2.10.9
+ slash: 3.0.0
+ tslib: 1.13.0
+ typescript: 3.9.3
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ peerDependencies:
+ rollup: ">=1.x"
+ typescript: ">= 3.x"
+ resolution:
+ integrity: sha512-lOoojizZRSWt9RY4Y7GBLR4CaCdlavUidL9WKRWGg3Ods0TMYhkvQtCGqXGTzm5dp7WkSqKCQhmY56A7uqb4hw==
+ /@wessberg/scaffold/1.0.29:
+ dependencies:
+ "@types/prettier": 1.19.1
+ chalk: 3.0.0
+ commander: 4.1.1
+ eslint: 6.8.0
+ inquirer: 7.1.0
+ json5: 2.1.3
+ markdown-toc: 1.2.0
+ prettier: 1.19.1
+ yaml: 1.10.0
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-cUFcTjcsz9G1isObihV4WnB2mXNihcHNyLgjalyA2eZx10uzWmOfIcelqZRE07QauMaql99DlLFH782MBvihHA==
+ /@wessberg/stringutil/1.0.19:
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ resolution:
+ integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==
+ /@wessberg/ts-clone-node/0.3.8_typescript@3.9.3:
+ dependencies:
+ typescript: 3.9.3
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ peerDependencies:
+ typescript: ^3.x
+ resolution:
+ integrity: sha512-m/+1ox7e2K/KwWFe1K7OpiqTHZnraCG6urhCt4Y5Dxw8dr1NMcV52Q8qvJd0lGfhGhZiVD/SWbUj9i2wKzdK6w==
+ /@wessberg/ts-config/1.0.10:
+ dev: true
+ resolution:
+ integrity: sha512-ZPmsUwykrpcYeAXh+Pj97hsQjK2IK4B+yFbBx+35KwmfK2y3/Dn8QDcMSiHsglUEsJ5181LdzrnlpJiECepgeg==
+ /@wessberg/ts-evaluator/0.0.25_typescript@3.9.3:
+ dependencies:
+ "@types/node": 13.13.9
+ "@types/object-path": 0.11.0
+ chalk: 3.0.0
+ object-path: 0.11.4
+ tslib: 1.13.0
+ typescript: 3.9.3
+ dev: false
+ engines:
+ node: ">=10.1.0"
+ optionalDependencies:
+ "@types/jsdom": 16.2.3
+ jsdom: 16.2.2
+ peerDependencies:
+ typescript: ^3.x
+ resolution:
+ integrity: sha512-/Bo/enrMymuoR3/hnmpOeoaciKt/ILLOrhHa5yhjQNNYDumRYhIx40gjfe/yNwAtZWrVCyB69rBoEy/YGln/+A==
+ /JSONStream/1.3.5:
+ dependencies:
+ jsonparse: 1.3.1
+ through: 2.3.8
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+ /abab/2.0.3:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
+ /acorn-globals/6.0.0:
+ dependencies:
+ acorn: 7.2.0
+ acorn-walk: 7.1.1
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==
+ /acorn-jsx/5.2.0_acorn@7.2.0:
+ dependencies:
+ acorn: 7.2.0
+ dev: true
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0
+ resolution:
+ integrity: sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
+ /acorn-walk/7.1.1:
+ engines:
+ node: ">=0.4.0"
+ resolution:
+ integrity: sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
+ /acorn/7.2.0:
+ engines:
+ node: ">=0.4.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==
+ /add-stream/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=
+ /aggregate-error/3.0.1:
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
+ /ajv/6.12.2:
+ dependencies:
+ fast-deep-equal: 3.1.1
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.2.2
+ resolution:
+ integrity: sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
+ /ansi-align/3.0.0:
+ dependencies:
+ string-width: 3.1.0
+ dev: true
+ resolution:
+ integrity: sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
+ /ansi-escapes/3.2.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+ /ansi-escapes/4.3.1:
+ dependencies:
+ type-fest: 0.11.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+ /ansi-red/0.1.1:
+ dependencies:
+ ansi-wrap: 0.1.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=
+ /ansi-regex/2.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+ /ansi-regex/3.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+ /ansi-regex/4.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+ /ansi-regex/5.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+ /ansi-styles/2.2.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+ /ansi-styles/3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ /ansi-styles/4.2.1:
+ dependencies:
+ "@types/color-name": 1.1.1
+ color-convert: 2.0.1
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ /ansi-wrap/0.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-qCJQ3bABXponyoLoLqYDu/pF768=
+ /any-observable/0.3.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
+ /any-observable/0.5.1_rxjs@6.5.5:
+ dependencies:
+ rxjs: 6.5.5
+ dev: true
+ engines:
+ node: ">=8"
+ peerDependencies:
+ rxjs: "*"
+ zen-observable: "*"
+ peerDependenciesMeta:
+ rxjs:
+ optional: true
+ zen-observable:
+ optional: true
+ resolution:
+ integrity: sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA==
+ /anymatch/3.1.1:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.2.2
+ dev: true
+ engines:
+ node: ">= 8"
+ resolution:
+ integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ /arg/4.1.3:
+ dev: true
+ resolution:
+ integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+ /argparse/1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: true
+ resolution:
+ integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ /array-differ/3.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
+ /array-find-index/1.0.2:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+ /array-ify/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
+ /array-includes/3.1.1:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ is-string: 1.0.5
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
+ /array-union/1.0.2:
+ dependencies:
+ array-uniq: 1.0.3
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
+ /array-union/2.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+ /array-uniq/1.0.3:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
+ /array.prototype.flat/1.2.3:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
+ /arrgv/1.0.2:
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ resolution:
+ integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==
+ /arrify/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+ /arrify/2.0.1:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+ /asn1/0.2.4:
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+ /assert-plus/1.0.0:
+ dev: false
+ engines:
+ node: ">=0.8"
+ optional: true
+ resolution:
+ integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+ /astral-regex/1.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+ /astral-regex/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+ /async-exit-hook/2.0.1:
+ dev: true
+ engines:
+ node: ">=0.12.0"
+ resolution:
+ integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==
+ /asynckit/0.4.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=
+ /autolinker/0.28.1:
+ dependencies:
+ gulp-header: 1.8.12
+ dev: true
+ resolution:
+ integrity: sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=
+ /ava/3.8.2:
+ dependencies:
+ "@concordance/react": 2.0.0
+ acorn: 7.2.0
+ acorn-walk: 7.1.1
+ ansi-styles: 4.2.1
+ arrgv: 1.0.2
+ arrify: 2.0.1
+ callsites: 3.1.0
+ chalk: 4.0.0
+ chokidar: 3.4.0
+ chunkd: 2.0.1
+ ci-info: 2.0.0
+ ci-parallel-vars: 1.0.0
+ clean-yaml-object: 0.1.0
+ cli-cursor: 3.1.0
+ cli-truncate: 2.1.0
+ code-excerpt: 2.1.1
+ common-path-prefix: 3.0.0
+ concordance: 4.0.0
+ convert-source-map: 1.7.0
+ currently-unhandled: 0.4.1
+ debug: 4.1.1
+ del: 5.1.0
+ emittery: 0.6.0
+ equal-length: 1.0.1
+ figures: 3.2.0
+ globby: 11.0.0
+ ignore-by-default: 1.0.1
+ import-local: 3.0.2
+ indent-string: 4.0.0
+ is-error: 2.2.2
+ is-plain-object: 3.0.0
+ is-promise: 4.0.0
+ lodash: 4.17.15
+ matcher: 3.0.0
+ md5-hex: 3.0.1
+ mem: 6.1.0
+ ms: 2.1.2
+ ora: 4.0.4
+ p-map: 4.0.0
+ picomatch: 2.2.2
+ pkg-conf: 3.1.0
+ plur: 4.0.0
+ pretty-ms: 7.0.0
+ read-pkg: 5.2.0
+ resolve-cwd: 3.0.0
+ slash: 3.0.0
+ source-map-support: 0.5.19
+ stack-utils: 2.0.2
+ strip-ansi: 6.0.0
+ supertap: 1.0.0
+ temp-dir: 2.0.0
+ trim-off-newlines: 1.0.1
+ update-notifier: 4.1.0
+ write-file-atomic: 3.0.3
+ yargs: 15.3.1
+ dev: true
+ engines:
+ node: ">=10.18.0 <11 || >=12.14.0 <12.16.0 || >=12.16.0 <13 || >=13.5.0 <14 || >=14.0.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-sph3oUsVTGsq4qbgeWys03QKCmXjkZUO3oPnFWXEW6g1SReCY9vuONGghMgw1G6VOzkg1k+niqJsOzwfO8h9Ng==
+ /aws-sign2/0.7.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+ /aws4/1.10.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==
+ /babel-plugin-dynamic-import-node/2.3.3:
+ dependencies:
+ object.assign: 4.1.0
+ dev: true
+ resolution:
+ integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ /balanced-match/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+ /bcrypt-pbkdf/1.0.2:
+ dependencies:
+ tweetnacl: 0.14.5
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ /binary-extensions/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
+ /blueimp-md5/2.16.0:
+ dev: true
+ resolution:
+ integrity: sha512-j4nzWIqEFpLSbdhUApHRGDwfXbV8ALhqOn+FY5L6XBdKPAXU9BpGgFSbDsgqogfqPPR9R2WooseWCsfhfEC6uQ==
+ /boxen/4.2.0:
+ dependencies:
+ ansi-align: 3.0.0
+ camelcase: 5.3.1
+ chalk: 3.0.0
+ cli-boxes: 2.2.0
+ string-width: 4.2.0
+ term-size: 2.2.0
+ type-fest: 0.8.1
+ widest-line: 3.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
+ /brace-expansion/1.1.11:
+ dependencies:
+ balanced-match: 1.0.0
+ concat-map: 0.0.1
+ dev: true
+ resolution:
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ /braces/3.0.2:
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ /browser-process-hrtime/1.0.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+ /browserslist/4.12.0:
+ dependencies:
+ caniuse-lite: 1.0.30001065
+ electron-to-chromium: 1.3.451
+ node-releases: 1.1.56
+ pkg-up: 2.0.0
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
+ /buffer-from/1.1.1:
+ dev: true
+ resolution:
+ integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+ /builtins/1.0.3:
+ dev: true
+ resolution:
+ integrity: sha1-y5T662HIaWRR2zZTThQi+U8K7og=
+ /cacheable-request/6.1.0:
+ dependencies:
+ clone-response: 1.0.2
+ get-stream: 5.1.0
+ http-cache-semantics: 4.1.0
+ keyv: 3.1.0
+ lowercase-keys: 2.0.0
+ normalize-url: 4.5.0
+ responselike: 1.0.2
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+ /callsites/3.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+ /camelcase-keys/2.1.0:
+ dependencies:
+ camelcase: 2.1.1
+ map-obj: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
+ /camelcase-keys/4.2.0:
+ dependencies:
+ camelcase: 4.1.0
+ map-obj: 2.0.0
+ quick-lru: 1.1.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=
+ /camelcase-keys/6.2.2:
+ dependencies:
+ camelcase: 5.3.1
+ map-obj: 4.1.0
+ quick-lru: 4.0.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==
+ /camelcase/2.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+ /camelcase/4.1.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
+ /camelcase/5.3.1:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+ /camelcase/6.0.0:
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
+ /caniuse-lite/1.0.30001065:
+ dev: true
+ resolution:
+ integrity: sha512-DDxCLgJ266YnAHQv0jS1wdOaihRFF52Zgmlag39sQJVy2H46oROpJp4hITstqhdB8qnHSrKNoAEkQA9L/oYF9A==
+ /caseless/0.12.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+ /chalk/1.1.3:
+ dependencies:
+ ansi-styles: 2.2.1
+ escape-string-regexp: 1.0.5
+ has-ansi: 2.0.0
+ strip-ansi: 3.0.1
+ supports-color: 2.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ /chalk/2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ /chalk/3.0.0:
+ dependencies:
+ ansi-styles: 4.2.1
+ supports-color: 7.1.0
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ /chalk/4.0.0:
+ dependencies:
+ ansi-styles: 4.2.1
+ supports-color: 7.1.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==
+ /chardet/0.7.0:
+ dev: true
+ resolution:
+ integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+ /chokidar/3.4.0:
+ dependencies:
+ anymatch: 3.1.1
+ braces: 3.0.2
+ glob-parent: 5.1.1
+ is-binary-path: 2.1.0
+ is-glob: 4.0.1
+ normalize-path: 3.0.0
+ readdirp: 3.4.0
+ dev: true
+ engines:
+ node: ">= 8.10.0"
+ optionalDependencies:
+ fsevents: 2.1.3
+ resolution:
+ integrity: sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
+ /chunkd/2.0.1:
+ dev: true
+ resolution:
+ integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==
+ /ci-info/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+ /ci-parallel-vars/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-u6dx20FBXm+apMi+5x7UVm6EH7BL1gc4XrcnQewjcB7HWRcor/V5qWc3RG2HwpgDJ26gIi2DSEu3B7sXynAw/g==
+ /clean-stack/2.2.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+ /clean-yaml-object/0.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=
+ /cli-boxes/2.2.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
+ /cli-cursor/2.1.0:
+ dependencies:
+ restore-cursor: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ /cli-cursor/3.1.0:
+ dependencies:
+ restore-cursor: 3.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ /cli-spinners/2.3.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==
+ /cli-truncate/0.2.1:
+ dependencies:
+ slice-ansi: 0.0.4
+ string-width: 1.0.2
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=
+ /cli-truncate/2.1.0:
+ dependencies:
+ slice-ansi: 3.0.0
+ string-width: 4.2.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+ /cli-width/2.2.1:
+ dev: true
+ resolution:
+ integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
+ /cliui/6.0.0:
+ dependencies:
+ string-width: 4.2.0
+ strip-ansi: 6.0.0
+ wrap-ansi: 6.2.0
+ dev: true
+ resolution:
+ integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+ /clone-response/1.0.2:
+ dependencies:
+ mimic-response: 1.0.1
+ dev: true
+ resolution:
+ integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ /clone/1.0.4:
+ dev: true
+ engines:
+ node: ">=0.8"
+ resolution:
+ integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+ /code-excerpt/2.1.1:
+ dependencies:
+ convert-to-spaces: 1.0.2
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==
+ /code-point-at/1.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+ /coffee-script/1.12.7:
+ deprecated: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
+ dev: true
+ engines:
+ node: ">=0.8.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==
+ /color-convert/1.9.3:
+ dependencies:
+ color-name: 1.1.3
+ dev: true
+ resolution:
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ /color-convert/2.0.1:
+ dependencies:
+ color-name: 1.1.4
+ engines:
+ node: ">=7.0.0"
+ resolution:
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ /color-name/1.1.3:
+ dev: true
+ resolution:
+ integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+ /color-name/1.1.4:
+ resolution:
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+ /combined-stream/1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: false
+ engines:
+ node: ">= 0.8"
+ optional: true
+ resolution:
+ integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ /commander/2.20.3:
+ dev: true
+ optional: true
+ resolution:
+ integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+ /commander/4.1.1:
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+ /comment-parser/0.7.4:
+ dev: true
+ engines:
+ node: ">= 6.0.0"
+ resolution:
+ integrity: sha512-Nnl77/mt6sj1BiYSVMeMWzvD0183F2MFOJyFRmZHimUVDYS9J40AvXpiFA7RpU5pQH+HkvYc0dnsHpwW2xmbyQ==
+ /common-path-prefix/3.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==
+ /compare-func/1.3.4:
+ dependencies:
+ array-ify: 1.0.0
+ dot-prop: 3.0.0
+ dev: true
+ resolution:
+ integrity: sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==
+ /compare-versions/3.6.0:
+ dev: true
+ resolution:
+ integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
+ /concat-map/0.0.1:
+ dev: true
+ resolution:
+ integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+ /concat-stream/1.6.2:
+ dependencies:
+ buffer-from: 1.1.1
+ inherits: 2.0.4
+ readable-stream: 2.3.7
+ typedarray: 0.0.6
+ dev: true
+ engines:
+ "0": node >= 0.8
+ resolution:
+ integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ /concat-with-sourcemaps/1.1.0:
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+ resolution:
+ integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==
+ /concordance/4.0.0:
+ dependencies:
+ date-time: 2.1.0
+ esutils: 2.0.3
+ fast-diff: 1.2.0
+ js-string-escape: 1.0.1
+ lodash.clonedeep: 4.5.0
+ lodash.flattendeep: 4.4.0
+ lodash.islength: 4.0.1
+ lodash.merge: 4.6.2
+ md5-hex: 2.0.0
+ semver: 5.7.1
+ well-known-symbols: 2.0.0
+ dev: true
+ engines:
+ node: ">=6.12.3 <7 || >=8.9.4 <9 || >=10.0.0"
+ resolution:
+ integrity: sha512-l0RFuB8RLfCS0Pt2Id39/oCPykE01pyxgAFypWTlaGRgvLkZrtczZ8atEHpTeEIW+zYWXTBuA9cCSeEOScxReQ==
+ /configstore/5.0.1:
+ dependencies:
+ dot-prop: 5.2.0
+ graceful-fs: 4.2.4
+ make-dir: 3.1.0
+ unique-string: 2.0.0
+ write-file-atomic: 3.0.3
+ xdg-basedir: 4.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
+ /contains-path/0.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
+ /conventional-changelog-angular/5.0.10:
+ dependencies:
+ compare-func: 1.3.4
+ q: 1.5.1
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA==
+ /conventional-changelog-core/4.1.7:
+ dependencies:
+ add-stream: 1.0.0
+ conventional-changelog-writer: 4.0.16
+ conventional-commits-parser: 3.1.0
+ dateformat: 3.0.3
+ get-pkg-repo: 1.4.0
+ git-raw-commits: 2.0.0
+ git-remote-origin-url: 2.0.0
+ git-semver-tags: 4.0.0
+ lodash: 4.17.15
+ normalize-package-data: 2.5.0
+ q: 1.5.1
+ read-pkg: 3.0.0
+ read-pkg-up: 3.0.0
+ shelljs: 0.8.4
+ through2: 3.0.1
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-UBvSrQR2RdKbSQKh7RhueiiY4ZAIOW3+CSWdtKOwRv+KxIMNFKm1rOcGBFx0eA8AKhGkkmmacoTWJTqyz7Q0VA==
+ /conventional-changelog-writer/4.0.16:
+ dependencies:
+ compare-func: 1.3.4
+ conventional-commits-filter: 2.0.6
+ dateformat: 3.0.3
+ handlebars: 4.7.6
+ json-stringify-safe: 5.0.1
+ lodash: 4.17.15
+ meow: 7.0.1
+ semver: 6.3.0
+ split: 1.0.1
+ through2: 3.0.1
+ dev: true
+ engines:
+ node: ">=10"
+ hasBin: true
+ resolution:
+ integrity: sha512-jmU1sDJDZpm/dkuFxBeRXvyNcJQeKhGtVcFFkwTphUAzyYWcwz2j36Wcv+Mv2hU3tpvLMkysOPXJTLO55AUrYQ==
+ /conventional-commits-filter/2.0.6:
+ dependencies:
+ lodash.ismatch: 4.4.0
+ modify-values: 1.0.1
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw==
+ /conventional-commits-parser/3.1.0:
+ dependencies:
+ JSONStream: 1.3.5
+ is-text-path: 1.0.1
+ lodash: 4.17.15
+ meow: 7.0.1
+ split2: 2.2.0
+ through2: 3.0.1
+ trim-off-newlines: 1.0.1
+ dev: true
+ engines:
+ node: ">=10"
+ hasBin: true
+ resolution:
+ integrity: sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA==
+ /convert-source-map/1.7.0:
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: true
+ resolution:
+ integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ /convert-to-spaces/1.0.2:
+ dev: true
+ engines:
+ node: ">= 4"
+ resolution:
+ integrity: sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=
+ /core-js-compat/3.6.5:
+ dependencies:
+ browserslist: 4.12.0
+ semver: 7.0.0
+ dev: true
+ resolution:
+ integrity: sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
+ /core-util-is/1.0.2:
+ resolution:
+ integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+ /cosmiconfig/6.0.0:
+ dependencies:
+ "@types/parse-json": 4.0.0
+ import-fresh: 3.2.1
+ parse-json: 5.0.0
+ path-type: 4.0.0
+ yaml: 1.10.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+ /cross-spawn/6.0.5:
+ dependencies:
+ nice-try: 1.0.5
+ path-key: 2.0.1
+ semver: 5.7.1
+ shebang-command: 1.2.0
+ which: 1.3.1
+ dev: true
+ engines:
+ node: ">=4.8"
+ resolution:
+ integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ /cross-spawn/7.0.3:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+ engines:
+ node: ">= 8"
+ resolution:
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ /crypto-random-string/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+ /cssom/0.3.8:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+ /cssom/0.4.4:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
+ /cssstyle/2.3.0:
+ dependencies:
+ cssom: 0.3.8
+ dev: false
+ engines:
+ node: ">=8"
+ optional: true
+ resolution:
+ integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
+ /currently-unhandled/0.4.1:
+ dependencies:
+ array-find-index: 1.0.2
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o=
+ /dargs/4.1.0:
+ dependencies:
+ number-is-nan: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=
+ /dashdash/1.14.1:
+ dependencies:
+ assert-plus: 1.0.0
+ dev: false
+ engines:
+ node: ">=0.10"
+ optional: true
+ resolution:
+ integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ /data-urls/2.0.0:
+ dependencies:
+ abab: 2.0.3
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.1.0
+ dev: false
+ engines:
+ node: ">=10"
+ optional: true
+ resolution:
+ integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==
+ /date-fns/1.30.1:
+ dev: true
+ resolution:
+ integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
+ /date-time/2.1.0:
+ dependencies:
+ time-zone: 1.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==
+ /dateformat/3.0.3:
+ dev: true
+ resolution:
+ integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+ /debug/2.6.9:
+ dependencies:
+ ms: 2.0.0
+ dev: true
+ resolution:
+ integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ /debug/4.1.1:
+ dependencies:
+ ms: 2.1.2
+ dev: true
+ resolution:
+ integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ /decamelize-keys/1.1.0:
+ dependencies:
+ decamelize: 1.2.0
+ map-obj: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
+ /decamelize/1.2.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+ /decimal.js/10.2.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==
+ /decompress-response/3.3.0:
+ dependencies:
+ mimic-response: 1.0.1
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+ /deep-extend/0.6.0:
+ dev: true
+ engines:
+ node: ">=4.0.0"
+ resolution:
+ integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+ /deep-is/0.1.3:
+ resolution:
+ integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+ /defaults/1.0.3:
+ dependencies:
+ clone: 1.0.4
+ dev: true
+ resolution:
+ integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
+ /defer-to-connect/1.1.3:
+ dev: true
+ resolution:
+ integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+ /define-properties/1.1.3:
+ dependencies:
+ object-keys: 1.1.1
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+ /del/4.1.1:
+ dependencies:
+ "@types/glob": 7.1.1
+ globby: 6.1.0
+ is-path-cwd: 2.2.0
+ is-path-in-cwd: 2.1.0
+ p-map: 2.1.0
+ pify: 4.0.1
+ rimraf: 2.7.1
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
+ /del/5.1.0:
+ dependencies:
+ globby: 10.0.2
+ graceful-fs: 4.2.4
+ is-glob: 4.0.1
+ is-path-cwd: 2.2.0
+ is-path-inside: 3.0.2
+ p-map: 3.0.0
+ rimraf: 3.0.2
+ slash: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==
+ /delayed-stream/1.0.0:
+ dev: false
+ engines:
+ node: ">=0.4.0"
+ optional: true
+ resolution:
+ integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+ /diacritics-map/0.1.0:
+ dev: true
+ engines:
+ node: ">=0.8.0"
+ resolution:
+ integrity: sha1-bfwP+dAQAKLt8oZTccrDFulJd68=
+ /diff/4.0.2:
+ dev: true
+ engines:
+ node: ">=0.3.1"
+ resolution:
+ integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+ /dir-glob/3.0.1:
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ /doctrine/1.5.0:
+ dependencies:
+ esutils: 2.0.3
+ isarray: 1.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
+ /doctrine/3.0.0:
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ resolution:
+ integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ /domexception/2.0.1:
+ dependencies:
+ webidl-conversions: 5.0.0
+ dev: false
+ engines:
+ node: ">=8"
+ optional: true
+ resolution:
+ integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==
+ /dot-prop/3.0.0:
+ dependencies:
+ is-obj: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-G3CK8JSknJoOfbyteQq6U52sEXc=
+ /dot-prop/5.2.0:
+ dependencies:
+ is-obj: 2.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
+ /duplexer3/0.1.4:
+ dev: true
+ resolution:
+ integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+ /ecc-jsbn/0.1.2:
+ dependencies:
+ jsbn: 0.1.1
+ safer-buffer: 2.1.2
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ /electron-to-chromium/1.3.451:
+ dev: true
+ resolution:
+ integrity: sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A==
+ /elegant-spinner/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
+ /emittery/0.6.0:
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-6EMRGr9KzYWp8DzHFZsKVZBsMO6QhAeHMeHND8rhyBNCHKMLpgW9tZv40bwN3rAIKRS5CxcK8oLRKUJSB9h7yQ==
+ /emoji-regex/7.0.3:
+ dev: true
+ resolution:
+ integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+ /emoji-regex/8.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+ /end-of-stream/1.4.4:
+ dependencies:
+ once: 1.4.0
+ dev: true
+ resolution:
+ integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ /equal-length/1.0.1:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-IcoRLUirJLTh5//A5TOdMf38J0w=
+ /error-ex/1.3.2:
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+ resolution:
+ integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ /es-abstract/1.17.5:
+ dependencies:
+ es-to-primitive: 1.2.1
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-symbols: 1.0.1
+ is-callable: 1.1.5
+ is-regex: 1.0.5
+ object-inspect: 1.7.0
+ object-keys: 1.1.1
+ object.assign: 4.1.0
+ string.prototype.trimleft: 2.1.2
+ string.prototype.trimright: 2.1.2
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==
+ /es-to-primitive/1.2.1:
+ dependencies:
+ is-callable: 1.1.5
+ is-date-object: 1.0.2
+ is-symbol: 1.0.3
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ /escape-goat/2.1.1:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
+ /escape-goat/3.0.0:
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==
+ /escape-string-regexp/1.0.5:
+ dev: true
+ engines:
+ node: ">=0.8.0"
+ resolution:
+ integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+ /escape-string-regexp/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+ /escape-string-regexp/4.0.0:
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+ /escodegen/1.14.1:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 4.3.0
+ esutils: 2.0.3
+ optionator: 0.8.3
+ dev: false
+ engines:
+ node: ">=4.0"
+ hasBin: true
+ optional: true
+ optionalDependencies:
+ source-map: 0.6.1
+ resolution:
+ integrity: sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==
+ /eslint-config-prettier/6.11.0_eslint@7.1.0:
+ dependencies:
+ eslint: 7.1.0
+ get-stdin: 6.0.0
+ dev: true
+ hasBin: true
+ peerDependencies:
+ eslint: ">=3.14.1"
+ resolution:
+ integrity: sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==
+ /eslint-import-resolver-node/0.3.3:
+ dependencies:
+ debug: 2.6.9
+ resolve: 1.17.0
+ dev: true
+ resolution:
+ integrity: sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==
+ /eslint-module-utils/2.6.0:
+ dependencies:
+ debug: 2.6.9
+ pkg-dir: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
+ /eslint-plugin-import/2.20.2_eslint@7.1.0:
+ dependencies:
+ array-includes: 3.1.1
+ array.prototype.flat: 1.2.3
+ contains-path: 0.1.0
+ debug: 2.6.9
+ doctrine: 1.5.0
+ eslint: 7.1.0
+ eslint-import-resolver-node: 0.3.3
+ eslint-module-utils: 2.6.0
+ has: 1.0.3
+ minimatch: 3.0.4
+ object.values: 1.1.1
+ read-pkg-up: 2.0.0
+ resolve: 1.17.0
+ dev: true
+ engines:
+ node: ">=4"
+ peerDependencies:
+ eslint: 2.x - 6.x
+ resolution:
+ integrity: sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==
+ /eslint-plugin-jsdoc/25.4.2_eslint@7.1.0:
+ dependencies:
+ comment-parser: 0.7.4
+ debug: 4.1.1
+ eslint: 7.1.0
+ jsdoctypeparser: 6.1.0
+ lodash: 4.17.15
+ regextras: 0.7.1
+ semver: 6.3.0
+ spdx-expression-parse: 3.0.1
+ dev: true
+ engines:
+ node: ">=8"
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0
+ resolution:
+ integrity: sha512-IFZnxBBt2fGYZ9yaLt+KP/jHa6u8LQPwH9QzRlhbU+WKBq7ou6XTXoxG0EZVn9ohcbJ0sM8X70iRRX/J3Wu37w==
+ /eslint-scope/5.0.0:
+ dependencies:
+ esrecurse: 4.2.1
+ estraverse: 4.3.0
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ resolution:
+ integrity: sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
+ /eslint-utils/1.4.3:
+ dependencies:
+ eslint-visitor-keys: 1.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
+ /eslint-utils/2.0.0:
+ dependencies:
+ eslint-visitor-keys: 1.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==
+ /eslint-visitor-keys/1.1.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
+ /eslint/6.8.0:
+ dependencies:
+ "@babel/code-frame": 7.8.3
+ ajv: 6.12.2
+ chalk: 2.4.2
+ cross-spawn: 6.0.5
+ debug: 4.1.1
+ doctrine: 3.0.0
+ eslint-scope: 5.0.0
+ eslint-utils: 1.4.3
+ eslint-visitor-keys: 1.1.0
+ espree: 6.2.1
+ esquery: 1.3.1
+ esutils: 2.0.3
+ file-entry-cache: 5.0.1
+ functional-red-black-tree: 1.0.1
+ glob-parent: 5.1.1
+ globals: 12.4.0
+ ignore: 4.0.6
+ import-fresh: 3.2.1
+ imurmurhash: 0.1.4
+ inquirer: 7.1.0
+ is-glob: 4.0.1
+ js-yaml: 3.14.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.3.0
+ lodash: 4.17.15
+ minimatch: 3.0.4
+ mkdirp: 0.5.5
+ natural-compare: 1.4.0
+ optionator: 0.8.3
+ progress: 2.0.3
+ regexpp: 2.0.1
+ semver: 6.3.0
+ strip-ansi: 5.2.0
+ strip-json-comments: 3.1.0
+ table: 5.4.6
+ text-table: 0.2.0
+ v8-compile-cache: 2.1.0
+ dev: true
+ engines:
+ node: ^8.10.0 || ^10.13.0 || >=11.10.1
+ hasBin: true
+ resolution:
+ integrity: sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
+ /eslint/7.1.0:
+ dependencies:
+ "@babel/code-frame": 7.8.3
+ ajv: 6.12.2
+ chalk: 4.0.0
+ cross-spawn: 7.0.3
+ debug: 4.1.1
+ doctrine: 3.0.0
+ eslint-scope: 5.0.0
+ eslint-utils: 2.0.0
+ eslint-visitor-keys: 1.1.0
+ espree: 7.0.0
+ esquery: 1.3.1
+ esutils: 2.0.3
+ file-entry-cache: 5.0.1
+ functional-red-black-tree: 1.0.1
+ glob-parent: 5.1.1
+ globals: 12.4.0
+ ignore: 4.0.6
+ import-fresh: 3.2.1
+ imurmurhash: 0.1.4
+ inquirer: 7.1.0
+ is-glob: 4.0.1
+ js-yaml: 3.14.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash: 4.17.15
+ minimatch: 3.0.4
+ natural-compare: 1.4.0
+ optionator: 0.9.1
+ progress: 2.0.3
+ regexpp: 3.1.0
+ semver: 7.3.2
+ strip-ansi: 6.0.0
+ strip-json-comments: 3.1.0
+ table: 5.4.6
+ text-table: 0.2.0
+ v8-compile-cache: 2.1.0
+ dev: true
+ engines:
+ node: ^10.12.0 || >=12.0.0
+ hasBin: true
+ resolution:
+ integrity: sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==
+ /espree/6.2.1:
+ dependencies:
+ acorn: 7.2.0
+ acorn-jsx: 5.2.0_acorn@7.2.0
+ eslint-visitor-keys: 1.1.0
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ resolution:
+ integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
+ /espree/7.0.0:
+ dependencies:
+ acorn: 7.2.0
+ acorn-jsx: 5.2.0_acorn@7.2.0
+ eslint-visitor-keys: 1.1.0
+ dev: true
+ engines:
+ node: ^10.12.0 || >=12.0.0
+ resolution:
+ integrity: sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==
+ /esprima/4.0.1:
+ engines:
+ node: ">=4"
+ hasBin: true
+ resolution:
+ integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+ /esquery/1.3.1:
+ dependencies:
+ estraverse: 5.1.0
+ dev: true
+ engines:
+ node: ">=0.10"
+ resolution:
+ integrity: sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
+ /esrecurse/4.2.1:
+ dependencies:
+ estraverse: 4.3.0
+ dev: true
+ engines:
+ node: ">=4.0"
+ resolution:
+ integrity: sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
+ /estraverse/4.3.0:
+ engines:
+ node: ">=4.0"
+ resolution:
+ integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+ /estraverse/5.1.0:
+ dev: true
+ engines:
+ node: ">=4.0"
+ resolution:
+ integrity: sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
+ /estree-walker/1.0.1:
+ dev: true
+ resolution:
+ integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+ /esutils/2.0.3:
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+ /execa/2.1.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 5.1.0
+ is-stream: 2.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 3.1.0
+ onetime: 5.1.0
+ p-finally: 2.0.1
+ signal-exit: 3.0.3
+ strip-final-newline: 2.0.0
+ dev: true
+ engines:
+ node: ^8.12.0 || >=9.7.0
+ resolution:
+ integrity: sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==
+ /execa/4.0.2:
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 5.1.0
+ human-signals: 1.1.1
+ is-stream: 2.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.0
+ signal-exit: 3.0.3
+ strip-final-newline: 2.0.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==
+ /expand-range/1.8.2:
+ dependencies:
+ fill-range: 2.2.4
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
+ /extend-shallow/2.0.1:
+ dependencies:
+ is-extendable: 0.1.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+ /extend/3.0.2:
+ resolution:
+ integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+ /external-editor/3.1.0:
+ dependencies:
+ chardet: 0.7.0
+ iconv-lite: 0.4.24
+ tmp: 0.0.33
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ /extsprintf/1.3.0:
+ dev: false
+ engines:
+ "0": node >=0.6.0
+ optional: true
+ resolution:
+ integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+ /fast-deep-equal/3.1.1:
+ resolution:
+ integrity: sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
+ /fast-diff/1.2.0:
+ dev: true
+ resolution:
+ integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
+ /fast-glob/3.2.2:
+ dependencies:
+ "@nodelib/fs.stat": 2.0.3
+ "@nodelib/fs.walk": 1.2.4
+ glob-parent: 5.1.1
+ merge2: 1.3.0
+ micromatch: 4.0.2
+ picomatch: 2.2.2
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==
+ /fast-json-stable-stringify/2.1.0:
+ resolution:
+ integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+ /fast-levenshtein/2.0.6:
+ resolution:
+ integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+ /fastq/1.8.0:
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+ resolution:
+ integrity: sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
+ /figures/1.7.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+ object-assign: 4.1.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
+ /figures/2.0.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+ /figures/3.2.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+ /file-entry-cache/5.0.1:
+ dependencies:
+ flat-cache: 2.0.1
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+ /fill-range/2.2.4:
+ dependencies:
+ is-number: 2.1.0
+ isobject: 2.1.0
+ randomatic: 3.1.1
+ repeat-element: 1.1.3
+ repeat-string: 1.6.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
+ /fill-range/7.0.1:
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ /find-up/1.1.2:
+ dependencies:
+ path-exists: 2.1.0
+ pinkie-promise: 2.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ /find-up/2.1.0:
+ dependencies:
+ locate-path: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ /find-up/3.0.0:
+ dependencies:
+ locate-path: 3.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ /find-up/4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ /find-versions/3.2.0:
+ dependencies:
+ semver-regex: 2.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==
+ /flat-cache/2.0.1:
+ dependencies:
+ flatted: 2.0.2
+ rimraf: 2.6.3
+ write: 1.0.3
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
+ /flatted/2.0.2:
+ dev: true
+ resolution:
+ integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
+ /for-in/1.0.2:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+ /forever-agent/0.6.1:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+ /form-data/2.3.3:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.27
+ dev: false
+ engines:
+ node: ">= 0.12"
+ optional: true
+ resolution:
+ integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ /fs-access/1.0.1:
+ dependencies:
+ null-check: 1.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=
+ /fs.realpath/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+ /fsevents/2.1.3:
+ dev: true
+ engines:
+ node: ^8.16.0 || ^10.6.0 || >=11.0.0
+ optional: true
+ os:
+ - darwin
+ resolution:
+ integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+ /function-bind/1.1.1:
+ dev: true
+ resolution:
+ integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+ /functional-red-black-tree/1.0.1:
+ dev: true
+ resolution:
+ integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+ /gensync/1.0.0-beta.1:
+ dev: true
+ engines:
+ node: ">=6.9.0"
+ resolution:
+ integrity: sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
+ /get-caller-file/2.0.5:
+ dev: true
+ engines:
+ node: 6.* || 8.* || >= 10.*
+ resolution:
+ integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+ /get-pkg-repo/1.4.0:
+ dependencies:
+ hosted-git-info: 2.8.8
+ meow: 3.7.0
+ normalize-package-data: 2.5.0
+ parse-github-repo-url: 1.4.1
+ through2: 2.0.5
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha1-xztInAbYDMVTbCyFP54FIyBWly0=
+ /get-stdin/4.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+ /get-stdin/6.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
+ /get-stream/4.1.0:
+ dependencies:
+ pump: 3.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ /get-stream/5.1.0:
+ dependencies:
+ pump: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
+ /getpass/0.1.7:
+ dependencies:
+ assert-plus: 1.0.0
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ /git-raw-commits/2.0.0:
+ dependencies:
+ dargs: 4.1.0
+ lodash.template: 4.5.0
+ meow: 4.0.1
+ split2: 2.2.0
+ through2: 2.0.5
+ dev: true
+ engines:
+ node: ">=6.9.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==
+ /git-remote-origin-url/2.0.0:
+ dependencies:
+ gitconfiglocal: 1.0.0
+ pify: 2.3.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=
+ /git-semver-tags/4.0.0:
+ dependencies:
+ meow: 7.0.1
+ semver: 6.3.0
+ dev: true
+ engines:
+ node: ">=10"
+ hasBin: true
+ resolution:
+ integrity: sha512-LajaAWLYVBff+1NVircURJFL8TQ3EMIcLAfHisWYX/nPoMwnTYfWAznQDmMujlLqoD12VtLmoSrF1sQ5MhimEQ==
+ /gitconfiglocal/1.0.0:
+ dependencies:
+ ini: 1.3.5
+ dev: true
+ resolution:
+ integrity: sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=
+ /github-url-from-git/1.5.0:
+ dev: true
+ resolution:
+ integrity: sha1-+YX+3MCpqledyI16/waNVcxiUaA=
+ /glob-parent/5.1.1:
+ dependencies:
+ is-glob: 4.0.1
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+ /glob/7.1.6:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.0.4
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+ resolution:
+ integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ /global-dirs/2.0.1:
+ dependencies:
+ ini: 1.3.5
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==
+ /globals/11.12.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+ /globals/12.4.0:
+ dependencies:
+ type-fest: 0.8.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
+ /globby/10.0.2:
+ dependencies:
+ "@types/glob": 7.1.1
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.2.2
+ glob: 7.1.6
+ ignore: 5.1.6
+ merge2: 1.3.0
+ slash: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==
+ /globby/11.0.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.2.2
+ ignore: 5.1.6
+ merge2: 1.3.0
+ slash: 3.0.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==
+ /globby/6.1.0:
+ dependencies:
+ array-union: 1.0.2
+ glob: 7.1.6
+ object-assign: 4.1.1
+ pify: 2.3.0
+ pinkie-promise: 2.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
+ /got/9.6.0:
+ dependencies:
+ "@sindresorhus/is": 0.14.0
+ "@szmarczak/http-timer": 1.1.2
+ cacheable-request: 6.1.0
+ decompress-response: 3.3.0
+ duplexer3: 0.1.4
+ get-stream: 4.1.0
+ lowercase-keys: 1.0.1
+ mimic-response: 1.0.1
+ p-cancelable: 1.1.0
+ to-readable-stream: 1.0.0
+ url-parse-lax: 3.0.0
+ dev: true
+ engines:
+ node: ">=8.6"
+ resolution:
+ integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+ /graceful-fs/4.2.4:
+ dev: true
+ resolution:
+ integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+ /gray-matter/2.1.1:
+ dependencies:
+ ansi-red: 0.1.1
+ coffee-script: 1.12.7
+ extend-shallow: 2.0.1
+ js-yaml: 3.14.0
+ toml: 2.3.6
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=
+ /gulp-header/1.8.12:
+ dependencies:
+ concat-with-sourcemaps: 1.1.0
+ lodash.template: 4.5.0
+ through2: 2.0.5
+ deprecated: Removed event-stream from gulp-header
+ dev: true
+ resolution:
+ integrity: sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==
+ /handlebars/4.7.6:
+ dependencies:
+ minimist: 1.2.5
+ neo-async: 2.6.1
+ source-map: 0.6.1
+ wordwrap: 1.0.0
+ dev: true
+ engines:
+ node: ">=0.4.7"
+ hasBin: true
+ optionalDependencies:
+ uglify-js: 3.9.3
+ resolution:
+ integrity: sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==
+ /har-schema/2.0.0:
+ dev: false
+ engines:
+ node: ">=4"
+ optional: true
+ resolution:
+ integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+ /har-validator/5.1.3:
+ dependencies:
+ ajv: 6.12.2
+ har-schema: 2.0.0
+ dev: false
+ engines:
+ node: ">=6"
+ optional: true
+ resolution:
+ integrity: sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
+ /hard-rejection/2.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
+ /has-ansi/2.0.0:
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ /has-flag/3.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+ /has-flag/4.0.0:
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+ /has-symbols/1.0.1:
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+ /has-yarn/2.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
+ /has/1.0.3:
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+ engines:
+ node: ">= 0.4.0"
+ resolution:
+ integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ /hosted-git-info/2.8.8:
+ dev: true
+ resolution:
+ integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
+ /hosted-git-info/3.0.4:
+ dependencies:
+ lru-cache: 5.1.1
+ dev: true
+ resolution:
+ integrity: sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==
+ /html-encoding-sniffer/2.0.1:
+ dependencies:
+ whatwg-encoding: 1.0.5
+ dev: false
+ engines:
+ node: ">=10"
+ optional: true
+ resolution:
+ integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==
+ /http-cache-semantics/4.1.0:
+ dev: true
+ resolution:
+ integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+ /http-signature/1.2.0:
+ dependencies:
+ assert-plus: 1.0.0
+ jsprim: 1.4.1
+ sshpk: 1.16.1
+ dev: false
+ engines:
+ node: ">=0.8"
+ npm: ">=1.3.7"
+ optional: true
+ resolution:
+ integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ /human-signals/1.1.1:
+ dev: true
+ engines:
+ node: ">=8.12.0"
+ resolution:
+ integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+ /husky/4.2.5:
+ dependencies:
+ chalk: 4.0.0
+ ci-info: 2.0.0
+ compare-versions: 3.6.0
+ cosmiconfig: 6.0.0
+ find-versions: 3.2.0
+ opencollective-postinstall: 2.0.2
+ pkg-dir: 4.2.0
+ please-upgrade-node: 3.2.0
+ slash: 3.0.0
+ which-pm-runs: 1.0.0
+ dev: true
+ engines:
+ node: ">=10"
+ hasBin: true
+ requiresBuild: true
+ resolution:
+ integrity: sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==
+ /iconv-lite/0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ /ignore-by-default/1.0.1:
+ dev: true
+ resolution:
+ integrity: sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
+ /ignore/4.0.6:
+ dev: true
+ engines:
+ node: ">= 4"
+ resolution:
+ integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+ /ignore/5.1.6:
+ dev: true
+ engines:
+ node: ">= 4"
+ resolution:
+ integrity: sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==
+ /import-fresh/3.2.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+ /import-lazy/2.1.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
+ /import-local/3.0.2:
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ hasBin: true
+ resolution:
+ integrity: sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==
+ /imurmurhash/0.1.4:
+ dev: true
+ engines:
+ node: ">=0.8.19"
+ resolution:
+ integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=
+ /indent-string/2.1.0:
+ dependencies:
+ repeating: 2.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
+ /indent-string/3.2.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
+ /indent-string/4.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+ /inflight/1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+ resolution:
+ integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ /inherits/2.0.4:
+ dev: true
+ resolution:
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+ /ini/1.3.5:
+ dev: true
+ resolution:
+ integrity: sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
+ /inquirer-autosubmit-prompt/0.2.0:
+ dependencies:
+ chalk: 2.4.2
+ inquirer: 6.5.2
+ rxjs: 6.5.5
+ dev: true
+ resolution:
+ integrity: sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==
+ /inquirer/6.5.2:
+ dependencies:
+ ansi-escapes: 3.2.0
+ chalk: 2.4.2
+ cli-cursor: 2.1.0
+ cli-width: 2.2.1
+ external-editor: 3.1.0
+ figures: 2.0.0
+ lodash: 4.17.15
+ mute-stream: 0.0.7
+ run-async: 2.4.1
+ rxjs: 6.5.5
+ string-width: 2.1.1
+ strip-ansi: 5.2.0
+ through: 2.3.8
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ resolution:
+ integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
+ /inquirer/7.1.0:
+ dependencies:
+ ansi-escapes: 4.3.1
+ chalk: 3.0.0
+ cli-cursor: 3.1.0
+ cli-width: 2.2.1
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.15
+ mute-stream: 0.0.8
+ run-async: 2.4.1
+ rxjs: 6.5.5
+ string-width: 4.2.0
+ strip-ansi: 6.0.0
+ through: 2.3.8
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ resolution:
+ integrity: sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==
+ /interpret/1.2.0:
+ dev: true
+ engines:
+ node: ">= 0.10"
+ resolution:
+ integrity: sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
+ /invariant/2.2.4:
+ dependencies:
+ loose-envify: 1.4.0
+ dev: true
+ resolution:
+ integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ /ip-regex/2.1.0:
+ dev: false
+ engines:
+ node: ">=4"
+ optional: true
+ resolution:
+ integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
+ /ip-regex/4.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==
+ /irregular-plurals/3.2.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==
+ /is-arrayish/0.2.1:
+ dev: true
+ resolution:
+ integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+ /is-binary-path/2.1.0:
+ dependencies:
+ binary-extensions: 2.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ /is-buffer/1.1.6:
+ dev: true
+ resolution:
+ integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+ /is-callable/1.1.5:
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
+ /is-ci/2.0.0:
+ dependencies:
+ ci-info: 2.0.0
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+ /is-date-object/1.0.2:
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+ /is-docker/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
+ /is-error/2.2.2:
+ dev: true
+ resolution:
+ integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==
+ /is-extendable/0.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+ /is-extendable/1.0.1:
+ dependencies:
+ is-plain-object: 2.0.4
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ /is-extglob/2.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+ /is-finite/1.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
+ /is-fullwidth-code-point/1.0.0:
+ dependencies:
+ number-is-nan: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+ /is-fullwidth-code-point/2.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+ /is-fullwidth-code-point/3.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+ /is-glob/4.0.1:
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+ /is-installed-globally/0.3.2:
+ dependencies:
+ global-dirs: 2.0.1
+ is-path-inside: 3.0.2
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
+ /is-interactive/1.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
+ /is-npm/4.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
+ /is-number/2.1.0:
+ dependencies:
+ kind-of: 3.2.2
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+ /is-number/4.0.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+ /is-number/7.0.0:
+ dev: true
+ engines:
+ node: ">=0.12.0"
+ resolution:
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+ /is-obj/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+ /is-obj/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+ /is-observable/1.1.0:
+ dependencies:
+ symbol-observable: 1.2.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
+ /is-path-cwd/2.2.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
+ /is-path-in-cwd/2.1.0:
+ dependencies:
+ is-path-inside: 2.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
+ /is-path-inside/2.1.0:
+ dependencies:
+ path-is-inside: 1.0.2
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
+ /is-path-inside/3.0.2:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
+ /is-plain-obj/1.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+ /is-plain-object/2.0.4:
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ /is-plain-object/3.0.0:
+ dependencies:
+ isobject: 4.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==
+ /is-potential-custom-element-name/1.0.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
+ /is-promise/2.2.2:
+ dev: true
+ resolution:
+ integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
+ /is-promise/4.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==
+ /is-regex/1.0.5:
+ dependencies:
+ has: 1.0.3
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==
+ /is-scoped/2.1.0:
+ dependencies:
+ scoped-regex: 2.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==
+ /is-stream/1.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+ /is-stream/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+ /is-string/1.0.5:
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+ /is-symbol/1.0.3:
+ dependencies:
+ has-symbols: 1.0.1
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
+ /is-text-path/1.0.1:
+ dependencies:
+ text-extensions: 1.9.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=
+ /is-typedarray/1.0.0:
+ resolution:
+ integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+ /is-url-superb/3.0.0:
+ dependencies:
+ url-regex: 5.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-3faQP+wHCGDQT1qReM5zCPx2mxoal6DzbzquFlCYJLWyy4WPTved33ea2xFbX37z4NoriEwZGIYhFtx8RUB5wQ==
+ /is-utf8/0.2.1:
+ dev: true
+ resolution:
+ integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+ /is-wsl/2.2.0:
+ dependencies:
+ is-docker: 2.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ /is-yarn-global/0.3.0:
+ dev: true
+ resolution:
+ integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
+ /isarray/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+ /isexe/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+ /isobject/2.1.0:
+ dependencies:
+ isarray: 1.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+ /isobject/3.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+ /isobject/4.0.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
+ /isstream/0.1.2:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+ /issue-regex/3.1.0:
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA==
+ /js-string-escape/1.0.1:
+ dev: true
+ engines:
+ node: ">= 0.8"
+ resolution:
+ integrity: sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=
+ /js-tokens/4.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+ /js-yaml/3.14.0:
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
+ /jsbn/0.1.1:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+ /jsdoctypeparser/6.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ hasBin: true
+ resolution:
+ integrity: sha512-UCQBZ3xCUBv/PLfwKAJhp6jmGOSLFNKzrotXGNgbKhWvz27wPsCsVeP7gIcHPElQw2agBmynAitXqhxR58XAmA==
+ /jsdom/16.2.2:
+ dependencies:
+ abab: 2.0.3
+ acorn: 7.2.0
+ acorn-globals: 6.0.0
+ cssom: 0.4.4
+ cssstyle: 2.3.0
+ data-urls: 2.0.0
+ decimal.js: 10.2.0
+ domexception: 2.0.1
+ escodegen: 1.14.1
+ html-encoding-sniffer: 2.0.1
+ is-potential-custom-element-name: 1.0.0
+ nwsapi: 2.2.0
+ parse5: 5.1.1
+ request: 2.88.2
+ request-promise-native: 1.0.8_request@2.88.2
+ saxes: 5.0.1
+ symbol-tree: 3.2.4
+ tough-cookie: 3.0.1
+ w3c-hr-time: 1.0.2
+ w3c-xmlserializer: 2.0.0
+ webidl-conversions: 6.1.0
+ whatwg-encoding: 1.0.5
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.1.0
+ ws: 7.3.0
+ xml-name-validator: 3.0.0
+ dev: false
+ engines:
+ node: ">=10"
+ optional: true
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ resolution:
+ integrity: sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==
+ /jsesc/0.5.0:
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+ /jsesc/2.5.2:
+ dev: true
+ engines:
+ node: ">=4"
+ hasBin: true
+ resolution:
+ integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+ /json-buffer/3.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+ /json-parse-better-errors/1.0.2:
+ dev: true
+ resolution:
+ integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+ /json-schema-traverse/0.4.1:
+ resolution:
+ integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+ /json-schema/0.2.3:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+ /json-stable-stringify-without-jsonify/1.0.1:
+ dev: true
+ resolution:
+ integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+ /json-stringify-safe/5.0.1:
+ resolution:
+ integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+ /json5/2.1.3:
+ dependencies:
+ minimist: 1.2.5
+ dev: true
+ engines:
+ node: ">=6"
+ hasBin: true
+ resolution:
+ integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ /jsonparse/1.3.1:
+ dev: true
+ engines:
+ "0": node >= 0.2.0
+ resolution:
+ integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
+ /jsprim/1.4.1:
+ dependencies:
+ assert-plus: 1.0.0
+ extsprintf: 1.3.0
+ json-schema: 0.2.3
+ verror: 1.10.0
+ dev: false
+ engines:
+ "0": node >=0.6.0
+ optional: true
+ resolution:
+ integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ /keyv/3.1.0:
+ dependencies:
+ json-buffer: 3.0.0
+ dev: true
+ resolution:
+ integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+ /kind-of/3.2.2:
+ dependencies:
+ is-buffer: 1.1.6
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+ /kind-of/6.0.3:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+ /latest-version/5.1.0:
+ dependencies:
+ package-json: 6.5.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
+ /lazy-cache/2.0.2:
+ dependencies:
+ set-getter: 0.1.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=
+ /leven/3.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+ /levenary/1.1.1:
+ dependencies:
+ leven: 3.1.0
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
+ /levn/0.3.0:
+ dependencies:
+ prelude-ls: 1.1.2
+ type-check: 0.3.2
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+ /levn/0.4.1:
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ /lines-and-columns/1.1.6:
+ dev: true
+ resolution:
+ integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+ /list-item/1.1.1:
+ dependencies:
+ expand-range: 1.8.2
+ extend-shallow: 2.0.1
+ is-number: 2.1.0
+ repeat-string: 1.6.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-DGXQDih8tmPMs8s4Sad+iewmilY=
+ /listr-input/0.2.1:
+ dependencies:
+ inquirer: 7.1.0
+ inquirer-autosubmit-prompt: 0.2.0
+ rxjs: 6.5.5
+ through: 2.3.8
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==
+ /listr-silent-renderer/1.1.1:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=
+ /listr-update-renderer/0.5.0_listr@0.14.3:
+ dependencies:
+ chalk: 1.1.3
+ cli-truncate: 0.2.1
+ elegant-spinner: 1.0.1
+ figures: 1.7.0
+ indent-string: 3.2.0
+ listr: 0.14.3_listr@0.14.3
+ log-symbols: 1.0.2
+ log-update: 2.3.0
+ strip-ansi: 3.0.1
+ dev: true
+ engines:
+ node: ">=6"
+ peerDependencies:
+ listr: ^0.14.2
+ resolution:
+ integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==
+ /listr-verbose-renderer/0.5.0:
+ dependencies:
+ chalk: 2.4.2
+ cli-cursor: 2.1.0
+ date-fns: 1.30.1
+ figures: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==
+ /listr/0.14.3_listr@0.14.3:
+ dependencies:
+ "@samverschueren/stream-to-observable": 0.3.0
+ is-observable: 1.1.0
+ is-promise: 2.2.2
+ is-stream: 1.1.0
+ listr-silent-renderer: 1.1.1
+ listr-update-renderer: 0.5.0_listr@0.14.3
+ listr-verbose-renderer: 0.5.0
+ p-map: 2.1.0
+ rxjs: 6.5.5
+ dev: true
+ engines:
+ node: ">=6"
+ peerDependencies:
+ listr: "*"
+ resolution:
+ integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==
+ /load-json-file/1.1.0:
+ dependencies:
+ graceful-fs: 4.2.4
+ parse-json: 2.2.0
+ pify: 2.3.0
+ pinkie-promise: 2.0.1
+ strip-bom: 2.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ /load-json-file/2.0.0:
+ dependencies:
+ graceful-fs: 4.2.4
+ parse-json: 2.2.0
+ pify: 2.3.0
+ strip-bom: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
+ /load-json-file/4.0.0:
+ dependencies:
+ graceful-fs: 4.2.4
+ parse-json: 4.0.0
+ pify: 3.0.0
+ strip-bom: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
+ /load-json-file/5.3.0:
+ dependencies:
+ graceful-fs: 4.2.4
+ parse-json: 4.0.0
+ pify: 4.0.1
+ strip-bom: 3.0.0
+ type-fest: 0.3.1
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==
+ /locate-path/2.0.0:
+ dependencies:
+ p-locate: 2.0.0
+ path-exists: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ /locate-path/3.0.0:
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+ /locate-path/5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ /lodash._reinterpolate/3.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+ /lodash.clonedeep/4.5.0:
+ dev: true
+ resolution:
+ integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
+ /lodash.flattendeep/4.4.0:
+ dev: true
+ resolution:
+ integrity: sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
+ /lodash.islength/4.0.1:
+ dev: true
+ resolution:
+ integrity: sha1-Tpho1FJXXXUK/9NYyXlUPcIO1Xc=
+ /lodash.ismatch/4.4.0:
+ dev: true
+ resolution:
+ integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=
+ /lodash.merge/4.6.2:
+ dev: true
+ resolution:
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+ /lodash.sortby/4.7.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+ /lodash.template/4.5.0:
+ dependencies:
+ lodash._reinterpolate: 3.0.0
+ lodash.templatesettings: 4.2.0
+ dev: true
+ resolution:
+ integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+ /lodash.templatesettings/4.2.0:
+ dependencies:
+ lodash._reinterpolate: 3.0.0
+ dev: true
+ resolution:
+ integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+ /lodash.zip/4.2.0:
+ dev: true
+ resolution:
+ integrity: sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=
+ /lodash/4.17.15:
+ resolution:
+ integrity: sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+ /log-symbols/1.0.2:
+ dependencies:
+ chalk: 1.1.3
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=
+ /log-symbols/3.0.0:
+ dependencies:
+ chalk: 2.4.2
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==
+ /log-update/2.3.0:
+ dependencies:
+ ansi-escapes: 3.2.0
+ cli-cursor: 2.1.0
+ wrap-ansi: 3.0.1
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-iDKP19HOeTiykoN0bwsbwSayRwg=
+ /loose-envify/1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ /loud-rejection/1.6.0:
+ dependencies:
+ currently-unhandled: 0.4.1
+ signal-exit: 3.0.3
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
+ /lowercase-keys/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+ /lowercase-keys/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+ /lru-cache/5.1.1:
+ dependencies:
+ yallist: 3.1.1
+ dev: true
+ resolution:
+ integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ /magic-string/0.25.7:
+ dependencies:
+ sourcemap-codec: 1.4.8
+ dev: true
+ resolution:
+ integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
+ /make-dir/3.1.0:
+ dependencies:
+ semver: 6.3.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ /make-error/1.3.6:
+ dev: true
+ resolution:
+ integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+ /map-age-cleaner/0.1.3:
+ dependencies:
+ p-defer: 1.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
+ /map-obj/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+ /map-obj/2.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-plzSkIepJZi4eRJXpSPgISIqwfk=
+ /map-obj/4.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==
+ /markdown-link/0.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=
+ /markdown-toc/1.2.0:
+ dependencies:
+ concat-stream: 1.6.2
+ diacritics-map: 0.1.0
+ gray-matter: 2.1.1
+ lazy-cache: 2.0.2
+ list-item: 1.1.1
+ markdown-link: 0.1.1
+ minimist: 1.2.5
+ mixin-deep: 1.3.2
+ object.pick: 1.3.0
+ remarkable: 1.7.4
+ repeat-string: 1.6.1
+ strip-color: 0.1.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==
+ /matcher/3.0.0:
+ dependencies:
+ escape-string-regexp: 4.0.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==
+ /math-random/1.0.4:
+ dev: true
+ resolution:
+ integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
+ /md5-hex/2.0.0:
+ dependencies:
+ md5-o-matic: 0.1.1
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=
+ /md5-hex/3.0.1:
+ dependencies:
+ blueimp-md5: 2.16.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==
+ /md5-o-matic/0.1.1:
+ dev: true
+ resolution:
+ integrity: sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=
+ /mdn-browser-compat-data/1.0.19:
+ dependencies:
+ extend: 3.0.2
+ dev: true
+ engines:
+ node: ">=8.0.0"
+ resolution:
+ integrity: sha512-S1i9iILAsFi/C17NADg2cBT6D6Xcd5Ub+GSMQa5ScLhuVyUrRKjCNmFEED9mQ2G/lrKtvU9SGUrpPpXB8SXhCg==
+ /mem/4.3.0:
+ dependencies:
+ map-age-cleaner: 0.1.3
+ mimic-fn: 2.1.0
+ p-is-promise: 2.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
+ /mem/6.1.0:
+ dependencies:
+ map-age-cleaner: 0.1.3
+ mimic-fn: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-RlbnLQgRHk5lwqTtpEkBTQ2ll/CG/iB+J4Hy2Wh97PjgZgXgWJWrFF+XXujh3UUVLvR4OOTgZzcWMMwnehlEUg==
+ /meow/3.7.0:
+ dependencies:
+ camelcase-keys: 2.1.0
+ decamelize: 1.2.0
+ loud-rejection: 1.6.0
+ map-obj: 1.0.1
+ minimist: 1.2.5
+ normalize-package-data: 2.5.0
+ object-assign: 4.1.1
+ read-pkg-up: 1.0.1
+ redent: 1.0.0
+ trim-newlines: 1.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
+ /meow/4.0.1:
+ dependencies:
+ camelcase-keys: 4.2.0
+ decamelize-keys: 1.1.0
+ loud-rejection: 1.6.0
+ minimist: 1.2.5
+ minimist-options: 3.0.2
+ normalize-package-data: 2.5.0
+ read-pkg-up: 3.0.0
+ redent: 2.0.0
+ trim-newlines: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==
+ /meow/6.1.1:
+ dependencies:
+ "@types/minimist": 1.2.0
+ camelcase-keys: 6.2.2
+ decamelize-keys: 1.1.0
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 2.5.0
+ read-pkg-up: 7.0.1
+ redent: 3.0.0
+ trim-newlines: 3.0.0
+ type-fest: 0.13.1
+ yargs-parser: 18.1.3
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==
+ /meow/7.0.1:
+ dependencies:
+ "@types/minimist": 1.2.0
+ arrify: 2.0.1
+ camelcase: 6.0.0
+ camelcase-keys: 6.2.2
+ decamelize-keys: 1.1.0
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 2.5.0
+ read-pkg-up: 7.0.1
+ redent: 3.0.0
+ trim-newlines: 3.0.0
+ type-fest: 0.13.1
+ yargs-parser: 18.1.3
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==
+ /merge-stream/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+ /merge2/1.3.0:
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==
+ /micromatch/4.0.2:
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.2.2
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ /mime-db/1.44.0:
+ dev: false
+ engines:
+ node: ">= 0.6"
+ optional: true
+ resolution:
+ integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
+ /mime-types/2.1.27:
+ dependencies:
+ mime-db: 1.44.0
+ dev: false
+ engines:
+ node: ">= 0.6"
+ optional: true
+ resolution:
+ integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+ /mimic-fn/1.2.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+ /mimic-fn/2.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+ /mimic-fn/3.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-PiVO95TKvhiwgSwg1IdLYlCTdul38yZxZMIcnDSFIBUm4BNZha2qpQ4GpJ++15bHoKDtrW2D69lMfFwdFYtNZQ==
+ /mimic-response/1.0.1:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+ /min-indent/1.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=
+ /minimatch/3.0.4:
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+ resolution:
+ integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ /minimist-options/3.0.2:
+ dependencies:
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ dev: true
+ engines:
+ node: ">= 4"
+ resolution:
+ integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==
+ /minimist-options/4.1.0:
+ dependencies:
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ kind-of: 6.0.3
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
+ /minimist/1.2.5:
+ dev: true
+ resolution:
+ integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+ /mixin-deep/1.3.2:
+ dependencies:
+ for-in: 1.0.2
+ is-extendable: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+ /mkdirp/0.5.5:
+ dependencies:
+ minimist: 1.2.5
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ /modify-values/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
+ /mri/1.1.5:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-d2RKzMD4JNyHMbnbWnznPaa8vbdlq/4pNZ3IgdaGrVbBhebBsGUUE/6qorTMYNS6TwuH3ilfOlD2bf4Igh8CKg==
+ /ms/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+ /ms/2.1.2:
+ dev: true
+ resolution:
+ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+ /multimatch/4.0.0:
+ dependencies:
+ "@types/minimatch": 3.0.3
+ array-differ: 3.0.0
+ array-union: 2.1.0
+ arrify: 2.0.1
+ minimatch: 3.0.4
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==
+ /mute-stream/0.0.7:
+ dev: true
+ resolution:
+ integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+ /mute-stream/0.0.8:
+ dev: true
+ resolution:
+ integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+ /natural-compare/1.4.0:
+ dev: true
+ resolution:
+ integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+ /neo-async/2.6.1:
+ dev: true
+ resolution:
+ integrity: sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
+ /new-github-release-url/1.0.0:
+ dependencies:
+ type-fest: 0.4.1
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A==
+ /nice-try/1.0.5:
+ dev: true
+ resolution:
+ integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+ /node-releases/1.1.56:
+ dev: true
+ resolution:
+ integrity: sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==
+ /normalize-package-data/2.5.0:
+ dependencies:
+ hosted-git-info: 2.8.8
+ resolve: 1.17.0
+ semver: 5.7.1
+ validate-npm-package-license: 3.0.4
+ dev: true
+ resolution:
+ integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ /normalize-path/3.0.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+ /normalize-url/4.5.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
+ /np/6.2.3:
+ dependencies:
+ "@samverschueren/stream-to-observable": 0.3.0
+ any-observable: 0.5.1_rxjs@6.5.5
+ async-exit-hook: 2.0.1
+ chalk: 3.0.0
+ cosmiconfig: 6.0.0
+ del: 4.1.1
+ escape-goat: 3.0.0
+ escape-string-regexp: 2.0.0
+ execa: 4.0.2
+ github-url-from-git: 1.5.0
+ has-yarn: 2.1.0
+ hosted-git-info: 3.0.4
+ inquirer: 7.1.0
+ is-installed-globally: 0.3.2
+ is-scoped: 2.1.0
+ issue-regex: 3.1.0
+ listr: 0.14.3_listr@0.14.3
+ listr-input: 0.2.1
+ log-symbols: 3.0.0
+ meow: 6.1.1
+ new-github-release-url: 1.0.0
+ npm-name: 5.5.0
+ onetime: 5.1.0
+ open: 7.0.4
+ ow: 0.15.1
+ p-memoize: 3.1.0
+ p-timeout: 3.2.0
+ pkg-dir: 4.2.0
+ read-pkg-up: 7.0.1
+ rxjs: 6.5.5
+ semver: 7.3.2
+ split: 1.0.1
+ symbol-observable: 1.2.0
+ terminal-link: 2.1.1
+ update-notifier: 4.1.0
+ dev: true
+ engines:
+ git: ">=2.11.0"
+ node: ">=10"
+ npm: ">=6.8.0"
+ yarn: ">=1.7.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-EuRlncnTPL6e/p1lqa1lbrTPPddT3KWpTvztTmOCrB2/ZvHp73xqljoUh7xSm+NTipbrcSacTDSlDZt8N6MeWg==
+ /npm-name/5.5.0:
+ dependencies:
+ got: 9.6.0
+ is-scoped: 2.1.0
+ is-url-superb: 3.0.0
+ lodash.zip: 4.2.0
+ registry-auth-token: 4.1.1
+ registry-url: 5.1.0
+ validate-npm-package-name: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-l7/uyVfEi2e3ho+ovaJZC0xlbwzXNUz3RxkxpfcnLuoGKAuYoo9YoJ/uy18PsTD8IziugGHks4t/mGmBJEZ4Qg==
+ /npm-run-path/3.1.0:
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==
+ /npm-run-path/4.0.1:
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ /null-check/1.0.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=
+ /number-is-nan/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+ /nwsapi/2.2.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
+ /oauth-sign/0.9.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+ /object-assign/4.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+ /object-inspect/1.7.0:
+ dev: true
+ resolution:
+ integrity: sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
+ /object-keys/1.1.1:
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+ /object-path/0.11.4:
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=
+ /object.assign/4.1.0:
+ dependencies:
+ define-properties: 1.1.3
+ function-bind: 1.1.1
+ has-symbols: 1.0.1
+ object-keys: 1.1.1
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
+ /object.pick/1.3.0:
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ /object.values/1.1.1:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ function-bind: 1.1.1
+ has: 1.0.3
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
+ /once/1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+ resolution:
+ integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ /onetime/2.0.1:
+ dependencies:
+ mimic-fn: 1.2.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ /onetime/5.1.0:
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
+ /open/7.0.4:
+ dependencies:
+ is-docker: 2.0.0
+ is-wsl: 2.2.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==
+ /opencollective-postinstall/2.0.2:
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
+ /optionator/0.8.3:
+ dependencies:
+ deep-is: 0.1.3
+ fast-levenshtein: 2.0.6
+ levn: 0.3.0
+ prelude-ls: 1.1.2
+ type-check: 0.3.2
+ word-wrap: 1.2.3
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+ /optionator/0.9.1:
+ dependencies:
+ deep-is: 0.1.3
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.3
+ dev: true
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ /ora/4.0.4:
+ dependencies:
+ chalk: 3.0.0
+ cli-cursor: 3.1.0
+ cli-spinners: 2.3.0
+ is-interactive: 1.0.0
+ log-symbols: 3.0.0
+ mute-stream: 0.0.8
+ strip-ansi: 6.0.0
+ wcwidth: 1.0.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==
+ /os-tmpdir/1.0.2:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+ /ow/0.15.1:
+ dependencies:
+ type-fest: 0.8.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-rwiuvCnk3Ug9T4s5oKzw3QXQSiTXlTUiQgHmZ9Ozw/37YzeX8LycosVKOtO3v5+fuARGmCgz9rVhaBJeGV+2bQ==
+ /p-cancelable/1.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+ /p-defer/1.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
+ /p-finally/1.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+ /p-finally/2.0.1:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
+ /p-is-promise/2.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
+ /p-limit/1.3.0:
+ dependencies:
+ p-try: 1.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ /p-limit/2.3.0:
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ /p-locate/2.0.0:
+ dependencies:
+ p-limit: 1.3.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ /p-locate/3.0.0:
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ /p-locate/4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ /p-map/2.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
+ /p-map/3.0.0:
+ dependencies:
+ aggregate-error: 3.0.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==
+ /p-map/4.0.0:
+ dependencies:
+ aggregate-error: 3.0.1
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ /p-memoize/3.1.0:
+ dependencies:
+ mem: 4.3.0
+ mimic-fn: 2.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-e5tIvrsr7ydUUnxb534iQWtXxWgk/86IsH+H+nV4FHouIggBt4coXboKBt26o4lTu7JbEnGSeXdEsYR8BhAHFA==
+ /p-timeout/3.2.0:
+ dependencies:
+ p-finally: 1.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
+ /p-try/1.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+ /p-try/2.2.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+ /package-json/6.5.0:
+ dependencies:
+ got: 9.6.0
+ registry-auth-token: 4.1.1
+ registry-url: 5.1.0
+ semver: 6.3.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
+ /parent-module/1.0.1:
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ /parse-github-repo-url/1.4.1:
+ dev: true
+ resolution:
+ integrity: sha1-nn2LslKmy2ukJZUGC3v23z28H1A=
+ /parse-json/2.2.0:
+ dependencies:
+ error-ex: 1.3.2
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ /parse-json/4.0.0:
+ dependencies:
+ error-ex: 1.3.2
+ json-parse-better-errors: 1.0.2
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+ /parse-json/5.0.0:
+ dependencies:
+ "@babel/code-frame": 7.8.3
+ error-ex: 1.3.2
+ json-parse-better-errors: 1.0.2
+ lines-and-columns: 1.1.6
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
+ /parse-ms/2.1.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==
+ /parse5/5.1.1:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
+ /path-exists/2.1.0:
+ dependencies:
+ pinkie-promise: 2.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ /path-exists/3.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+ /path-exists/4.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+ /path-is-absolute/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+ /path-is-inside/1.0.2:
+ dev: true
+ resolution:
+ integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
+ /path-key/2.0.1:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+ /path-key/3.1.1:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+ /path-parse/1.0.6:
+ dev: true
+ resolution:
+ integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ /path-type/1.1.0:
+ dependencies:
+ graceful-fs: 4.2.4
+ pify: 2.3.0
+ pinkie-promise: 2.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ /path-type/2.0.0:
+ dependencies:
+ pify: 2.3.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
+ /path-type/3.0.0:
+ dependencies:
+ pify: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+ /path-type/4.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+ /performance-now/2.1.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+ /picomatch/2.2.2:
+ dev: true
+ engines:
+ node: ">=8.6"
+ resolution:
+ integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+ /pify/2.3.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+ /pify/3.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+ /pify/4.0.1:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+ /pinkie-promise/2.0.1:
+ dependencies:
+ pinkie: 2.0.4
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ /pinkie/2.0.4:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+ /pkg-conf/3.1.0:
+ dependencies:
+ find-up: 3.0.0
+ load-json-file: 5.3.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==
+ /pkg-dir/2.0.0:
+ dependencies:
+ find-up: 2.1.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
+ /pkg-dir/4.2.0:
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ /pkg-up/2.0.0:
+ dependencies:
+ find-up: 2.1.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ /please-upgrade-node/3.2.0:
+ dependencies:
+ semver-compare: 1.0.0
+ dev: true
+ resolution:
+ integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
+ /plur/4.0.0:
+ dependencies:
+ irregular-plurals: 3.2.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==
+ /pnpm/4.14.4:
+ dev: true
+ engines:
+ node: ">=10.13"
+ hasBin: true
+ resolution:
+ integrity: sha512-AH+vcfKJIlfKznH2vZj83utJ9g4vHjBK982OdinnBfWvYpHQ8opEMr9g1evAwlCW0Oim6V0sdolFvmV5AXc3Zw==
+ /prelude-ls/1.1.2:
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+ /prelude-ls/1.2.1:
+ dev: true
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+ /prepend-http/2.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+ /prettier/1.19.1:
+ dev: true
+ engines:
+ node: ">=4"
+ hasBin: true
+ resolution:
+ integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+ /prettier/2.0.5:
+ dev: true
+ engines:
+ node: ">=10.13.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
+ /pretty-ms/7.0.0:
+ dependencies:
+ parse-ms: 2.1.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-J3aPWiC5e9ZeZFuSeBraGxSkGMOvulSWsxDByOcbD1Pr75YL3LSNIKIb52WXbCLE1sS5s4inBBbryjF4Y05Ceg==
+ /pretty-quick/2.0.1_prettier@2.0.5:
+ dependencies:
+ chalk: 2.4.2
+ execa: 2.1.0
+ find-up: 4.1.0
+ ignore: 5.1.6
+ mri: 1.1.5
+ multimatch: 4.0.0
+ prettier: 2.0.5
+ dev: true
+ engines:
+ node: ">=8"
+ hasBin: true
+ peerDependencies:
+ prettier: ">=1.8.0"
+ resolution:
+ integrity: sha512-y7bJt77XadjUr+P1uKqZxFWLddvj3SKY6EU4BuQtMxmmEFSMpbN132pUWdSG1g1mtUfO0noBvn7wBf0BVeomHg==
+ /private/0.1.8:
+ dev: true
+ engines:
+ node: ">= 0.6"
+ resolution:
+ integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
+ /process-nextick-args/2.0.1:
+ dev: true
+ resolution:
+ integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+ /progress/2.0.3:
+ dev: true
+ engines:
+ node: ">=0.4.0"
+ resolution:
+ integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+ /psl/1.8.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+ /pump/3.0.0:
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: true
+ resolution:
+ integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ /punycode/2.1.1:
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+ /pupa/2.0.1:
+ dependencies:
+ escape-goat: 2.1.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==
+ /q/1.5.1:
+ dev: true
+ engines:
+ node: ">=0.6.0"
+ teleport: ">=0.2.0"
+ resolution:
+ integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
+ /qs/6.5.2:
+ dev: false
+ engines:
+ node: ">=0.6"
+ optional: true
+ resolution:
+ integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+ /quick-lru/1.1.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=
+ /quick-lru/4.0.1:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
+ /randomatic/3.1.1:
+ dependencies:
+ is-number: 4.0.0
+ kind-of: 6.0.3
+ math-random: 1.0.4
+ dev: true
+ engines:
+ node: ">= 0.10.0"
+ resolution:
+ integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
+ /rc/1.2.8:
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.5
+ minimist: 1.2.5
+ strip-json-comments: 2.0.1
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ /read-pkg-up/1.0.1:
+ dependencies:
+ find-up: 1.1.2
+ read-pkg: 1.1.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ /read-pkg-up/2.0.0:
+ dependencies:
+ find-up: 2.1.0
+ read-pkg: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
+ /read-pkg-up/3.0.0:
+ dependencies:
+ find-up: 2.1.0
+ read-pkg: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
+ /read-pkg-up/7.0.1:
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
+ /read-pkg/1.1.0:
+ dependencies:
+ load-json-file: 1.1.0
+ normalize-package-data: 2.5.0
+ path-type: 1.1.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ /read-pkg/2.0.0:
+ dependencies:
+ load-json-file: 2.0.0
+ normalize-package-data: 2.5.0
+ path-type: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
+ /read-pkg/3.0.0:
+ dependencies:
+ load-json-file: 4.0.0
+ normalize-package-data: 2.5.0
+ path-type: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
+ /read-pkg/5.2.0:
+ dependencies:
+ "@types/normalize-package-data": 2.4.0
+ normalize-package-data: 2.5.0
+ parse-json: 5.0.0
+ type-fest: 0.6.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
+ /readable-stream/2.3.7:
+ dependencies:
+ core-util-is: 1.0.2
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+ dev: true
+ resolution:
+ integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ /readable-stream/3.6.0:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ /readdirp/3.4.0:
+ dependencies:
+ picomatch: 2.2.2
+ dev: true
+ engines:
+ node: ">=8.10.0"
+ resolution:
+ integrity: sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+ /rechoir/0.6.2:
+ dependencies:
+ resolve: 1.17.0
+ dev: true
+ engines:
+ node: ">= 0.10"
+ resolution:
+ integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
+ /redent/1.0.0:
+ dependencies:
+ indent-string: 2.1.0
+ strip-indent: 1.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
+ /redent/2.0.0:
+ dependencies:
+ indent-string: 3.2.0
+ strip-indent: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=
+ /redent/3.0.0:
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+ /regenerate-unicode-properties/8.2.0:
+ dependencies:
+ regenerate: 1.4.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
+ /regenerate/1.4.0:
+ dev: true
+ resolution:
+ integrity: sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
+ /regenerator-runtime/0.13.5:
+ dev: true
+ resolution:
+ integrity: sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
+ /regenerator-transform/0.14.4:
+ dependencies:
+ "@babel/runtime": 7.9.6
+ private: 0.1.8
+ dev: true
+ resolution:
+ integrity: sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==
+ /regexpp/2.0.1:
+ dev: true
+ engines:
+ node: ">=6.5.0"
+ resolution:
+ integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
+ /regexpp/3.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
+ /regexpu-core/4.7.0:
+ dependencies:
+ regenerate: 1.4.0
+ regenerate-unicode-properties: 8.2.0
+ regjsgen: 0.5.2
+ regjsparser: 0.6.4
+ unicode-match-property-ecmascript: 1.0.4
+ unicode-match-property-value-ecmascript: 1.2.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
+ /regextras/0.7.1:
+ dev: true
+ engines:
+ node: ">=0.1.14"
+ resolution:
+ integrity: sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==
+ /registry-auth-token/4.1.1:
+ dependencies:
+ rc: 1.2.8
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ resolution:
+ integrity: sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==
+ /registry-url/5.1.0:
+ dependencies:
+ rc: 1.2.8
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
+ /regjsgen/0.5.2:
+ dev: true
+ resolution:
+ integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
+ /regjsparser/0.6.4:
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
+ /remarkable/1.7.4:
+ dependencies:
+ argparse: 1.0.10
+ autolinker: 0.28.1
+ dev: true
+ engines:
+ node: ">= 0.10.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==
+ /repeat-element/1.1.3:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
+ /repeat-string/1.6.1:
+ dev: true
+ engines:
+ node: ">=0.10"
+ resolution:
+ integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+ /repeating/2.0.1:
+ dependencies:
+ is-finite: 1.1.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+ /request-promise-core/1.1.3_request@2.88.2:
+ dependencies:
+ lodash: 4.17.15
+ request: 2.88.2
+ dev: false
+ engines:
+ node: ">=0.10.0"
+ optional: true
+ peerDependencies:
+ request: ^2.34
+ resolution:
+ integrity: sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==
+ /request-promise-native/1.0.8_request@2.88.2:
+ dependencies:
+ request: 2.88.2
+ request-promise-core: 1.1.3_request@2.88.2
+ stealthy-require: 1.1.1
+ tough-cookie: 2.5.0
+ dev: false
+ engines:
+ node: ">=0.12.0"
+ optional: true
+ peerDependencies:
+ request: ^2.34
+ resolution:
+ integrity: sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==
+ /request/2.88.2:
+ dependencies:
+ aws-sign2: 0.7.0
+ aws4: 1.10.0
+ caseless: 0.12.0
+ combined-stream: 1.0.8
+ extend: 3.0.2
+ forever-agent: 0.6.1
+ form-data: 2.3.3
+ har-validator: 5.1.3
+ http-signature: 1.2.0
+ is-typedarray: 1.0.0
+ isstream: 0.1.2
+ json-stringify-safe: 5.0.1
+ mime-types: 2.1.27
+ oauth-sign: 0.9.0
+ performance-now: 2.1.0
+ qs: 6.5.2
+ safe-buffer: 5.2.1
+ tough-cookie: 2.5.0
+ tunnel-agent: 0.6.0
+ uuid: 3.4.0
+ deprecated: "request has been deprecated, see https://github.com/request/request/issues/3142"
+ dev: false
+ engines:
+ node: ">= 6"
+ optional: true
+ resolution:
+ integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ /require-directory/2.1.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+ /require-main-filename/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+ /resolve-cwd/3.0.0:
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+ /resolve-from/4.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+ /resolve-from/5.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+ /resolve/1.17.0:
+ dependencies:
+ path-parse: 1.0.6
+ dev: true
+ resolution:
+ integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+ /responselike/1.0.2:
+ dependencies:
+ lowercase-keys: 1.0.1
+ dev: true
+ resolution:
+ integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
+ /restore-cursor/2.0.0:
+ dependencies:
+ onetime: 2.0.1
+ signal-exit: 3.0.3
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ /restore-cursor/3.1.0:
+ dependencies:
+ onetime: 5.1.0
+ signal-exit: 3.0.3
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ /reusify/1.0.4:
+ dev: true
+ engines:
+ iojs: ">=1.0.0"
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+ /rimraf/2.6.3:
+ dependencies:
+ glob: 7.1.6
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+ /rimraf/2.7.1:
+ dependencies:
+ glob: 7.1.6
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ /rimraf/3.0.2:
+ dependencies:
+ glob: 7.1.6
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ /rollup/2.10.9:
+ dev: true
+ engines:
+ node: ">=10.0.0"
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.1.3
+ resolution:
+ integrity: sha512-dY/EbjiWC17ZCUSyk14hkxATAMAShkMsD43XmZGWjLrgFj15M3Dw2kEkA9ns64BiLFm9PKN6vTQw8neHwK74eg==
+ /run-async/2.4.1:
+ dev: true
+ engines:
+ node: ">=0.12.0"
+ resolution:
+ integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+ /run-parallel/1.1.9:
+ dev: true
+ resolution:
+ integrity: sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
+ /rxjs/6.5.5:
+ dependencies:
+ tslib: 1.13.0
+ dev: true
+ engines:
+ npm: ">=2.0.0"
+ resolution:
+ integrity: sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==
+ /safe-buffer/5.1.2:
+ dev: true
+ resolution:
+ integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+ /safe-buffer/5.2.1:
+ resolution:
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+ /safer-buffer/2.1.2:
+ resolution:
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+ /saxes/5.0.1:
+ dependencies:
+ xmlchars: 2.2.0
+ dev: false
+ engines:
+ node: ">=10"
+ optional: true
+ resolution:
+ integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
+ /scoped-regex/2.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==
+ /semver-compare/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+ /semver-diff/3.1.1:
+ dependencies:
+ semver: 6.3.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
+ /semver-regex/2.0.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
+ /semver/5.7.1:
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+ /semver/6.3.0:
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+ /semver/7.0.0:
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+ /semver/7.3.2:
+ dev: true
+ engines:
+ node: ">=10"
+ hasBin: true
+ resolution:
+ integrity: sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+ /serialize-error/2.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=
+ /set-blocking/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+ /set-getter/0.1.0:
+ dependencies:
+ to-object-path: 0.3.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=
+ /shebang-command/1.2.0:
+ dependencies:
+ shebang-regex: 1.0.0
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+ /shebang-command/2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ /shebang-regex/1.0.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+ /shebang-regex/3.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+ /shelljs/0.8.4:
+ dependencies:
+ glob: 7.1.6
+ interpret: 1.2.0
+ rechoir: 0.6.2
+ dev: true
+ engines:
+ node: ">=4"
+ hasBin: true
+ resolution:
+ integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
+ /signal-exit/3.0.3:
+ dev: true
+ resolution:
+ integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+ /slash/3.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+ /slice-ansi/0.0.4:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
+ /slice-ansi/2.1.0:
+ dependencies:
+ ansi-styles: 3.2.1
+ astral-regex: 1.0.0
+ is-fullwidth-code-point: 2.0.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ /slice-ansi/3.0.0:
+ dependencies:
+ ansi-styles: 4.2.1
+ astral-regex: 2.0.0
+ is-fullwidth-code-point: 3.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+ /source-map-support/0.5.19:
+ dependencies:
+ buffer-from: 1.1.1
+ source-map: 0.6.1
+ dev: true
+ resolution:
+ integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
+ /source-map/0.5.7:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+ /source-map/0.6.1:
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+ /sourcemap-codec/1.4.8:
+ dev: true
+ resolution:
+ integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+ /spdx-correct/3.1.1:
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.5
+ dev: true
+ resolution:
+ integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+ /spdx-exceptions/2.3.0:
+ dev: true
+ resolution:
+ integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+ /spdx-expression-parse/3.0.1:
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.5
+ dev: true
+ resolution:
+ integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+ /spdx-license-ids/3.0.5:
+ dev: true
+ resolution:
+ integrity: sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
+ /split/1.0.1:
+ dependencies:
+ through: 2.3.8
+ dev: true
+ resolution:
+ integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
+ /split2/2.2.0:
+ dependencies:
+ through2: 2.0.5
+ dev: true
+ resolution:
+ integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==
+ /sprintf-js/1.0.3:
+ dev: true
+ resolution:
+ integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+ /sprintf-js/1.1.2:
+ dev: true
+ resolution:
+ integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
+ /sshpk/1.16.1:
+ dependencies:
+ asn1: 0.2.4
+ assert-plus: 1.0.0
+ bcrypt-pbkdf: 1.0.2
+ dashdash: 1.14.1
+ ecc-jsbn: 0.1.2
+ getpass: 0.1.7
+ jsbn: 0.1.1
+ safer-buffer: 2.1.2
+ tweetnacl: 0.14.5
+ dev: false
+ engines:
+ node: ">=0.10.0"
+ hasBin: true
+ optional: true
+ resolution:
+ integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+ /stack-utils/2.0.2:
+ dependencies:
+ escape-string-regexp: 2.0.0
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==
+ /standard-changelog/2.0.24:
+ dependencies:
+ add-stream: 1.0.0
+ chalk: 4.0.0
+ conventional-changelog-angular: 5.0.10
+ conventional-changelog-core: 4.1.7
+ figures: 3.2.0
+ fs-access: 1.0.1
+ lodash: 4.17.15
+ meow: 7.0.1
+ rimraf: 3.0.2
+ sprintf-js: 1.1.2
+ tempfile: 3.0.0
+ dev: true
+ engines:
+ node: ">=10"
+ hasBin: true
+ resolution:
+ integrity: sha512-Tp0y5rkB8BKoURus4+fMcOXUpP1K2MrHAlMhMrBsz+25Evbn/72MdNN0IGVTctp7gioRXaeSb2HnfRY1PRaSyg==
+ /stealthy-require/1.1.1:
+ dev: false
+ engines:
+ node: ">=0.10.0"
+ optional: true
+ resolution:
+ integrity: sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+ /string-width/1.0.2:
+ dependencies:
+ code-point-at: 1.1.0
+ is-fullwidth-code-point: 1.0.0
+ strip-ansi: 3.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+ /string-width/2.1.1:
+ dependencies:
+ is-fullwidth-code-point: 2.0.0
+ strip-ansi: 4.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ /string-width/3.1.0:
+ dependencies:
+ emoji-regex: 7.0.3
+ is-fullwidth-code-point: 2.0.0
+ strip-ansi: 5.2.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+ /string-width/4.2.0:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+ /string.prototype.trimend/1.0.1:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ dev: true
+ resolution:
+ integrity: sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
+ /string.prototype.trimleft/2.1.2:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ string.prototype.trimstart: 1.0.1
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==
+ /string.prototype.trimright/2.1.2:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ string.prototype.trimend: 1.0.1
+ dev: true
+ engines:
+ node: ">= 0.4"
+ resolution:
+ integrity: sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==
+ /string.prototype.trimstart/1.0.1:
+ dependencies:
+ define-properties: 1.1.3
+ es-abstract: 1.17.5
+ dev: true
+ resolution:
+ integrity: sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
+ /string_decoder/1.1.1:
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: true
+ resolution:
+ integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ /string_decoder/1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+ resolution:
+ integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ /strip-ansi/3.0.1:
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ /strip-ansi/4.0.0:
+ dependencies:
+ ansi-regex: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ /strip-ansi/5.2.0:
+ dependencies:
+ ansi-regex: 4.1.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ /strip-ansi/6.0.0:
+ dependencies:
+ ansi-regex: 5.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+ /strip-bom/2.0.0:
+ dependencies:
+ is-utf8: 0.2.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ /strip-bom/3.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+ /strip-color/0.1.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-EG9l09PmotlAHKwOsM6LinArT3s=
+ /strip-final-newline/2.0.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+ /strip-indent/1.0.1:
+ dependencies:
+ get-stdin: 4.0.1
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ hasBin: true
+ resolution:
+ integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ /strip-indent/2.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
+ /strip-indent/3.0.0:
+ dependencies:
+ min-indent: 1.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+ /strip-json-comments/2.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+ /strip-json-comments/3.1.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
+ /supertap/1.0.0:
+ dependencies:
+ arrify: 1.0.1
+ indent-string: 3.2.0
+ js-yaml: 3.14.0
+ serialize-error: 2.1.0
+ strip-ansi: 4.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==
+ /supports-color/2.0.0:
+ dev: true
+ engines:
+ node: ">=0.8.0"
+ resolution:
+ integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+ /supports-color/5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ /supports-color/7.1.0:
+ dependencies:
+ has-flag: 4.0.0
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+ /supports-hyperlinks/2.1.0:
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==
+ /symbol-observable/1.2.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+ /symbol-tree/3.2.4:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+ /table/5.4.6:
+ dependencies:
+ ajv: 6.12.2
+ lodash: 4.17.15
+ slice-ansi: 2.1.0
+ string-width: 3.1.0
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ resolution:
+ integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
+ /temp-dir/2.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
+ /tempfile/3.0.0:
+ dependencies:
+ temp-dir: 2.0.0
+ uuid: 3.4.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==
+ /term-size/2.2.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==
+ /terminal-link/2.1.1:
+ dependencies:
+ ansi-escapes: 4.3.1
+ supports-hyperlinks: 2.1.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==
+ /text-extensions/1.9.0:
+ dev: true
+ engines:
+ node: ">=0.10"
+ resolution:
+ integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+ /text-table/0.2.0:
+ dev: true
+ resolution:
+ integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+ /through/2.3.8:
+ dev: true
+ resolution:
+ integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+ /through2/2.0.5:
+ dependencies:
+ readable-stream: 2.3.7
+ xtend: 4.0.2
+ dev: true
+ resolution:
+ integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ /through2/3.0.1:
+ dependencies:
+ readable-stream: 3.6.0
+ dev: true
+ resolution:
+ integrity: sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==
+ /time-zone/1.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=
+ /tlds/1.207.0:
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-k7d7Q1LqjtAvhtEOs3yN14EabsNO8ZCoY6RESSJDB9lst3bTx3as/m1UuAeCKzYxiyhR1qq72ZPhpSf+qlqiwg==
+ /tmp/0.0.33:
+ dependencies:
+ os-tmpdir: 1.0.2
+ dev: true
+ engines:
+ node: ">=0.6.0"
+ resolution:
+ integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ /to-fast-properties/2.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+ /to-object-path/0.3.0:
+ dependencies:
+ kind-of: 3.2.2
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+ /to-readable-stream/1.0.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+ /to-regex-range/5.0.1:
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+ engines:
+ node: ">=8.0"
+ resolution:
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ /toml/2.3.6:
+ dev: true
+ resolution:
+ integrity: sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==
+ /tough-cookie/2.5.0:
+ dependencies:
+ psl: 1.8.0
+ punycode: 2.1.1
+ dev: false
+ engines:
+ node: ">=0.8"
+ optional: true
+ resolution:
+ integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ /tough-cookie/3.0.1:
+ dependencies:
+ ip-regex: 2.1.0
+ psl: 1.8.0
+ punycode: 2.1.1
+ dev: false
+ engines:
+ node: ">=6"
+ optional: true
+ resolution:
+ integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==
+ /tr46/2.0.2:
+ dependencies:
+ punycode: 2.1.1
+ dev: false
+ engines:
+ node: ">=8"
+ optional: true
+ resolution:
+ integrity: sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==
+ /trim-newlines/1.0.0:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-WIeWa7WCpFA6QetST301ARgVphM=
+ /trim-newlines/2.0.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=
+ /trim-newlines/3.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==
+ /trim-off-newlines/1.0.1:
+ dev: true
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
+ /ts-node/8.10.1_typescript@3.9.3:
+ dependencies:
+ arg: 4.1.3
+ diff: 4.0.2
+ make-error: 1.3.6
+ source-map-support: 0.5.19
+ typescript: 3.9.3
+ yn: 3.1.1
+ dev: true
+ engines:
+ node: ">=6.0.0"
+ hasBin: true
+ peerDependencies:
+ typescript: ">=2.7"
+ resolution:
+ integrity: sha512-bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw==
+ /tslib/1.13.0:
+ resolution:
+ integrity: sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+ /tslib/2.0.0:
+ dev: false
+ resolution:
+ integrity: sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==
+ /tsutils/3.17.1_typescript@3.9.3:
+ dependencies:
+ tslib: 1.13.0
+ typescript: 3.9.3
+ dev: true
+ engines:
+ node: ">= 6"
+ peerDependencies:
+ typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ resolution:
+ integrity: sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
+ /tunnel-agent/0.6.0:
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ /tweetnacl/0.14.5:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+ /type-check/0.3.2:
+ dependencies:
+ prelude-ls: 1.1.2
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+ /type-check/0.4.0:
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+ engines:
+ node: ">= 0.8.0"
+ resolution:
+ integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ /type-fest/0.11.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+ /type-fest/0.13.1:
+ dev: true
+ engines:
+ node: ">=10"
+ resolution:
+ integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
+ /type-fest/0.3.1:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+ /type-fest/0.4.1:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==
+ /type-fest/0.6.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+ /type-fest/0.8.1:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+ /typedarray-to-buffer/3.1.5:
+ dependencies:
+ is-typedarray: 1.0.0
+ dev: true
+ resolution:
+ integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ /typedarray/0.0.6:
+ dev: true
+ resolution:
+ integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+ /typescript/3.9.3:
+ engines:
+ node: ">=4.2.0"
+ hasBin: true
+ resolution:
+ integrity: sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==
+ /ua-parser-js/0.7.21:
+ dev: true
+ resolution:
+ integrity: sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
+ /uglify-js/3.9.3:
+ dependencies:
+ commander: 2.20.3
+ dev: true
+ engines:
+ node: ">=0.8.0"
+ hasBin: true
+ optional: true
+ resolution:
+ integrity: sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==
+ /unicode-canonical-property-names-ecmascript/1.0.4:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
+ /unicode-match-property-ecmascript/1.0.4:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 1.0.4
+ unicode-property-aliases-ecmascript: 1.1.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
+ /unicode-match-property-value-ecmascript/1.2.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
+ /unicode-property-aliases-ecmascript/1.1.0:
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
+ /unique-string/2.0.0:
+ dependencies:
+ crypto-random-string: 2.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
+ /update-notifier/4.1.0:
+ dependencies:
+ boxen: 4.2.0
+ chalk: 3.0.0
+ configstore: 5.0.1
+ has-yarn: 2.1.0
+ import-lazy: 2.1.0
+ is-ci: 2.0.0
+ is-installed-globally: 0.3.2
+ is-npm: 4.0.0
+ is-yarn-global: 0.3.0
+ latest-version: 5.1.0
+ pupa: 2.0.1
+ semver-diff: 3.1.1
+ xdg-basedir: 4.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==
+ /uri-js/4.2.2:
+ dependencies:
+ punycode: 2.1.1
+ resolution:
+ integrity: sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
+ /url-parse-lax/3.0.0:
+ dependencies:
+ prepend-http: 2.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+ /url-regex/5.0.0:
+ dependencies:
+ ip-regex: 4.1.0
+ tlds: 1.207.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g==
+ /util-deprecate/1.0.2:
+ dev: true
+ resolution:
+ integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+ /uuid/3.4.0:
+ hasBin: true
+ resolution:
+ integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+ /v8-compile-cache/2.1.0:
+ dev: true
+ resolution:
+ integrity: sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
+ /validate-npm-package-license/3.0.4:
+ dependencies:
+ spdx-correct: 3.1.1
+ spdx-expression-parse: 3.0.1
+ dev: true
+ resolution:
+ integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ /validate-npm-package-name/3.0.0:
+ dependencies:
+ builtins: 1.0.3
+ dev: true
+ resolution:
+ integrity: sha1-X6kS2B630MdK/BQN5zF/DKffQ34=
+ /verror/1.10.0:
+ dependencies:
+ assert-plus: 1.0.0
+ core-util-is: 1.0.2
+ extsprintf: 1.3.0
+ dev: false
+ engines:
+ "0": node >=0.6.0
+ optional: true
+ resolution:
+ integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ /w3c-hr-time/1.0.2:
+ dependencies:
+ browser-process-hrtime: 1.0.0
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
+ /w3c-xmlserializer/2.0.0:
+ dependencies:
+ xml-name-validator: 3.0.0
+ dev: false
+ engines:
+ node: ">=10"
+ optional: true
+ resolution:
+ integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==
+ /wcwidth/1.0.1:
+ dependencies:
+ defaults: 1.0.3
+ dev: true
+ resolution:
+ integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+ /webidl-conversions/5.0.0:
+ dev: false
+ engines:
+ node: ">=8"
+ optional: true
+ resolution:
+ integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
+ /webidl-conversions/6.1.0:
+ dev: false
+ engines:
+ node: ">=10.4"
+ optional: true
+ resolution:
+ integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
+ /well-known-symbols/2.0.0:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==
+ /whatwg-encoding/1.0.5:
+ dependencies:
+ iconv-lite: 0.4.24
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
+ /whatwg-mimetype/2.3.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+ /whatwg-url/8.1.0:
+ dependencies:
+ lodash.sortby: 4.7.0
+ tr46: 2.0.2
+ webidl-conversions: 5.0.0
+ dev: false
+ engines:
+ node: ">=10"
+ optional: true
+ resolution:
+ integrity: sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==
+ /which-module/2.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+ /which-pm-runs/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
+ /which/1.3.1:
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+ hasBin: true
+ resolution:
+ integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ /which/2.0.2:
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+ engines:
+ node: ">= 8"
+ hasBin: true
+ resolution:
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ /widest-line/3.1.0:
+ dependencies:
+ string-width: 4.2.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+ /word-wrap/1.2.3:
+ engines:
+ node: ">=0.10.0"
+ resolution:
+ integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+ /wordwrap/1.0.0:
+ dev: true
+ resolution:
+ integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+ /wrap-ansi/3.0.1:
+ dependencies:
+ string-width: 2.1.1
+ strip-ansi: 4.0.0
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=
+ /wrap-ansi/6.2.0:
+ dependencies:
+ ansi-styles: 4.2.1
+ string-width: 4.2.0
+ strip-ansi: 6.0.0
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ /wrappy/1.0.2:
+ dev: true
+ resolution:
+ integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+ /write-file-atomic/3.0.3:
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.3
+ typedarray-to-buffer: 3.1.5
+ dev: true
+ resolution:
+ integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
+ /write/1.0.3:
+ dependencies:
+ mkdirp: 0.5.5
+ dev: true
+ engines:
+ node: ">=4"
+ resolution:
+ integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
+ /ws/7.3.0:
+ dev: false
+ engines:
+ node: ">=8.3.0"
+ optional: true
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ resolution:
+ integrity: sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==
+ /xdg-basedir/4.0.0:
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
+ /xml-name-validator/3.0.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+ /xmlchars/2.2.0:
+ dev: false
+ optional: true
+ resolution:
+ integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+ /xtend/4.0.2:
+ dev: true
+ engines:
+ node: ">=0.4"
+ resolution:
+ integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+ /y18n/4.0.0:
+ dev: true
+ resolution:
+ integrity: sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
+ /yallist/3.1.1:
+ dev: true
+ resolution:
+ integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+ /yaml/1.10.0:
+ dev: true
+ engines:
+ node: ">= 6"
+ resolution:
+ integrity: sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+ /yargs-parser/18.1.3:
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ /yargs/15.3.1:
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.0
+ which-module: 2.0.0
+ y18n: 4.0.0
+ yargs-parser: 18.1.3
+ dev: true
+ engines:
+ node: ">=8"
+ resolution:
+ integrity: sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==
+ /yn/3.1.1:
+ dev: true
+ engines:
+ node: ">=6"
+ resolution:
+ integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+specifiers:
+ "@types/node": ^14.0.5
+ "@types/prettier": ^2.0.1
+ "@typescript-eslint/eslint-plugin": ^3.0.1
+ "@typescript-eslint/parser": ^3.0.1
+ "@wessberg/di": ^2.0.3
+ "@wessberg/rollup-plugin-ts": ^1.2.24
+ "@wessberg/scaffold": ^1.0.29
+ "@wessberg/ts-config": ^1.0.10
+ "@wessberg/ts-evaluator": ^0.0.25
+ ava: ^3.8.2
+ eslint: ^7.1.0
+ eslint-config-prettier: ^6.11.0
+ eslint-plugin-import: ^2.20.2
+ eslint-plugin-jsdoc: ^25.4.2
+ husky: ^4.2.5
+ np: ^6.2.3
+ pnpm: ^4.14.4
+ prettier: ^2.0.5
+ pretty-quick: ^2.0.1
+ rimraf: ^3.0.2
+ rollup: ^2.10.9
+ slash: ^3.0.0
+ standard-changelog: ^2.0.24
+ ts-node: ^8.10.1
+ tslib: ^2.0.0
+ typescript: ^3.9.3
diff --git a/register/index.js b/register/index.js
new file mode 100644
index 0000000..bfd3b54
--- /dev/null
+++ b/register/index.js
@@ -0,0 +1,8 @@
+/* eslint-disable @typescript-eslint/no-require-imports */
+/* eslint-disable @typescript-eslint/no-var-requires */
+const { di } = require("../dist/cjs/index");
+
+require("ts-node").register({
+ transpileOnly: false,
+ transformers: (program) => di({ program }),
+});
diff --git a/rollup.config.js b/rollup.config.js
index edec0a3..4cf745c 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -2,31 +2,33 @@ import ts from "@wessberg/rollup-plugin-ts";
import packageJson from "./package.json";
import { builtinModules } from "module";
-export default {
- input: "src/index.ts",
- output: [
- {
- file: packageJson.main,
- format: "cjs",
- sourcemap: true
- },
- {
- file: packageJson.module,
- format: "esm",
- sourcemap: true
- }
- ],
- plugins: [
- ts({
- tsconfig:
- process.env.NODE_ENV === "production"
- ? "tsconfig.dist.json"
- : "tsconfig.json"
- })
- ],
- external: [
- ...builtinModules,
- ...Object.keys(packageJson.dependencies),
- ...Object.keys(packageJson.devDependencies)
- ]
-};
+export default [
+ {
+ input: "src/index.ts",
+ output: [
+ {
+ file: packageJson.main,
+ format: "cjs",
+ sourcemap: true,
+ },
+ {
+ file: packageJson.module,
+ format: "esm",
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ ts({
+ tsconfig: "tsconfig.build.json",
+ }),
+ ],
+ external: [
+ ...builtinModules,
+ ...Object.keys(
+ packageJson.dependencies == null ? {} : packageJson.dependencies
+ ),
+ ...Object.keys(packageJson.devDependencies),
+ ...Object.keys(packageJson.peerDependencies),
+ ],
+ },
+];
diff --git a/src/index.ts b/src/index.ts
index 01e8473..aabb184 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,2 +1,2 @@
-export { di } from "./transformer/transformer";
-export { IDIInputOptions } from "./transformer/i-di-input-options";
+export * from "./transformer/di-options";
+export * from "./transformer/di";
diff --git a/src/lib/multi-map/multi-map.ts b/src/lib/multi-map/multi-map.ts
deleted file mode 100644
index 47a43a9..0000000
--- a/src/lib/multi-map/multi-map.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * A WeakMultiMap is a wrapper around a Map that assumes that all values are collections
- */
-export class MultiMap {
- /**
- * The inner Map between keys and collections
- * @template K, C
- * @type {WeakMap}
- */
- // @ts-ignore
- protected readonly map: Map | WeakMap = new Map();
-
- /**
- * Gets the value for the given key. If it is not defined, it will initialize a new collection for it
- * @template K, V, C
- * @param {K} key
- * @returns {C}
- */
- public get(key: K): C {
- let match = this.map.get(key);
- if (match == null) {
- match = ([]);
- this.map.set(key, match);
- }
- return match;
- }
-
- /**
- * Pushes the given value to the collection for the given key
- * @template K, V
- * @param {K} key
- * @param {V[]} value
- * @returns {number}
- */
- public add(key: K, ...value: V[]): void {
- const collection = this.get(key);
- collection.push(...value);
- }
-
- /**
- * Returns true if the collection has the given key
- * @template K
- * @param {K} key
- * @returns {boolean}
- */
- public has(key: K): boolean {
- return this.map.has(key);
- }
-
- /**
- * Finds a value in the collection matching the given key
- * @template K, V
- * @param {K} key
- * @param {Function} callback
- * @returns {boolean}
- */
- public findValue(
- key: K,
- callback: (value: V, collection: C) => boolean
- ): S | undefined {
- if (!this.has(key)) return undefined;
- const collection = this.get(key);
- for (const value of collection) {
- if (callback(value, collection)) return value;
- }
- return undefined;
- }
-}
diff --git a/src/path-util.ts b/src/path-util.ts
new file mode 100644
index 0000000..07e484a
--- /dev/null
+++ b/src/path-util.ts
@@ -0,0 +1,57 @@
+import path, { ParsedPath } from "path";
+import { platform } from "os";
+import slash from "slash";
+
+export const ROOT_DIRECTORY = path.parse(process.cwd()).root;
+export const PLATFORM = platform();
+export const DRIVE_LETTER_REGEXP = /^\w:/;
+
+export function normalize(p: string): string {
+ return ensurePosix(p);
+}
+
+export function parse(p: string): ParsedPath {
+ const parsedPath = path.parse(p);
+ return {
+ ext: parsedPath.ext,
+ name: normalize(parsedPath.name),
+ base: normalize(parsedPath.base),
+ dir: normalize(parsedPath.dir),
+ root: normalize(parsedPath.root),
+ };
+}
+
+/**
+ * On Windows, it is important that all absolute paths are absolute, including the drive letter, because TypeScript assumes this
+ */
+export function ensureHasDriveLetter(p: string): string {
+ if (PLATFORM !== "win32") return p;
+ if (DRIVE_LETTER_REGEXP.test(p)) return p;
+ if (p.startsWith(ROOT_DIRECTORY)) return p;
+ if (!isAbsolute(p)) return p;
+ return nativeJoin(ROOT_DIRECTORY, p);
+}
+
+/**
+ * Ensures that the given path follows posix file names
+ */
+export function ensurePosix(p: string): string {
+ return slash(p);
+}
+
+export function nativeNormalize(p: string): string {
+ // Converts to either POSIX or native Windows file paths
+ return path.normalize(p);
+}
+
+export function nativeDirname(p: string): string {
+ return path.dirname(p);
+}
+
+export function nativeJoin(...paths: string[]): string {
+ return path.join(...paths);
+}
+
+export function isAbsolute(p: string): boolean {
+ return path.isAbsolute(p);
+}
diff --git a/src/transformer/after/after-transformer.ts b/src/transformer/after/after-transformer.ts
new file mode 100644
index 0000000..0053bf3
--- /dev/null
+++ b/src/transformer/after/after-transformer.ts
@@ -0,0 +1,44 @@
+import { VisitorContext } from "../visitor-context";
+import { TS } from "../../type/type";
+import { AfterVisitorOptions } from "./after-visitor-options";
+import { visitNode } from "./visitor/visit-node";
+
+export function afterTransformer(
+ context: VisitorContext
+): TS.TransformerFactory {
+ return (transformationContext) => (sourceFile) =>
+ transformSourceFile(sourceFile, context, transformationContext);
+}
+
+function transformSourceFile(
+ sourceFile: TS.SourceFile,
+ context: VisitorContext,
+ transformationContext: TS.TransformationContext
+): TS.SourceFile {
+ const visitorOptions: Pick<
+ AfterVisitorOptions,
+ Exclude, "node" | "sourceFile">
+ > = {
+ context,
+
+ continuation: (node) =>
+ visitNode({
+ ...visitorOptions,
+ sourceFile,
+ node,
+ }),
+ childContinuation: (node) =>
+ context.typescript.visitEachChild(
+ node,
+ (cbNode) =>
+ visitNode({
+ ...visitorOptions,
+ sourceFile,
+ node: cbNode,
+ }),
+ transformationContext
+ ),
+ };
+
+ return visitorOptions.continuation(sourceFile) as TS.SourceFile;
+}
diff --git a/src/transformer/after/after-visitor-options.ts b/src/transformer/after/after-visitor-options.ts
new file mode 100644
index 0000000..d5e0ff2
--- /dev/null
+++ b/src/transformer/after/after-visitor-options.ts
@@ -0,0 +1,5 @@
+import { TS } from "../../type/type";
+import { VisitorOptions } from "../visitor-options";
+
+export interface AfterVisitorOptions
+ extends VisitorOptions {}
diff --git a/src/transformer/after/visitor/visit-expression-statement.ts b/src/transformer/after/visitor/visit-expression-statement.ts
new file mode 100644
index 0000000..c17e5be
--- /dev/null
+++ b/src/transformer/after/visitor/visit-expression-statement.ts
@@ -0,0 +1,25 @@
+import { TS } from "../../../type/type";
+import { AfterVisitorOptions } from "../after-visitor-options";
+import { TYPE_NODE_CONSOLE_LOG_MARK } from "../../constant";
+
+export function visitExpressionStatement(
+ options: AfterVisitorOptions
+): TS.VisitResult {
+ const { node, context } = options;
+ const { typescript } = context;
+
+ // Do nothing if the node isn't relevant
+ if (
+ !typescript.isBinaryExpression(node.expression) ||
+ !typescript.isStringLiteralLike(node.expression.left) ||
+ node.expression.left.text !== TYPE_NODE_CONSOLE_LOG_MARK ||
+ node.expression.operatorToken.kind !== typescript.SyntaxKind.CommaToken
+ ) {
+ // Don't do a recursive pass in this case
+ return node;
+ }
+
+ // If we're here, we an safely simply just remove the ExpressionStatement as it is not needed
+ // anymore.
+ return undefined;
+}
diff --git a/src/transformer/after/visitor/visit-node.ts b/src/transformer/after/visitor/visit-node.ts
new file mode 100644
index 0000000..9003fdb
--- /dev/null
+++ b/src/transformer/after/visitor/visit-node.ts
@@ -0,0 +1,13 @@
+import { AfterVisitorOptions } from "../after-visitor-options";
+import { TS } from "../../../type/type";
+import { visitExpressionStatement } from "./visit-expression-statement";
+
+export function visitNode(
+ options: AfterVisitorOptions
+): TS.VisitResult {
+ if (options.context.typescript.isExpressionStatement(options.node)) {
+ return visitExpressionStatement({ ...options, node: options.node });
+ }
+
+ return options.childContinuation(options.node);
+}
diff --git a/src/transformer/before/before-transformer.ts b/src/transformer/before/before-transformer.ts
new file mode 100644
index 0000000..ded4ffd
--- /dev/null
+++ b/src/transformer/before/before-transformer.ts
@@ -0,0 +1,63 @@
+import { VisitorContext } from "../visitor-context";
+import { TS } from "../../type/type";
+import { BeforeVisitorOptions } from "./before-visitor-options";
+import { visitNode } from "./visitor/visit-node";
+
+export function beforeTransformer(
+ context: VisitorContext
+): TS.TransformerFactory {
+ return (transformationContext) => (sourceFile) =>
+ transformSourceFile(sourceFile, context, transformationContext);
+}
+
+function transformSourceFile(
+ sourceFile: TS.SourceFile,
+ context: VisitorContext,
+ transformationContext: TS.TransformationContext
+): TS.SourceFile {
+ const trailingStatements: TS.Statement[] = [];
+
+ const visitorOptions: Pick<
+ BeforeVisitorOptions,
+ Exclude, "node" | "sourceFile">
+ > = {
+ context,
+
+ addTrailingStatements: (...statements: TS.Statement[]): void => {
+ trailingStatements.push(...statements);
+ },
+
+ continuation: (node) =>
+ visitNode({
+ ...visitorOptions,
+ sourceFile,
+ node,
+ }),
+ childContinuation: (node) =>
+ context.typescript.visitEachChild(
+ node,
+ (cbNode) =>
+ visitNode({
+ ...visitorOptions,
+ sourceFile,
+ node: cbNode,
+ }),
+ transformationContext
+ ),
+ };
+
+ const updatedSourceFile = visitorOptions.continuation(
+ sourceFile
+ ) as TS.SourceFile;
+ if (trailingStatements.length < 1) return updatedSourceFile;
+
+ return context.typescript.updateSourceFileNode(
+ updatedSourceFile,
+ [...updatedSourceFile.statements, ...trailingStatements],
+ sourceFile.isDeclarationFile,
+ sourceFile.referencedFiles,
+ sourceFile.typeReferenceDirectives,
+ sourceFile.hasNoDefaultLib,
+ sourceFile.libReferenceDirectives
+ );
+}
diff --git a/src/transformer/before/before-visitor-options.ts b/src/transformer/before/before-visitor-options.ts
new file mode 100644
index 0000000..a296b90
--- /dev/null
+++ b/src/transformer/before/before-visitor-options.ts
@@ -0,0 +1,7 @@
+import { TS } from "../../type/type";
+import { VisitorOptions } from "../visitor-options";
+
+export interface BeforeVisitorOptions
+ extends VisitorOptions {
+ addTrailingStatements(...statements: TS.Statement[]): void;
+}
diff --git a/src/transformer/before/visitor/visit-call-expression.ts b/src/transformer/before/visitor/visit-call-expression.ts
new file mode 100644
index 0000000..6f4cd90
--- /dev/null
+++ b/src/transformer/before/visitor/visit-call-expression.ts
@@ -0,0 +1,168 @@
+import { DI_CONTAINER_NAME, TYPE_NODE_CONSOLE_LOG_MARK } from "../../constant";
+import { TS } from "../../../type/type";
+import { BeforeVisitorOptions } from "../before-visitor-options";
+import { DiMethodKind } from "../../di-method-kind";
+import { VisitorContext } from "../../visitor-context";
+
+export function visitCallExpression(
+ options: BeforeVisitorOptions
+): TS.VisitResult {
+ const {
+ node,
+ addTrailingStatements,
+ childContinuation,
+ continuation,
+ context,
+ } = options;
+ const { typescript } = context;
+
+ const diMethod = getDiMethodKind(node.expression, context);
+
+ if (diMethod != null) {
+ switch (diMethod) {
+ case DiMethodKind.GET:
+ case DiMethodKind.HAS: {
+ // If no type arguments are given, don't modify the node at all
+ if (node.typeArguments == null || node.typeArguments[0] == null) {
+ return childContinuation(node);
+ }
+
+ return typescript.updateCall(
+ node,
+ node.expression,
+ node.typeArguments,
+ [
+ typescript.createObjectLiteral([
+ typescript.createPropertyAssignment(
+ "identifier",
+ typescript.createStringLiteral(
+ node.typeArguments[0].getFullText().trim()
+ )
+ ),
+ ]),
+ ]
+ );
+ }
+
+ case DiMethodKind.REGISTER_SINGLETON:
+ case DiMethodKind.REGISTER_TRANSIENT: {
+ let [typeArg, implementationArg] = ((node.typeArguments ??
+ []) as unknown) as [
+ TS.TypeNode | TS.Expression | undefined,
+ TS.TypeNode | TS.Expression | undefined
+ ];
+
+ // If not implementation is provided, use the type argument *as* the implementation
+ if (implementationArg == null) {
+ implementationArg = typeArg;
+ }
+
+ // If another implementation is passed, used that one instead
+ if (node.arguments.length > 0) {
+ implementationArg = node.arguments[0];
+ }
+
+ if (typeArg == null || implementationArg == null) {
+ return childContinuation(node);
+ }
+
+ const typeArgText = typeArg.getFullText().trim();
+ const implementationArgText = implementationArg.getFullText().trim();
+
+ // If the Implementation is a TypeNode, it may be stripped from the file since Typescript won't Type-check the updates from
+ // a CustomTransformer and such a node would normally be removed from the imports.
+ // to fix it, add an ExpressionStatement such as '"foo", Foo' (that will be removed later)
+ if (typescript.isTypeNode(implementationArg)) {
+ addTrailingStatements(
+ typescript.createExpressionStatement(
+ typescript.createBinary(
+ typescript.createStringLiteral(TYPE_NODE_CONSOLE_LOG_MARK),
+ typescript.SyntaxKind.CommaToken,
+ typescript.createIdentifier(implementationArgText)
+ )
+ )
+ );
+ }
+
+ return typescript.updateCall(
+ node,
+ node.expression,
+ node.typeArguments,
+ [
+ typescript.isTypeNode(implementationArg)
+ ? typescript.createIdentifier("undefined")
+ : (continuation(implementationArg) as TS.Expression),
+ typescript.createObjectLiteral([
+ typescript.createPropertyAssignment(
+ "identifier",
+ typescript.createStringLiteral(typeArgText)
+ ),
+ ...(!typescript.isTypeNode(implementationArg)
+ ? []
+ : [
+ typescript.createPropertyAssignment(
+ "implementation",
+ typescript.createIdentifier(implementationArgText)
+ ),
+ ]),
+ ]),
+ ]
+ );
+ }
+ }
+ }
+
+ return childContinuation(node);
+}
+
+function getDiMethodKind(
+ node: TS.Expression,
+ context: VisitorContext
+): DiMethodKind | undefined {
+ if (
+ !context.typescript.isPropertyAccessExpression(node) &&
+ !context.typescript.isElementAccessExpression(node)
+ ) {
+ return undefined;
+ }
+
+ // Don't proceed unless the left-hand expression is the DIServiceContainer
+ const type = context.typeChecker.getTypeAtLocation(node.expression);
+
+ if (
+ type == null ||
+ type.symbol == null ||
+ type.symbol.escapedName !== DI_CONTAINER_NAME
+ ) {
+ return undefined;
+ }
+
+ let name: string;
+
+ // If it is an element access expression, evaluate the argument expression
+ if (context.typescript.isElementAccessExpression(node)) {
+ const evaluationResult = context.evaluate(node.argumentExpression);
+
+ // If no value could be computed, or if the value isn't of type string, do nothing
+ if (
+ !evaluationResult.success ||
+ typeof evaluationResult.value !== "string"
+ ) {
+ return undefined;
+ } else {
+ name = evaluationResult.value;
+ }
+ } else {
+ name = node.name.text;
+ }
+
+ switch (name) {
+ case DiMethodKind.GET:
+ case DiMethodKind.HAS:
+ case DiMethodKind.REGISTER_SINGLETON:
+ case DiMethodKind.REGISTER_TRANSIENT:
+ return name;
+ default:
+ return undefined;
+ }
+}
diff --git a/src/transformer/before/visitor/visit-class-like-declaration.ts b/src/transformer/before/visitor/visit-class-like-declaration.ts
new file mode 100644
index 0000000..5822968
--- /dev/null
+++ b/src/transformer/before/visitor/visit-class-like-declaration.ts
@@ -0,0 +1,93 @@
+import { CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER } from "../../constant";
+import { TS } from "../../../type/type";
+import { BeforeVisitorOptions } from "../before-visitor-options";
+
+export function visitClassLikeDeclaration(
+ options: BeforeVisitorOptions
+): TS.VisitResult {
+ const {
+ node,
+ childContinuation,
+ continuation,
+ context: { typescript },
+ } = options;
+ const constructorDeclaration = node.members.find(
+ typescript.isConstructorDeclaration
+ );
+
+ // If there are no constructor declaration for the ClassLikeDeclaration, there's nothing to do
+ if (constructorDeclaration == null) {
+ return childContinuation(node);
+ }
+
+ const updatedClassMembers: readonly TS.ClassElement[] = [
+ ...(node.members.map(continuation) as TS.ClassElement[]),
+ typescript.createGetAccessor(
+ undefined,
+ [
+ typescript.createModifier(typescript.SyntaxKind.PublicKeyword),
+ typescript.createModifier(typescript.SyntaxKind.StaticKeyword),
+ ],
+ typescript.createComputedPropertyName(
+ typescript.createIdentifier(
+ `Symbol.for("${CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER}")`
+ )
+ ),
+ [],
+ undefined,
+ typescript.createBlock([
+ typescript.createReturn(
+ getParameterTypeNamesAsArrayLiteral(
+ constructorDeclaration.parameters,
+ typescript
+ )
+ ),
+ ])
+ ),
+ ];
+
+ if (typescript.isClassDeclaration(node)) {
+ return typescript.updateClassDeclaration(
+ node,
+ node.decorators,
+ node.modifiers,
+ node.name,
+ node.typeParameters,
+ node.heritageClauses,
+ updatedClassMembers
+ );
+ } else {
+ return typescript.updateClassExpression(
+ node,
+ node.modifiers,
+ node.name,
+ node.typeParameters,
+ node.heritageClauses,
+ updatedClassMembers
+ );
+ }
+}
+
+/**
+ * Takes ConstructorParams for the given NodeArray of ParameterDeclarations
+ */
+function getParameterTypeNamesAsArrayLiteral(
+ parameters: TS.NodeArray,
+ typescript: typeof TS
+): TS.ArrayLiteralExpression {
+ const constructorParams: TS.Expression[] = [];
+
+ for (let i = 0; i < parameters.length; i++) {
+ const parameter = parameters[i];
+ // If the parameter has no type, there's nothing to extract
+ if (parameter.type == null) {
+ constructorParams[i] = typescript.createIdentifier("undefined");
+ } else {
+ constructorParams[i] = typescript.createStringLiteral(
+ parameter.type.getFullText().trim()
+ );
+ }
+ }
+
+ return typescript.createArrayLiteral(constructorParams);
+}
diff --git a/src/transformer/before/visitor/visit-node.ts b/src/transformer/before/visitor/visit-node.ts
new file mode 100644
index 0000000..8dc80db
--- /dev/null
+++ b/src/transformer/before/visitor/visit-node.ts
@@ -0,0 +1,16 @@
+import { BeforeVisitorOptions } from "../before-visitor-options";
+import { TS } from "../../../type/type";
+import { visitClassLikeDeclaration } from "./visit-class-like-declaration";
+import { visitCallExpression } from "./visit-call-expression";
+
+export function visitNode(
+ options: BeforeVisitorOptions
+): TS.VisitResult {
+ if (options.context.typescript.isClassLike(options.node)) {
+ return visitClassLikeDeclaration({ ...options, node: options.node });
+ } else if (options.context.typescript.isCallExpression(options.node)) {
+ return visitCallExpression({ ...options, node: options.node });
+ }
+
+ return options.childContinuation(options.node);
+}
diff --git a/src/transformer/constant.ts b/src/transformer/constant.ts
index 33b7567..e6fd87e 100644
--- a/src/transformer/constant.ts
+++ b/src/transformer/constant.ts
@@ -1,5 +1,3 @@
-export const CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER: string = `___CTOR_ARGS___`;
-export const CONSTRUCTOR_ARGUMENTS_SYMBOL: unique symbol = Symbol.for(
- CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER
-);
+export const CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER = `___CTOR_ARGS___`;
+export const TYPE_NODE_CONSOLE_LOG_MARK = `___DI_COMPILER_TYPE_NODE_MARK___`;
export const DI_CONTAINER_NAME = "DIContainer";
diff --git a/src/transformer/di-method-kind.ts b/src/transformer/di-method-kind.ts
index f0684a4..e8422be 100644
--- a/src/transformer/di-method-kind.ts
+++ b/src/transformer/di-method-kind.ts
@@ -1,6 +1,6 @@
-export const enum DIMethodKind {
+export const enum DiMethodKind {
GET = "get",
HAS = "has",
REGISTER_SINGLETON = "registerSingleton",
- REGISTER_TRANSIENT = "registerTransient"
+ REGISTER_TRANSIENT = "registerTransient",
}
diff --git a/src/transformer/di-options.ts b/src/transformer/di-options.ts
new file mode 100644
index 0000000..eedfa12
--- /dev/null
+++ b/src/transformer/di-options.ts
@@ -0,0 +1,7 @@
+import { Program } from "typescript";
+import { TS } from "../type/type";
+
+export interface DiOptions {
+ program: Program;
+ typescript?: typeof TS;
+}
diff --git a/src/transformer/di.ts b/src/transformer/di.ts
new file mode 100644
index 0000000..1954867
--- /dev/null
+++ b/src/transformer/di.ts
@@ -0,0 +1,35 @@
+import { TS } from "../type/type";
+import { DiOptions } from "./di-options";
+import { VisitorContext } from "./visitor-context";
+import { evaluate } from "@wessberg/ts-evaluator";
+import * as TSModule from "typescript";
+import { beforeTransformer } from "./before/before-transformer";
+import { afterTransformer } from "./after/after-transformer";
+
+/**
+ * CustomTransformer that associates constructor arguments with any given class declaration
+ */
+export function di({
+ typescript = TSModule,
+ ...rest
+}: DiOptions): TS.CustomTransformers {
+ const typeChecker = rest.program.getTypeChecker();
+
+ // Prepare a VisitorContext
+ const visitorContext: VisitorContext = {
+ ...rest,
+ typescript,
+ typeChecker,
+ evaluate: (node) =>
+ evaluate({
+ node,
+ typeChecker,
+ typescript,
+ }),
+ };
+
+ return {
+ before: [beforeTransformer(visitorContext)],
+ after: [afterTransformer(visitorContext)],
+ };
+}
diff --git a/src/transformer/i-di-input-options.ts b/src/transformer/i-di-input-options.ts
deleted file mode 100644
index 1f55e31..0000000
--- a/src/transformer/i-di-input-options.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Program } from "typescript";
-
-export interface IDIInputOptions {
- program: Program;
-}
diff --git a/src/transformer/i-matched-identifier-in-imports.ts b/src/transformer/i-matched-identifier-in-imports.ts
deleted file mode 100644
index f066bdf..0000000
--- a/src/transformer/i-matched-identifier-in-imports.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Expression } from "typescript";
-
-export interface IMatchIdentifierInImportsBase {
- matched: boolean;
-}
-
-export interface INotMatchedIdentifierInImports
- extends IMatchIdentifierInImportsBase {
- matched: false;
-}
-
-export interface IMatchedIdentifierInImports
- extends IMatchIdentifierInImportsBase {
- matched: true;
- matchedIn: "name" | "namespace" | "named";
- propertyName?: string;
- name: string;
- moduleSpecifier: Expression;
-}
-
-export type MatchIdentifierInImports =
- | INotMatchedIdentifierInImports
- | IMatchedIdentifierInImports;
diff --git a/src/transformer/i-resolve-type-node-in-imports-and-generate-import-declaration-result.ts b/src/transformer/i-resolve-type-node-in-imports-and-generate-import-declaration-result.ts
deleted file mode 100644
index 7b2a95d..0000000
--- a/src/transformer/i-resolve-type-node-in-imports-and-generate-import-declaration-result.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { ImportDeclaration } from "typescript";
-
-export interface IResolveTypeNodeInImportsAndGenerateImportDeclarationResult {
- importDeclaration: ImportDeclaration;
- identifierText: string;
-}
diff --git a/src/transformer/transformer.ts b/src/transformer/transformer.ts
deleted file mode 100644
index 1cbd45f..0000000
--- a/src/transformer/transformer.ts
+++ /dev/null
@@ -1,525 +0,0 @@
-import {
- ArrayLiteralExpression,
- CallExpression,
- ClassDeclaration,
- ClassElement,
- ClassExpression,
- ConstructorDeclaration,
- createArrayLiteral,
- createBlock,
- createComputedPropertyName,
- createGetAccessor,
- createIdentifier,
- createImportClause,
- createImportDeclaration,
- createImportSpecifier,
- createModifier,
- createNamedImports,
- createNamespaceImport,
- createObjectLiteral,
- createPropertyAssignment,
- createReturn,
- createStringLiteral,
- CustomTransformers,
- Expression,
- isCallExpression,
- isClassDeclaration,
- isClassExpression,
- isImportDeclaration,
- isNamedImports,
- isNamespaceImport,
- isPropertyAccessExpression,
- isTypeNode,
- Node,
- NodeArray,
- ParameterDeclaration,
- PropertyAccessExpression,
- SourceFile,
- SyntaxKind,
- TransformationContext,
- Transformer,
- TypeChecker,
- TypeNode,
- updateCall,
- updateClassDeclaration,
- updateClassExpression,
- updateSourceFileNode,
- visitEachChild,
- visitNode as _visitNode
-} from "typescript";
-import {
- CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER,
- DI_CONTAINER_NAME
-} from "./constant";
-import { DIMethodKind } from "./di-method-kind";
-import { IResolveTypeNodeInImportsAndGenerateImportDeclarationResult } from "./i-resolve-type-node-in-imports-and-generate-import-declaration-result";
-import { MultiMap } from "../lib/multi-map/multi-map";
-import { MatchIdentifierInImports } from "./i-matched-identifier-in-imports";
-import { IDIInputOptions } from "./i-di-input-options";
-
-/**
- * Takes ConstructorParams for the given NodeArray of ParameterDeclarations
- * @param {NodeArray} parameters
- * @returns {ArrayLiteralExpression}
- */
-function takeConstructorParams(
- parameters: NodeArray
-): ArrayLiteralExpression {
- const constructorParams: Expression[] = [];
-
- for (let i = 0; i < parameters.length; i++) {
- const parameter = parameters[i];
- // If the parameter has no type, there's nothing to extract
- if (parameter.type == null) {
- constructorParams[i] = createIdentifier("undefined");
- } else {
- constructorParams[i] = createStringLiteral(
- parameter.type.getFullText().trim()
- );
- }
- }
-
- return createArrayLiteral(constructorParams);
-}
-
-/**
- * Returns true if the given TypeNode is already found within the given Import results
- * @param {TypeNode} typeNode
- * @param {MultiMap} resolvedTypeNodeInImportsResults
- * @returns {boolean}
- */
-function resolvedTypeNodeInImportsIsAlreadyMatched(
- typeNode: TypeNode,
- resolvedTypeNodeInImportsResults: MultiMap<
- string,
- IResolveTypeNodeInImportsAndGenerateImportDeclarationResult
- >
-): boolean {
- const sourceFile = typeNode.getSourceFile();
- if (sourceFile == null) return false;
- if (!resolvedTypeNodeInImportsResults.has(sourceFile.fileName)) return false;
- const typeNodeText = typeNode.getFullText().trim();
- return (
- resolvedTypeNodeInImportsResults.findValue(
- sourceFile.fileName,
- result => result.identifierText === typeNodeText
- ) != null
- );
-}
-
-/**
- * Resolves a TypeNode within the ImportDeclarations of the given SourceFile
- * @param {SourceFile} sourceFile
- * @param {TypeNode} typeNode
- * @param {MultiMap} resolvedTypeNodeInImportsResults
- * @returns {IResolveTypeNodeInImportsAndGenerateImportDeclarationResult?}
- */
-function resolveTypeNodeInImportsAndGenerateImportDeclaration(
- sourceFile: SourceFile,
- typeNode: TypeNode,
- resolvedTypeNodeInImportsResults: MultiMap<
- string,
- IResolveTypeNodeInImportsAndGenerateImportDeclarationResult
- >
-): IResolveTypeNodeInImportsAndGenerateImportDeclarationResult | undefined {
- if (
- resolvedTypeNodeInImportsIsAlreadyMatched(
- typeNode,
- resolvedTypeNodeInImportsResults
- )
- ) {
- return undefined;
- }
- const typeNodeText = typeNode.getFullText().trim();
-
- const match = getIdentifierMatchInImports(sourceFile, typeNodeText);
- if (!match.matched) return undefined;
-
- switch (match.matchedIn) {
- case "name":
- return {
- identifierText: typeNodeText,
- importDeclaration: createImportDeclaration(
- undefined,
- undefined,
- createImportClause(createIdentifier(match.name), undefined),
- match.moduleSpecifier
- )
- };
-
- case "namespace":
- return {
- identifierText: typeNodeText,
- importDeclaration: createImportDeclaration(
- undefined,
- undefined,
- createImportClause(
- undefined,
- createNamespaceImport(createIdentifier(match.name))
- ),
- match.moduleSpecifier
- )
- };
-
- case "named":
- return {
- identifierText: typeNodeText,
- importDeclaration: createImportDeclaration(
- undefined,
- undefined,
- createImportClause(
- undefined,
- createNamedImports([
- createImportSpecifier(
- match.propertyName == null
- ? undefined
- : createIdentifier(match.propertyName),
- createIdentifier(match.name)
- )
- ])
- ),
- match.moduleSpecifier
- )
- };
- }
-
- return undefined;
-}
-
-/**
- * Resolves a TypeNode within the ImportDeclarations of the given SourceFile
- * @param {SourceFile} sourceFile
- * @param {string} identifier
- * @returns {MatchIdentifierInImports}
- */
-function getIdentifierMatchInImports(
- sourceFile: SourceFile,
- identifier: string
-): MatchIdentifierInImports {
- for (const statement of sourceFile.statements) {
- if (!isImportDeclaration(statement) || statement.importClause == null) {
- continue;
- }
-
- if (
- statement.importClause.name != null &&
- statement.importClause.name.text === identifier
- ) {
- return {
- matched: true,
- matchedIn: "name",
- name: identifier,
- moduleSpecifier: statement.moduleSpecifier
- };
- }
-
- if (statement.importClause.namedBindings != null) {
- // Create a new ImportDeclaration of just the namespace import
- if (
- isNamespaceImport(statement.importClause.namedBindings) &&
- statement.importClause.namedBindings.name.text === identifier
- ) {
- return {
- matched: true,
- matchedIn: "namespace",
- name: identifier,
- moduleSpecifier: statement.moduleSpecifier
- };
- }
-
- if (isNamedImports(statement.importClause.namedBindings)) {
- for (const element of statement.importClause.namedBindings.elements) {
- // Create a new ImportDeclaration of just the named import
- if (element.name.text === identifier) {
- return {
- matched: true,
- matchedIn: "named",
- name: element.name.text,
- propertyName:
- element.propertyName == null
- ? undefined
- : element.propertyName.text,
- moduleSpecifier: statement.moduleSpecifier
- };
- }
- }
- }
- }
- }
- return { matched: false };
-}
-
-/**
- * Visits the given PropertyAccessExpression (which happens to be inside a CallExpression) and returns a DIMethodKind
- * if relevant
- * @param {Expression} node
- * @param {TypeChecker} typeChecker
- * @returns {DIMethodKind | undefined}
- */
-function getDIMethodKindForPropertyAccessCallExpression(
- node: PropertyAccessExpression,
- typeChecker: TypeChecker
-): DIMethodKind | undefined {
- // Don't proceed unless the left-hand expression is the DIServiceContainer
- const type = typeChecker.getTypeAtLocation(node.expression);
- if (
- type == null ||
- type.symbol == null ||
- type.symbol.escapedName !== DI_CONTAINER_NAME
- ) {
- return undefined;
- }
- switch (node.name.text) {
- case DIMethodKind.GET:
- case DIMethodKind.HAS:
- case DIMethodKind.REGISTER_SINGLETON:
- case DIMethodKind.REGISTER_TRANSIENT:
- return node.name.text;
- default:
- return undefined;
- }
-}
-
-/**
- * A transformer that can associate constructor arguments with any given class declaration
- * @type {(options: IDIInputOptions) => CustomTransformers}
- */
-export const di = ({ program }: IDIInputOptions): CustomTransformers => {
- const resolvedTypeNodeInImportsResults = new MultiMap<
- string,
- IResolveTypeNodeInImportsAndGenerateImportDeclarationResult
- >();
-
- return {
- after: [
- (_: TransformationContext): Transformer => {
- return sourceFile => {
- if (!resolvedTypeNodeInImportsResults.has(sourceFile.fileName)) {
- return sourceFile;
- }
-
- return updateSourceFileNode(sourceFile, [
- ...resolvedTypeNodeInImportsResults
- .get(sourceFile.fileName)
- .filter(
- v =>
- getIdentifierMatchInImports(sourceFile, v.identifierText)
- .matched === false
- )
- .map(v => v.importDeclaration),
- ...sourceFile.statements
- ]);
- };
- }
- ],
- before: [
- (context: TransformationContext): Transformer => {
- const typeChecker =
- program == null ? undefined : program.getTypeChecker();
-
- /**
- * Visits the given CallExpression
- * @param {CallExpression} node
- * @param {TypeChecker} checker
- * @returns {CallExpression | undefined}
- */
- function visitCallExpression(
- node: CallExpression,
- checker: TypeChecker
- ): CallExpression | undefined {
- if (isPropertyAccessExpression(node.expression)) {
- const diMethod = getDIMethodKindForPropertyAccessCallExpression(
- node.expression,
- checker
- );
- if (diMethod != null) {
- switch (diMethod) {
- case DIMethodKind.GET:
- case DIMethodKind.HAS: {
- // If no type arguments are given, don't modify the node at all
- if (
- node.typeArguments != null &&
- node.typeArguments[0] != null
- ) {
- return updateCall(
- node,
- node.expression,
- node.typeArguments,
- [
- createObjectLiteral([
- createPropertyAssignment(
- "identifier",
- createStringLiteral(
- node.typeArguments[0].getFullText().trim()
- )
- )
- ])
- ]
- );
- }
- break;
- }
-
- case DIMethodKind.REGISTER_SINGLETON:
- case DIMethodKind.REGISTER_TRANSIENT:
- // If no type arguments are given, don't modify the node at all
- if (node.typeArguments != null) {
- let [typeArg, implementationArg]: NodeArray<
- TypeNode | Expression
- > = node.typeArguments;
-
- // If not implementation is provided, use the type argument *as* the implementation
- if (implementationArg == null) {
- implementationArg = typeArg;
- }
-
- // If another implementation is passed, used that one instead
- if (node.arguments.length > 0) {
- implementationArg = node.arguments[0];
- }
-
- const sourceFile = (
- implementationArg.getSourceFile()
- );
-
- // If the Implementation is a TypeNode, it may be stripped from the file since Typescript won't Type-check the updates from
- // a CustomTransformer and such node would normally be removed from the imports
- if (isTypeNode(implementationArg) && sourceFile != null) {
- const resolvedTypeNodeInImports = resolveTypeNodeInImportsAndGenerateImportDeclaration(
- sourceFile,
- implementationArg,
- resolvedTypeNodeInImportsResults
- );
- if (resolvedTypeNodeInImports != null) {
- resolvedTypeNodeInImportsResults.add(
- sourceFile.fileName,
- resolvedTypeNodeInImports
- );
- }
- }
-
- // Only proceed if there is a type and an implementation (they may be the same)
- if (typeArg != null && implementationArg != null) {
- return updateCall(
- node,
- node.expression,
- node.typeArguments,
- [
- isTypeNode(implementationArg)
- ? createIdentifier("undefined")
- : visitEachChild(
- implementationArg,
- visitNode,
- context
- ),
- createObjectLiteral([
- createPropertyAssignment(
- "identifier",
- createStringLiteral(typeArg.getFullText().trim())
- ),
- ...(!isTypeNode(implementationArg)
- ? []
- : [
- createPropertyAssignment(
- "implementation",
- createIdentifier(
- implementationArg.getFullText().trim()
- )
- )
- ])
- ])
- ]
- );
- }
- }
- }
- }
- }
- return visitEachChild(node, visitNode, context);
- }
-
- /**
- * Visits the given Class
- * @param {ClassDeclaration|ClassExpression} node
- * @returns {ClassDeclaration|ClassExpression | undefined}
- */
- function visitClass(
- node: ClassDeclaration | ClassExpression
- ): ClassDeclaration | ClassExpression | undefined {
- const constructorDeclaration = (
- node.members.find(member => member.kind === SyntaxKind.Constructor)
- );
- if (constructorDeclaration == null) {
- return visitEachChild(node, visitNode, context);
- }
-
- const updatedClassMembers: ReadonlyArray = [
- ...node.members.map(member =>
- visitEachChild(member, visitNode, context)
- ),
- createGetAccessor(
- undefined,
- [
- createModifier(SyntaxKind.PublicKeyword),
- createModifier(SyntaxKind.StaticKeyword)
- ],
- createComputedPropertyName(
- createIdentifier(
- `Symbol.for("${CONSTRUCTOR_ARGUMENTS_SYMBOL_IDENTIFIER}")`
- )
- ),
- [],
- undefined,
- createBlock([
- createReturn(
- takeConstructorParams(constructorDeclaration.parameters)
- )
- ])
- )
- ];
-
- if (isClassDeclaration(node)) {
- return updateClassDeclaration(
- node,
- node.decorators,
- node.modifiers,
- node.name,
- node.typeParameters,
- node.heritageClauses,
- updatedClassMembers
- );
- } else {
- return updateClassExpression(
- node,
- node.modifiers,
- node.name,
- node.typeParameters,
- node.heritageClauses,
- updatedClassMembers
- );
- }
- }
-
- /**
- * Visits the given Node
- * @param {Node} node
- * @returns {Node | undefined}
- */
- function visitNode(node: Node): Node | undefined {
- if (typeChecker == null) return node;
- if (isClassDeclaration(node) || isClassExpression(node)) {
- return visitClass(node);
- } else if (isCallExpression(node)) {
- return visitCallExpression(node, typeChecker);
- }
-
- return visitEachChild(node, visitNode, context);
- }
-
- return sourceFile => {
- return _visitNode(sourceFile, visitNode);
- };
- }
- ]
- };
-};
diff --git a/src/transformer/visitor-context.ts b/src/transformer/visitor-context.ts
new file mode 100644
index 0000000..1a3cc54
--- /dev/null
+++ b/src/transformer/visitor-context.ts
@@ -0,0 +1,8 @@
+import { DiOptions } from "./di-options";
+import { TS } from "../type/type";
+import { EvaluateResult } from "@wessberg/ts-evaluator";
+
+export interface VisitorContext extends Required {
+ typeChecker: TS.TypeChecker;
+ evaluate(node: TS.Declaration | TS.Expression | TS.Statement): EvaluateResult;
+}
diff --git a/src/transformer/visitor-continuation.ts b/src/transformer/visitor-continuation.ts
new file mode 100644
index 0000000..a21f5f9
--- /dev/null
+++ b/src/transformer/visitor-continuation.ts
@@ -0,0 +1,5 @@
+import { TS } from "../type/type";
+
+export type VisitorContinuation = (
+ node: T
+) => TS.VisitResult;
diff --git a/src/transformer/visitor-options.ts b/src/transformer/visitor-options.ts
new file mode 100644
index 0000000..32e9698
--- /dev/null
+++ b/src/transformer/visitor-options.ts
@@ -0,0 +1,11 @@
+import { TS } from "../type/type";
+import { VisitorContext } from "./visitor-context";
+import { VisitorContinuation } from "./visitor-continuation";
+
+export interface VisitorOptions {
+ node: T;
+ sourceFile: TS.SourceFile;
+ context: VisitorContext;
+ continuation: VisitorContinuation;
+ childContinuation: VisitorContinuation;
+}
diff --git a/src/type/type.ts b/src/type/type.ts
new file mode 100644
index 0000000..0308008
--- /dev/null
+++ b/src/type/type.ts
@@ -0,0 +1,2 @@
+import * as TS from "typescript";
+export { TS };
diff --git a/test/constructor-arguments.test.ts b/test/constructor-arguments.test.ts
new file mode 100644
index 0000000..1dc352e
--- /dev/null
+++ b/test/constructor-arguments.test.ts
@@ -0,0 +1,58 @@
+import test from "ava";
+import { generateTransformerResult } from "./setup/setup-transformer";
+import { formatCode } from "./util/format-code";
+
+test("Can parse constructor parameters and extend with an internal static class member. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ interface IFoo {}
+ class Foo {
+ constructor (private foo: IFoo) {}
+ }
+ `,
+ },
+ ]);
+ const [file] = bundle;
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ class Foo {
+ constructor(foo) {
+ this.foo = foo;
+ }
+ static get [Symbol.for("___CTOR_ARGS___")]() { return ["IFoo"]; }
+ }
+ `)
+ );
+});
+
+test("Can parse constructor parameters and extend with an internal static class member. #2", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ interface IFoo {}
+ class Foo {
+ constructor (private foo: IFoo = {}, private bar) {}
+ }
+ `,
+ },
+ ]);
+ const [file] = bundle;
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ class Foo {
+ constructor(foo = {}, bar) {
+ this.foo = foo;
+ this.bar = bar;
+ }
+ static get [Symbol.for("___CTOR_ARGS___")]() { return ["IFoo", undefined]; }
+ }
+ `)
+ );
+});
diff --git a/test/container.test.ts b/test/container.test.ts
new file mode 100644
index 0000000..a3bb740
--- /dev/null
+++ b/test/container.test.ts
@@ -0,0 +1,209 @@
+import test from "ava";
+import { generateTransformerResult } from "./setup/setup-transformer";
+import { formatCode } from "./util/format-code";
+import { TYPE_NODE_CONSOLE_LOG_MARK } from "../src/transformer/constant";
+
+test("Only considers containers that are instances of DIContainer. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ class Foo {}
+ class MyContainer {
+ registerSingleton (): T|undefined {
+ console.log("foo");
+ return undefined;
+ }
+ }
+ const container = new MyContainer();
+ container.registerSingleton();
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ class Foo {}
+ class MyContainer {
+ registerSingleton () {
+ console.log("foo");
+ return undefined;
+ }
+ }
+ const container = new MyContainer();
+ container.registerSingleton();
+ `)
+ );
+});
+
+test("Supports ElementAccessExpressions. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ import {DIContainer} from "@wessberg/di";
+ class Foo {}
+ const container = new DIContainer();
+
+ container["registerSingleton"]();
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ import { DIContainer } from "@wessberg/di";
+ class Foo {
+ }
+ const container = new DIContainer();
+ container["registerSingleton"](undefined, { identifier: "Foo", implementation: Foo });
+ `)
+ );
+});
+
+test("Supports ElementAccessExpressions. #2", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ import {DIContainer} from "@wessberg/di";
+ class Foo {}
+ const container = new DIContainer();
+ const argumentExpression = "registerSingleton";
+
+ container[argumentExpression]();
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ import { DIContainer } from "@wessberg/di";
+ class Foo {
+ }
+ const container = new DIContainer();
+ const argumentExpression = "registerSingleton";
+ container[argumentExpression](undefined, { identifier: "Foo", implementation: Foo });
+ `)
+ );
+});
+
+test("Supports PropertyAccessExpressions. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ import {DIContainer} from "@wessberg/di";
+
+ interface IFoo {}
+
+ class Foo implements IFoo {}
+
+ const container = new DIContainer();
+ container.registerSingleton();
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ import { DIContainer } from "@wessberg/di";
+ class Foo {
+ }
+ const container = new DIContainer();
+ container.registerSingleton(undefined, { identifier: "IFoo", implementation: Foo });
+ `)
+ );
+});
+
+test("Supports custom implementation functions. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ import {DIContainer} from "@wessberg/di";
+
+ interface IFoo {
+ foo: string;
+ }
+
+ const container = new DIContainer();
+ container.registerSingleton(() => ({foo: "hello"}));
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ import { DIContainer } from "@wessberg/di";
+ const container = new DIContainer();
+ container.registerSingleton(() => ({foo: "hello"}), { identifier: "IFoo" });
+ `)
+ );
+});
+
+test("Will remove Type node marks. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ import {DIContainer} from "@wessberg/di";
+
+ interface IFoo {
+ foo: string;
+ }
+
+ const container = new DIContainer();
+ container.registerSingleton();
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.false(formatCode(file.code).includes(TYPE_NODE_CONSOLE_LOG_MARK));
+});
+
+test("When registering a service, the implementation type argument is treated as an optional argument. #1", (t) => {
+ const bundle = generateTransformerResult([
+ {
+ entry: true,
+ fileName: "index.ts",
+ text: `
+ import {DIContainer} from "@wessberg/di";
+
+ class Foo {}
+
+ const container = new DIContainer();
+ container.registerSingleton();
+ `,
+ },
+ ]);
+ const [file] = bundle;
+
+ t.deepEqual(
+ formatCode(file.code),
+ formatCode(`\
+ import { DIContainer } from "@wessberg/di";
+ class Foo {
+ }
+ const container = new DIContainer();
+ container.registerSingleton(undefined, { identifier: "Foo", implementation: Foo });
+ `)
+ );
+});
diff --git a/test/setup/setup-transformer.ts b/test/setup/setup-transformer.ts
new file mode 100644
index 0000000..a487993
--- /dev/null
+++ b/test/setup/setup-transformer.ts
@@ -0,0 +1,227 @@
+import { join, normalize } from "path";
+import { TS } from "../../src/type/type";
+import * as typescript from "typescript";
+import { di } from "../../src/transformer/di";
+import {
+ isAbsolute,
+ nativeDirname,
+ nativeJoin,
+ nativeNormalize,
+ parse,
+} from "../../src/path-util";
+
+// tslint:disable:no-any
+export interface TestFileRecord {
+ fileName: string;
+ text: string;
+ entry: boolean;
+}
+
+export type TestFile = TestFileRecord | string;
+
+interface FileResult {
+ fileName: string;
+ code: string;
+}
+
+interface TransformerOptions {
+ compilerOptions: Partial;
+ cwd: string;
+}
+
+/**
+ * Prepares a test
+ */
+export function generateTransformerResult(
+ inputFiles: TestFile[] | TestFile,
+ {
+ compilerOptions = {},
+ cwd = process.cwd(),
+ }: Partial = {}
+): readonly FileResult[] {
+ const files: TestFileRecord[] = (Array.isArray(inputFiles)
+ ? inputFiles
+ : [inputFiles]
+ )
+ .map((file) =>
+ typeof file === "string"
+ ? {
+ text: file,
+ fileName: `auto-generated-${Math.floor(Math.random() * 100000)}.ts`,
+ entry: true,
+ }
+ : file
+ )
+ .map((file) => ({ ...file, fileName: join(cwd, file.fileName) }));
+
+ const directories = new Set(
+ files.map((file) => nativeNormalize(nativeDirname(file.fileName)))
+ );
+
+ const entryFiles = files.filter((file) => file.entry);
+ if (entryFiles.length === 0) {
+ throw new ReferenceError(`No entry could be found`);
+ }
+
+ const results: FileResult[] = [];
+
+ let input: Record | string;
+ if (entryFiles.length === 1) {
+ input = entryFiles[0].fileName;
+ } else {
+ input = {};
+
+ // Ensure no conflicting chunk names
+ const seenNames = new Set();
+ for (const entryFile of entryFiles) {
+ let candidateName = parse(entryFile.fileName).name;
+ let offset = 0;
+ if (!seenNames.has(candidateName)) {
+ seenNames.add(candidateName);
+ } else {
+ candidateName = `${candidateName}-${++offset}`;
+ while (true) {
+ if (seenNames.has(candidateName)) {
+ candidateName = `${candidateName.slice(
+ 0,
+ candidateName.length - 2
+ )}-${++offset}`;
+ } else {
+ seenNames.add(candidateName);
+ break;
+ }
+ }
+ }
+
+ input[candidateName] = entryFile.fileName;
+ }
+ }
+
+ const program = typescript.createProgram({
+ rootNames: files.map((file) => file.fileName),
+ options: {
+ module: typescript.ModuleKind.ESNext,
+ target: typescript.ScriptTarget.ESNext,
+ moduleResolution: typescript.ModuleResolutionKind.NodeJs,
+ allowJs: true,
+ sourceMap: false,
+ ...compilerOptions,
+ },
+ host: {
+ ...typescript.sys,
+
+ getSourceFile(
+ fileName: string,
+ languageVersion: TS.ScriptTarget
+ ): TS.SourceFile | undefined {
+ const normalized = normalize(fileName);
+ const sourceText = this.readFile(normalized);
+ if (sourceText == null) return undefined;
+
+ return typescript.createSourceFile(
+ normalized,
+ sourceText,
+ languageVersion,
+ true,
+ typescript.ScriptKind.TS
+ );
+ },
+
+ getCurrentDirectory() {
+ return ".";
+ },
+
+ getDefaultLibFileName(options: TS.CompilerOptions): string {
+ return typescript.getDefaultLibFileName(options);
+ },
+
+ getCanonicalFileName(fileName: string): string {
+ return this.useCaseSensitiveFileNames()
+ ? fileName
+ : fileName.toLowerCase();
+ },
+
+ getNewLine(): string {
+ return typescript.sys.newLine;
+ },
+
+ useCaseSensitiveFileNames() {
+ return typescript.sys.useCaseSensitiveFileNames;
+ },
+
+ readFile: (fileName) => {
+ const normalized = nativeNormalize(fileName);
+ const absoluteFileName = isAbsolute(normalized)
+ ? normalized
+ : nativeJoin(cwd, normalized);
+ const file = files.find(
+ (currentFile) => currentFile.fileName === absoluteFileName
+ );
+ if (file != null) return file.text;
+ return typescript.sys.readFile(absoluteFileName);
+ },
+ writeFile() {
+ // Noop
+ },
+ fileExists: (fileName) => {
+ const normalized = nativeNormalize(fileName);
+ const absoluteFileName = isAbsolute(normalized)
+ ? normalized
+ : nativeJoin(cwd, normalized);
+ if (files.some((file) => file.fileName === absoluteFileName)) {
+ return true;
+ }
+
+ return typescript.sys.fileExists(absoluteFileName);
+ },
+ directoryExists: (dirName) => {
+ const normalized = nativeNormalize(dirName);
+ if (directories.has(normalized)) return true;
+ return typescript.sys.directoryExists(normalized);
+ },
+ realpath(path: string): string {
+ return nativeNormalize(path);
+ },
+ readDirectory(
+ rootDir: string,
+ extensions: readonly string[],
+ excludes: readonly string[] | undefined,
+ includes: readonly string[],
+ depth?: number
+ ): string[] {
+ const nativeNormalizedRootDir = nativeNormalize(rootDir);
+ const realResult = typescript.sys.readDirectory(
+ rootDir,
+ extensions,
+ excludes,
+ includes,
+ depth
+ );
+ const virtualFiles = files
+ .filter((file) => file.fileName.includes(nativeNormalizedRootDir))
+ .map((file) => file.fileName);
+ return [...new Set([...realResult, ...virtualFiles])].map(
+ nativeNormalize
+ );
+ },
+
+ getDirectories(path: string): string[] {
+ return typescript.sys.getDirectories(path).map(nativeNormalize);
+ },
+ },
+ });
+
+ const transformers = di({ program });
+
+ program.emit(
+ undefined,
+ (fileName, code) => {
+ results.push({ fileName, code });
+ },
+ undefined,
+ undefined,
+ transformers
+ );
+
+ return results;
+}
diff --git a/test/util/format-code.ts b/test/util/format-code.ts
new file mode 100644
index 0000000..e0ac7cd
--- /dev/null
+++ b/test/util/format-code.ts
@@ -0,0 +1,5 @@
+import { format } from "prettier";
+
+export function formatCode(code: string): string {
+ return format(code, { parser: "typescript", endOfLine: "lf" });
+}
diff --git a/tsconfig.dist.json b/tsconfig.build.json
similarity index 100%
rename from tsconfig.dist.json
rename to tsconfig.build.json
diff --git a/tsconfig.json b/tsconfig.json
index d8801c8..da2d988 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,6 +1,7 @@
{
"extends": "@wessberg/ts-config",
"compilerOptions": {
- "module": "commonjs"
+ "module": "commonjs",
+ "target": "es2018"
}
}
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index c5209f8..0000000
--- a/tslint.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "./node_modules/@wessberg/ts-config/tslint.json"
-}