diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..c704106f
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
index 5c261b8f..6360b10d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,43 +1,2 @@
-# compiled output
-/dist
-/node_modules
-
-# Logs
-logs
-*.log
-npm-debug.log*
-pnpm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# json requests / responses
-json
-
-# OS
+.idea/*
.DS_Store
-
-# Tests
-/coverage
-/.nyc_output
-
-# IDEs and editors
-/.idea
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
-
-# IDE - VSCode
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-
-# configuration
-.env
-.env-local
-*.icloud
diff --git a/LICENSE.md b/LICENSE.md
index 4ad2c000..991464f5 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2022 voucherify.io
+Copyright (c) 2023 voucherify.io
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 5bfb2dde..0722c127 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Demo store https://sunrise-ct-voucherify.herokuapp.com
-
+
---
@@ -51,6 +51,7 @@ Demo store https://sunrise-ct-voucherify.herokuapp.com
* [Final words](#final-words)
* [Licence](#licence)
+
## How does the integration between Voucherify and commercetools work?
The integration between Voucherify and commercetools allows your customers to use Voucherify-generated promotions in a store built on top of commercetools. We support all Voucherify campaigns.
@@ -73,7 +74,7 @@ If we want to allow customers to use coupons defined in Voucherify, the integrat
1. Watch cart updates on the commercetools’ side. If a customer adds a coupon code, use Voucherify API to validate coupons, get discount details and apply discounts back to the commercetools cart.
2. Record fulfilled orders from commercetools on the Voucherify’s side using Voucherify redeem endpoint.
-![commercetools & Voucherify integration flow chart](./public/integration-flow.jpeg)
+![commercetools & Voucherify integration flow chart](./voucherify-service/public/integration-flow.jpeg)
In addition, we suggest synchronizing your customer, product, and order data between commercetools and Voucherify, so you can use that data to build more advanced promotion campaigns.
@@ -91,7 +92,7 @@ Extensions:
## How to work with commercetools API Extensions?
-Our integration uses [commercetools API Extensions](https://docs.commercetools.com/api/projects/api-extensions) to monitor cart and order updates. But, before commercetools can send us HTTP requests with cart and order update details, we need to register API Extension and let commercetools know under which public URL our integration is available. There are two scenarios. First, if you run the integration on a publicly available server, you can register or unregister commercetools API Extension using `npm run api-extension-add`, `npm run api-extension-delete` or `npm run api-extension-update` commands. Those commands use the APP_URL environment variable as the public server address where commercetools will send cart and order updates. The second scenario is when you develop or test integration locally, and your PC does not have public IP or domain. In that case, you need to use a reverse proxy (e.g., ngrok) solution to expose your local integration application. To simplify this process, we built a script npm run dev:attach that runs an ngrok reverse proxy service, uses a randomly generated ngrok public URL to register API Extension in commercetools and start our application.
+Because we have organized our repository as monorepo to comply with the commercetools Connect platform, all `npm` commands should be executed inside the `/voucherify-service` folder. Our integration uses [commercetools API Extensions](https://docs.commercetools.com/api/projects/api-extensions) to monitor cart and order updates. But, before commercetools can send us HTTP requests with cart and order update details, we need to register API Extension and let commercetools know under which public URL our integration is available. There are two scenarios. First, if you run the integration on a publicly available server, you can register or unregister commercetools API Extension using `npm run api-extension-add`, `npm run api-extension-delete` or `npm run api-extension-update` commands. Those commands use the APP_URL environment variable as the public server address where commercetools will send cart and order updates. The second scenario is when you develop or test integration locally, and your PC does not have public IP or domain. In that case, you need to use a reverse proxy (e.g., ngrok) solution to expose your local integration application. To simplify this process, we built a script npm run dev:attach that runs an ngrok reverse proxy service, uses a randomly generated ngrok public URL to register API Extension in commercetools and start our application.
``` mermaid
graph LR;
@@ -198,7 +199,7 @@ Integration service just need to get order (integration type) and redeeming shou
### Configuration
Set environment variables with credentials to Voucherify and commercetools APIs. For local development, put the configuration into `.env` file (see `.env.example` configuration template).
-- `APP_URL` - a public URL where the application is hosted. commercetools will use this URL to make [API Extension HTTP requests](https://docs.commercetools.com/api/projects/api-extensions). This configuration is ignored for local development servers as ngrok provides a public URL dynamically.
+- `APP_URL` (or `CONNECT_SERVICE_URL`) - a public URL where the application is hosted. commercetools will use this URL to make [API Extension HTTP requests](https://docs.commercetools.com/api/projects/api-extensions). This configuration is ignored for local development servers as ngrok provides a public URL dynamically. Please, note that `CONNECT_SERVICE_URL` environment variable is used by Commecetools Connect.
- In Voucherify, go to `Project Dashboard > Project Settings > General Tab > Application Keys`.
- `VOUCHERIFY_APP_ID`
- `VOUCHERIFY_SECRET_KEY`
@@ -237,8 +238,9 @@ npm run config
#### For production
```bash
npm install
+npm run build
npm run start
-npm run register
+npm run api-extension-add
```
#### For local development (ngrok required)
@@ -251,7 +253,7 @@ npm run dev:attach
```bash
npm install
npm run dev
-npm run register
+npm run api-extension-add
```
---
@@ -318,6 +320,10 @@ We have created integration tests to cover the most important scenarios connecte
1. Create a new application on your Heroku account with a given
2. Go to your -> Settings -> Reveal Config Vars
3. Configure your commercetools application and set up environment variables [see Configuration](#configuration)
+4. Add buildpacks (in order):
+ - https://github.com/lstoll/heroku-buildpack-monorepo
+ - heroku/nodejs
+5. Set `APP_BASE` environment variable to `voucherify-service`
### Deployment
@@ -448,9 +454,9 @@ Currently, we support a few cases related to loyalty program. Firstly we provide
3. As the store operator logged into the commercetools panel, I see new orders, including applied coupon codes on the Custom Fields tab and applied coupon discount value in the Order items list.
4. As the store operator logged into the commercetools panel when I update Order Payment Status to Paid, customer, order, and redeemed objects are created in Voucherify.
-![Order screen in commercetools](./public/ct-order.png)
-![Order custom fields in commercetools](./public/ct-order-custom-fields.png)
-![Redemption screen in Voucherify](./public/voucherify-redemption.png)
+![Order screen in commercetools](./voucherify-service/public/ct-order.png)
+![Order custom fields in commercetools](./voucherify-service/public/ct-order-custom-fields.png)
+![Redemption screen in Voucherify](./voucherify-service/public/voucherify-redemption.png)
---
@@ -459,6 +465,17 @@ Currently, we support a few cases related to loyalty program. Firstly we provide
If you found a bug or want to suggest a new feature, please file a GitHub issue.
## Changelog
+- 2024-01-23 `v6.0.5` (versions v6.0.1 - v6.0.4 were not released to the public)
+ - added more tests, moved all tests to `voucherify-service/test` folder
+ - updated dependencies
+ - added `npm run config` to `npm run ct-connect-post-deploy` command
+ - added `channel` header to V% requests.
+ - added support for V% `partial` redeem/validation mode.
+ - code refactoring (lowering cognitive complexity)
+ - fixed bug in `productsToAdd` function related to CT price selector.
+- 2023-05-16 `v6.0.0` adjust application structure to be compliant with commercetools Connect platform
+- 2023-05-11 `v5.2.3`
+ - adjust application to work with Commercetools Connect platform:
- 2023-05-05 `v5.2.2`
- do not make unnecessary, malformed requests to CT for a products
- update tests
diff --git a/connect.yaml b/connect.yaml
new file mode 100644
index 00000000..b5b4e4f6
--- /dev/null
+++ b/connect.yaml
@@ -0,0 +1,30 @@
+deployAs:
+ - name: voucherify-service
+ applicationType: service
+ endpoint: /
+ scripts:
+ postDeploy: npm install && npm run ct-connect-post-deploy
+ preUndeploy: npm install && npm run ct-connect-pre-undeploy
+ configuration:
+ standardConfiguration:
+ - key: COMMERCE_TOOLS_ID
+ description: CommerceTools Id
+ - key: COMMERCE_TOOLS_AUTH_URL
+ description: CommerceTools authentication URL
+ - key: COMMERCE_TOOLS_API_URL
+ description: CommerceTools API URL
+ - key: COMMERCE_TOOLS_PROJECT_KEY
+ description: CommerceTools Project Key
+ - key: VOUCHERIFY_APP_ID
+ description: Voucherify App Id
+ - key: VOUCHERIFY_API_URL
+ description: Voucherify API URL
+ - key: APPLY_CART_DISCOUNT_AS_CT_DIRECT_DISCOUNT
+ description: Apply cart discount as CommerceTools direct discount
+ securedConfiguration:
+ - key: COMMERCE_TOOLS_SECRET
+ description: CommerceTools secret
+ - key: VOUCHERIFY_SECRET_KEY
+ description: Voucherify secret key
+ - key: API_EXTENSION_BASIC_AUTH_PASSWORD
+ description: CommerceTools API extension basic auth password
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 8624f776..00000000
--- a/package-lock.json
+++ /dev/null
@@ -1,21582 +0,0 @@
-{
- "name": "commerce-tools-integration",
- "version": "5.1.1",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "commerce-tools-integration",
- "version": "5.1.1",
- "license": "MIT",
- "dependencies": {
- "@commercetools/platform-sdk": "^2.7.0",
- "@commercetools/sdk-auth": "^3.0.13",
- "@commercetools/sdk-client-v2": "^1.4.0",
- "@nestjs/cli": "^8.0.0",
- "@nestjs/common": "^8.0.0",
- "@nestjs/config": "^2.0.0",
- "@nestjs/core": "^8.0.0",
- "@nestjs/platform-express": "^8.0.0",
- "@voucherify/sdk": "^2.0.15",
- "async": "^3.2.3",
- "class-transformer": "^0.5.1",
- "class-validator": "^0.13.2",
- "cli-table": "^0.3.11",
- "concurrently": "^7.1.0",
- "flat": "^5.0.2",
- "form-data": "^4.0.0",
- "install": "^0.13.0",
- "joi": "^17.6.0",
- "loading-cli": "^1.1.0",
- "mkdirp": "^1.0.4",
- "nest-commander": "^2.5.0",
- "nest-winston": "^1.7.0",
- "ngrok": "^4.3.1",
- "node-fetch": "^3.2.10",
- "node-fetch2": "npm:node-fetch@^2.6.7",
- "nodejs-base64": "^2.0.0",
- "npm": "^8.15.0",
- "objects-to-csv": "^1.3.6",
- "reflect-metadata": "^0.1.13",
- "rimraf": "^3.0.2",
- "rxjs": "^7.2.0",
- "winston": "^3.8.1"
- },
- "devDependencies": {
- "@nestjs/schematics": "^8.0.0",
- "@nestjs/testing": "^8.0.0",
- "@types/express": "^4.17.13",
- "@types/flat": "^5.0.2",
- "@types/jest": "27.5.0",
- "@types/node": "^16.0.0",
- "@types/supertest": "^2.0.11",
- "@typescript-eslint/eslint-plugin": "^5.0.0",
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^8.0.1",
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-prettier": "^4.0.0",
- "husky": "^7.0.4",
- "jest": "28.0.3",
- "prettier": "^2.3.2",
- "source-map-support": "^0.5.20",
- "supertest": "^6.1.3",
- "ts-jest": "28.0.1",
- "ts-loader": "^9.2.3",
- "ts-node": "^10.0.0",
- "tsconfig-paths": "4.0.0",
- "typescript": "^4.3.5",
- "webpack": "^5.72.0"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
- "dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.1.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@angular-devkit/core": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.2.tgz",
- "integrity": "sha512-wav5plcnlxQAfZ+0EUt3dvVTJnJ1au2TlKVQ0jSQJdR1LA6N7QUI49N2Ua6ZnDMwruQaQkoynitMW2l1it3qYQ==",
- "dependencies": {
- "ajv": "8.9.0",
- "ajv-formats": "2.1.1",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.6.7",
- "source-map": "0.7.3"
- },
- "engines": {
- "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^3.5.2"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-devkit/core/node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/@angular-devkit/core/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@angular-devkit/schematics": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.2.tgz",
- "integrity": "sha512-XCLb23jmqHN0gJg9ZlICaFgfpfnCufIQp5SOsRKMKRkhjKycvDmKnfBTKDlkzb1IaUl6wQwP5k7Z69b9EX+CQw==",
- "dependencies": {
- "@angular-devkit/core": "13.3.2",
- "jsonc-parser": "3.0.0",
- "magic-string": "0.25.7",
- "ora": "5.4.1",
- "rxjs": "6.6.7"
- },
- "engines": {
- "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@angular-devkit/schematics-cli": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.3.2.tgz",
- "integrity": "sha512-cUHZFNq2kaCaReJAU28MSu2D+WDFTqt2v03U79TryOutYdF8BV4FyfvKqCSW6WXna219GXSXPepVqDYcjvn7/w==",
- "dependencies": {
- "@angular-devkit/core": "13.3.2",
- "@angular-devkit/schematics": "13.3.2",
- "ansi-colors": "4.1.1",
- "inquirer": "8.2.0",
- "minimist": "1.2.6",
- "symbol-observable": "4.0.0"
- },
- "bin": {
- "schematics": "bin/schematics.js"
- },
- "engines": {
- "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
- "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.1",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.21",
- "mute-stream": "0.0.8",
- "ora": "^5.4.1",
- "run-async": "^2.4.0",
- "rxjs": "^7.2.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@angular-devkit/schematics-cli/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/@angular-devkit/schematics/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
- "dependencies": {
- "@babel/highlight": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
- "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
- "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
- "dev": true,
- "dependencies": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-compilation-targets": "^7.17.10",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helpers": "^7.17.9",
- "@babel/parser": "^7.17.10",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.10",
- "@babel/types": "^7.17.10",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.1",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
- "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.17.10",
- "@jridgewell/gen-mapping": "^0.1.0",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
- "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.17.10",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.20.2",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
- "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.17.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
- "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
- "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.17.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
- "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
- "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.17.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
- "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
- "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
- "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.9",
- "@babel/types": "^7.17.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
- "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
- "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz",
- "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
- "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.17.9",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.10",
- "@babel/types": "^7.17.10",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
- "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
- },
- "node_modules/@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/@commercetools/platform-sdk": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-2.7.0.tgz",
- "integrity": "sha512-xm3IT0WP/5NL4vmB/9TSS19+z8ghkHmEmb9n5kXu5GC+wiR/Z6pcpt/BYUR2MuRTqjsq167MThH15jHgWypaQw==",
- "dependencies": {
- "@commercetools/sdk-client-v2": "^1.4.0",
- "@commercetools/sdk-middleware-auth": "^6.0.4",
- "@commercetools/sdk-middleware-http": "^6.0.4",
- "@commercetools/sdk-middleware-logger": "^2.1.1",
- "querystring": "^0.2.1"
- }
- },
- "node_modules/@commercetools/sdk-auth": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-auth/-/sdk-auth-3.0.13.tgz",
- "integrity": "sha512-Y+E+oYwQeY4PHu4HBBeNyieQsDoG/f7axHlQXDgdnVcLkyPDHsMHYMiOT8p5MAl+VFCA7F31z9y7x/QUmyyT5Q==",
- "dependencies": {
- "@commercetools/sdk-middleware-http": "^6.1.1",
- "lodash.defaultsdeep": "^4.6.0",
- "qss": "2.0.3"
- }
- },
- "node_modules/@commercetools/sdk-client-v2": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-client-v2/-/sdk-client-v2-1.4.0.tgz",
- "integrity": "sha512-JYGDQVJtrPsU9keGM6HSIUAwTJtLqEWWEsaLJaDct3ciRc9orNLRn65pPhfXzZkg0kw2c6SkmG8HEEDQbOq0xg==",
- "dependencies": {
- "buffer": "^6.0.3",
- "node-fetch": "^2.6.1",
- "querystring": "^0.2.1"
- }
- },
- "node_modules/@commercetools/sdk-client-v2/node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/@commercetools/sdk-middleware-auth": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-auth/-/sdk-middleware-auth-6.2.1.tgz",
- "integrity": "sha512-JNVRVf7zssECg0i/amAG0gnFmx4Kj7rB0J9MfRlvN/54qyA6tKJOJaA5j9hYy60qKSW/NCGbVMcVlBnPJLhREQ==",
- "dependencies": {
- "node-fetch": "^2.6.7"
- }
- },
- "node_modules/@commercetools/sdk-middleware-auth/node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/@commercetools/sdk-middleware-http": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-http/-/sdk-middleware-http-6.2.0.tgz",
- "integrity": "sha512-3E1nV+awhP0eeFuyChxgbaPF5CWWH0PvGZO9FtNl/mirlYjGbXAHO4Ql5tG4/G+CywlXI9XVA9wKSwxG0kgwgA=="
- },
- "node_modules/@commercetools/sdk-middleware-logger": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-logger/-/sdk-middleware-logger-2.1.1.tgz",
- "integrity": "sha512-k/Jm3lsWbszPBHtPAvu0rINTq398p4ddv0zbAH8R4p6Yc1GkBEy6tNgHPzX/eFskI/qerPy9IsW1xK8pqgtHHQ=="
- },
- "node_modules/@cspotcode/source-map-consumer": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
- "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
- "dev": true,
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/@cspotcode/source-map-support": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
- "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
- "dev": true,
- "dependencies": {
- "@cspotcode/source-map-consumer": "0.8.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@dabh/diagnostics": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
- "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
- "dependencies": {
- "colorspace": "1.1.x",
- "enabled": "2.0.x",
- "kuler": "^2.0.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz",
- "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.3.1",
- "globals": "^13.9.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.0.4",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/@golevelup/nestjs-discovery": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@golevelup/nestjs-discovery/-/nestjs-discovery-3.0.0.tgz",
- "integrity": "sha512-ZvkXtobTKxXB1LJanP/l6Z/Fing88IMBr3uabQpU2IWjfsstjh02qYDSU2cfD6CSmNldX5ewW5Pd+SdK2lU8Sw==",
- "dependencies": {
- "lodash": "^4.17.15"
- }
- },
- "node_modules/@hapi/hoek": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
- "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
- },
- "node_modules/@hapi/topo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.9.5",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
- "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
- "dev": true,
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
- },
- "node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/console": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.0.2.tgz",
- "integrity": "sha512-tiRpnMeeyQuuzgL5UNSeiqMwF8UOWPbAE5rzcu/1zyq4oPG2Ox6xm4YCOruwbp10F8odWc+XwVxTyGzMSLMqxA==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/console/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/core": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.0.3.tgz",
- "integrity": "sha512-cCQW06vEZ+5r50SB06pOnSWsOBs7F+lswPYnKKfBz1ncLlj1sMqmvjgam8q40KhlZ8Ut4eNAL2Hvfx4BKIO2FA==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^28.0.2",
- "@jest/reporters": "^28.0.3",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "jest-changed-files": "^28.0.2",
- "jest-config": "^28.0.3",
- "jest-haste-map": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-resolve-dependencies": "^28.0.3",
- "jest-runner": "^28.0.3",
- "jest-runtime": "^28.0.3",
- "jest-snapshot": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "jest-watcher": "^28.0.2",
- "micromatch": "^4.0.4",
- "pretty-format": "^28.0.2",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/core/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/core/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/core/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/@jest/environment": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.0.2.tgz",
- "integrity": "sha512-IvI7dEfqVEffDYlw9FQfVBt6kXt/OI38V7QUIur0ulOQgzpKYJDVvLzj4B1TVmHWTGW5tcnJdlZ3hqzV6/I9Qg==",
- "dev": true,
- "dependencies": {
- "@jest/fake-timers": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "jest-mock": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/expect": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.0.3.tgz",
- "integrity": "sha512-VEzZr85bqNomgayQkR7hWG5HnbZYWYWagQriZsixhLmOzU6PCpMP61aeVhkCoRrg7ri5f7JDpeTPzDAajIwFHw==",
- "dev": true,
- "dependencies": {
- "expect": "^28.0.2",
- "jest-snapshot": "^28.0.3"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/expect-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.0.2.tgz",
- "integrity": "sha512-YryfH2zN5c7M8eLtn9oTBRj1sfD+X4cHNXJnTejqCveOS33wADEZUxJ7de5++lRvByNpRpfAnc8zTK7yrUJqgA==",
- "dev": true,
- "dependencies": {
- "jest-get-type": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/fake-timers": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.0.2.tgz",
- "integrity": "sha512-R75yUv+WeybPa4ZVhX9C+8XN0TKjUoceUX+/QEaDVQGxZZOK50eD74cs7iMDTtpodh00d8iLlc9197vgF6oZjA==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "@sinonjs/fake-timers": "^9.1.1",
- "@types/node": "*",
- "jest-message-util": "^28.0.2",
- "jest-mock": "^28.0.2",
- "jest-util": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/globals": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.0.3.tgz",
- "integrity": "sha512-q/zXYI6CKtTSIt1WuTHBYizJhH7K8h+xG5PE3C0oawLlPIvUMDYmpj0JX0XsJwPRLCsz/fYXHZVG46AaEhSPmw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^28.0.2",
- "@jest/expect": "^28.0.3",
- "@jest/types": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/reporters": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.0.3.tgz",
- "integrity": "sha512-xrbIc7J/xwo+D7AY3enAR9ZWYCmJ8XIkstTukTGpKDph0gLl/TJje9jl3dssvE4KJzYqMKiSrnE5Nt68I4fTEg==",
- "dev": true,
- "dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^28.0.2",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@jridgewell/trace-mapping": "^0.3.7",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^5.1.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.1.3",
- "jest-util": "^28.0.2",
- "jest-worker": "^28.0.2",
- "slash": "^3.0.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^9.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/reporters/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/schemas": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz",
- "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==",
- "dev": true,
- "dependencies": {
- "@sinclair/typebox": "^0.23.3"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/source-map": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz",
- "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.7",
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.9"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/test-result": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.0.2.tgz",
- "integrity": "sha512-4EUqgjq9VzyUiVTvZfI9IRJD6t3NYBNP4f+Eq8Zr93+hkJ0RrGU4OBTw8tfNzidKX+bmuYzn8FxqpxOPIGGCMA==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/test-sequencer": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.0.2.tgz",
- "integrity": "sha512-zhnZ8ydkZQTPL7YucB86eOlD79zPy5EGSUKiR2Iv93RVEDU6OEP33kwDBg70ywOcxeJGDRhyo09q7TafNCBiIg==",
- "dev": true,
- "dependencies": {
- "@jest/test-result": "^28.0.2",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/transform": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.0.3.tgz",
- "integrity": "sha512-+Y0ikI7SwoW/YbK8t9oKwC70h4X2Gd0OVuz5tctRvSV/EDQU00AAkoqevXgPSSFimUmp/sp7Yl8s/1bExDqOIg==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.11.6",
- "@jest/types": "^28.0.2",
- "@jridgewell/trace-mapping": "^0.3.7",
- "babel-plugin-istanbul": "^6.1.1",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.4",
- "slash": "^3.0.0",
- "write-file-atomic": "^4.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/transform/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/types": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.0.2.tgz",
- "integrity": "sha512-hi3jUdm9iht7I2yrV5C4s3ucCJHUP8Eh3W6rQ1s4n/Qw9rQgsda4eqCt+r3BKRi7klVmZfQlMx1nGlzNMP2d8A==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/@jest/types/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
- "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz",
- "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.12",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz",
- "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA=="
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "node_modules/@nestjs/cli": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.5.tgz",
- "integrity": "sha512-b5DzZ08q/6iWvLz+n2DhEyZ3rsOurN1ec1jYQaWC5DCVQoZCwyOew48bVf01kevTK4eZyQxPwuErf7HnFAc0oQ==",
- "dependencies": {
- "@angular-devkit/core": "13.3.2",
- "@angular-devkit/schematics": "13.3.2",
- "@angular-devkit/schematics-cli": "13.3.2",
- "@nestjs/schematics": "^8.0.3",
- "chalk": "3.0.0",
- "chokidar": "3.5.3",
- "cli-table3": "0.6.1",
- "commander": "4.1.1",
- "fork-ts-checker-webpack-plugin": "7.2.3",
- "inquirer": "7.3.3",
- "node-emoji": "1.11.0",
- "ora": "5.4.1",
- "os-name": "4.0.1",
- "rimraf": "3.0.2",
- "shelljs": "0.8.5",
- "source-map-support": "0.5.21",
- "tree-kill": "1.2.2",
- "tsconfig-paths": "3.14.1",
- "tsconfig-paths-webpack-plugin": "3.5.2",
- "typescript": "4.6.2",
- "webpack": "5.71.0",
- "webpack-node-externals": "3.0.0"
- },
- "bin": {
- "nest": "bin/nest.js"
- },
- "engines": {
- "node": ">= 10.13.0",
- "npm": ">= 6.11.0"
- }
- },
- "node_modules/@nestjs/cli/node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/@nestjs/cli/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@nestjs/cli/node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@nestjs/cli/node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@nestjs/cli/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/@nestjs/cli/node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@nestjs/cli/node_modules/log-symbols/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@nestjs/cli/node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@nestjs/cli/node_modules/ora/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@nestjs/cli/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@nestjs/cli/node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@nestjs/cli/node_modules/tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/@nestjs/cli/node_modules/typescript": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz",
- "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/@nestjs/cli/node_modules/webpack": {
- "version": "5.71.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.71.0.tgz",
- "integrity": "sha512-g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A==",
- "dependencies": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/@nestjs/common": {
- "version": "8.4.4",
- "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.4.tgz",
- "integrity": "sha512-QHi7QcgH/5Jinz+SCfIZJkFHc6Cch1YsAEGFEhi6wSp6MILb0sJMQ1CX06e9tCOAjSlBwaJj4PH0eFCVau5v9Q==",
- "dependencies": {
- "axios": "0.26.1",
- "iterare": "1.2.1",
- "tslib": "2.3.1",
- "uuid": "8.3.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nest"
- },
- "peerDependencies": {
- "cache-manager": "*",
- "class-transformer": "*",
- "class-validator": "*",
- "reflect-metadata": "^0.1.12",
- "rxjs": "^7.1.0"
- },
- "peerDependenciesMeta": {
- "cache-manager": {
- "optional": true
- },
- "class-transformer": {
- "optional": true
- },
- "class-validator": {
- "optional": true
- }
- }
- },
- "node_modules/@nestjs/config": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.0.0.tgz",
- "integrity": "sha512-Hi1k/1S5ogsS5c0OtNm72thiLSngijOaLDFaGI5ZPxNGpF23lctPg6ox3pYIOhXVRX/u+eiUIp71gswH2k8YNw==",
- "dependencies": {
- "dotenv": "16.0.0",
- "dotenv-expand": "8.0.2",
- "lodash": "4.17.21",
- "uuid": "8.3.2"
- },
- "peerDependencies": {
- "@nestjs/common": "^7.0.0 || ^8.0.0",
- "reflect-metadata": "^0.1.13",
- "rxjs": "^6.0.0 || ^7.2.0"
- }
- },
- "node_modules/@nestjs/core": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.7.tgz",
- "integrity": "sha512-XB9uexHqzr2xkPo6QSiQWJJttyYYLmvQ5My64cFvWFi7Wk2NIus0/xUNInwX3kmFWB6pF1ab5Y2ZBvWdPwGBhw==",
- "hasInstallScript": true,
- "dependencies": {
- "@nuxtjs/opencollective": "0.3.2",
- "fast-safe-stringify": "2.1.1",
- "iterare": "1.2.1",
- "object-hash": "3.0.0",
- "path-to-regexp": "3.2.0",
- "tslib": "2.4.0",
- "uuid": "8.3.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nest"
- },
- "peerDependencies": {
- "@nestjs/common": "^8.0.0",
- "@nestjs/microservices": "^8.0.0",
- "@nestjs/platform-express": "^8.0.0",
- "@nestjs/websockets": "^8.0.0",
- "reflect-metadata": "^0.1.12",
- "rxjs": "^7.1.0"
- },
- "peerDependenciesMeta": {
- "@nestjs/microservices": {
- "optional": true
- },
- "@nestjs/platform-express": {
- "optional": true
- },
- "@nestjs/websockets": {
- "optional": true
- }
- }
- },
- "node_modules/@nestjs/core/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
- "node_modules/@nestjs/platform-express": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.7.tgz",
- "integrity": "sha512-lPE5Ltg2NbQGRQIwXWY+4cNrXhJdycbxFDQ8mNxSIuv+LbrJBIdEB/NONk+LLn9N/8d2+I2LsIETGQrPvsejBg==",
- "dependencies": {
- "body-parser": "1.20.0",
- "cors": "2.8.5",
- "express": "4.18.1",
- "multer": "1.4.4-lts.1",
- "tslib": "2.4.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nest"
- },
- "peerDependencies": {
- "@nestjs/common": "^8.0.0",
- "@nestjs/core": "^8.0.0"
- }
- },
- "node_modules/@nestjs/platform-express/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
- "node_modules/@nestjs/schematics": {
- "version": "8.0.11",
- "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.11.tgz",
- "integrity": "sha512-W/WzaxgH5aE01AiIErE9QrQJ73VR/M/8p8pq0LZmjmNcjZqU5kQyOWUxZg13WYfSpJdOa62t6TZRtFDmgZPoIg==",
- "dependencies": {
- "@angular-devkit/core": "13.3.5",
- "@angular-devkit/schematics": "13.3.5",
- "fs-extra": "10.1.0",
- "jsonc-parser": "3.0.0",
- "pluralize": "8.0.0"
- },
- "peerDependencies": {
- "typescript": "^3.4.5 || ^4.3.5"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": {
- "version": "13.3.5",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.5.tgz",
- "integrity": "sha512-w7vzK4VoYP9rLgxJ2SwEfrkpKybdD+QgQZlsDBzT0C6Ebp7b4gkNcNVFo8EiZvfDl6Yplw2IAP7g7fs3STn0hQ==",
- "dependencies": {
- "ajv": "8.9.0",
- "ajv-formats": "2.1.1",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.6.7",
- "source-map": "0.7.3"
- },
- "engines": {
- "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^3.5.2"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- },
- "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": {
- "version": "13.3.5",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.5.tgz",
- "integrity": "sha512-0N/kL/Vfx0yVAEwa3HYxNx9wYb+G9r1JrLjJQQzDp+z9LtcojNf7j3oey6NXrDUs1WjVZOa/AIdRl3/DuaoG5w==",
- "dependencies": {
- "@angular-devkit/core": "13.3.5",
- "jsonc-parser": "3.0.0",
- "magic-string": "0.25.7",
- "ora": "5.4.1",
- "rxjs": "6.6.7"
- },
- "engines": {
- "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/@nestjs/schematics/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@nestjs/testing": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.7.tgz",
- "integrity": "sha512-aedpeJFicTBeiTCvJWUG45WMMS53f5eu8t2fXsfjsU1t+WdDJqYcZyrlCzA4dL1B7MfbqaTURdvuVVHTmJO8ag==",
- "dev": true,
- "dependencies": {
- "tslib": "2.4.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nest"
- },
- "peerDependencies": {
- "@nestjs/common": "^8.0.0",
- "@nestjs/core": "^8.0.0",
- "@nestjs/microservices": "^8.0.0",
- "@nestjs/platform-express": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "@nestjs/microservices": {
- "optional": true
- },
- "@nestjs/platform-express": {
- "optional": true
- }
- }
- },
- "node_modules/@nestjs/testing/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nuxtjs/opencollective": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
- "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
- "dependencies": {
- "chalk": "^4.1.0",
- "consola": "^2.15.0",
- "node-fetch": "^2.6.1"
- },
- "bin": {
- "opencollective": "bin/opencollective.js"
- },
- "engines": {
- "node": ">=8.0.0",
- "npm": ">=5.0.0"
- }
- },
- "node_modules/@nuxtjs/opencollective/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@nuxtjs/opencollective/node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/@sideway/address": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
- "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "node_modules/@sideway/formula": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz",
- "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg=="
- },
- "node_modules/@sideway/pinpoint": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
- "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
- },
- "node_modules/@sinclair/typebox": {
- "version": "0.23.5",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz",
- "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==",
- "dev": true
- },
- "node_modules/@sindresorhus/is": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
- }
- },
- "node_modules/@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
- "dev": true,
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "node_modules/@sinonjs/fake-timers": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz",
- "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "node_modules/@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
- "dependencies": {
- "defer-to-connect": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@tsconfig/node10": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
- "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
- "dev": true
- },
- "node_modules/@tsconfig/node12": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
- "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
- "dev": true
- },
- "node_modules/@tsconfig/node14": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
- "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
- "dev": true
- },
- "node_modules/@tsconfig/node16": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
- "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
- "dev": true
- },
- "node_modules/@types/babel__core": {
- "version": "7.1.19",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
- "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "node_modules/@types/babel__generator": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
- "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__template": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
- "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__traverse": {
- "version": "7.17.1",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz",
- "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.3.0"
- }
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "dev": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
- "dependencies": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
- "dev": true
- },
- "node_modules/@types/eslint": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
- "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "node_modules/@types/express": {
- "version": "4.17.13",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
- "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
- "dev": true,
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.17.28",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
- "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "node_modules/@types/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@types/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-3zsplnP2djeps5P9OyarTxwRpMLoe5Ash8aL9iprw0JxB+FAHjY+ifn4yZUuW4/9hqtnmor6uvjSRzJhiVbrEQ==",
- "dev": true
- },
- "node_modules/@types/graceful-fs": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
- "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
- },
- "node_modules/@types/inquirer": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.4.tgz",
- "integrity": "sha512-Pxxx3i3AyK7vKAj3LRM/vF7ETcHKiLJ/u5CnNgbz/eYj/vB3xGAYtRxI5IKtq0hpe5iFHD22BKV3n6WHUu0k4Q==",
- "peer": true,
- "dependencies": {
- "@types/through": "*"
- }
- },
- "node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
- "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
- "dev": true
- },
- "node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "node_modules/@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "node_modules/@types/jest": {
- "version": "27.5.0",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz",
- "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==",
- "dev": true,
- "dependencies": {
- "jest-matcher-utils": "^27.0.0",
- "pretty-format": "^27.0.0"
- }
- },
- "node_modules/@types/json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ=="
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
- },
- "node_modules/@types/keyv": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
- "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "16.11.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.33.tgz",
- "integrity": "sha512-0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA=="
- },
- "node_modules/@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
- },
- "node_modules/@types/prettier": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz",
- "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==",
- "dev": true
- },
- "node_modules/@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
- "dev": true
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
- "dev": true
- },
- "node_modules/@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.13.10",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz",
- "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==",
- "dev": true,
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/stack-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
- "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
- "dev": true
- },
- "node_modules/@types/superagent": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz",
- "integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==",
- "dev": true,
- "dependencies": {
- "@types/cookiejar": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/supertest": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.12.tgz",
- "integrity": "sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==",
- "dev": true,
- "dependencies": {
- "@types/superagent": "*"
- }
- },
- "node_modules/@types/through": {
- "version": "0.0.30",
- "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz",
- "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==",
- "peer": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/yargs": {
- "version": "17.0.10",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz",
- "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==",
- "dev": true,
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "node_modules/@types/yargs-parser": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
- "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
- "dev": true
- },
- "node_modules/@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
- "optional": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz",
- "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.22.0",
- "@typescript-eslint/type-utils": "5.22.0",
- "@typescript-eslint/utils": "5.22.0",
- "debug": "^4.3.2",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.1.8",
- "regexpp": "^3.2.0",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz",
- "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.22.0",
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/typescript-estree": "5.22.0",
- "debug": "^4.3.2"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz",
- "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/visitor-keys": "5.22.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz",
- "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/utils": "5.22.0",
- "debug": "^4.3.2",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz",
- "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz",
- "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/visitor-keys": "5.22.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
- "is-glob": "^4.0.3",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz",
- "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.22.0",
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/typescript-estree": "5.22.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz",
- "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.22.0",
- "eslint-visitor-keys": "^3.0.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@voucherify/sdk": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/@voucherify/sdk/-/sdk-2.0.15.tgz",
- "integrity": "sha512-a7e0TeQdNZBlXxXqOu9mHTHkuYuwWtcuZsorzqECiasQJalgOH5jdG/6AIXQ62Z3tUgKEwcAoyYg/wfLA56BvA==",
- "dependencies": {
- "axios": "0.21.2",
- "qs": "6.9.6"
- }
- },
- "node_modules/@voucherify/sdk/node_modules/axios": {
- "version": "0.21.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz",
- "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==",
- "dependencies": {
- "follow-redirects": "^1.14.0"
- }
- },
- "node_modules/@voucherify/sdk/node_modules/qs": {
- "version": "6.9.6",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
- "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "peerDependencies": {
- "acorn": "^8"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/ajv": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz",
- "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-escapes/node_modules/type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/append-field": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
- "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw=="
- },
- "node_modules/arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
- },
- "node_modules/async": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
- "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
- },
- "node_modules/async-csv": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/async-csv/-/async-csv-2.1.3.tgz",
- "integrity": "sha512-mpsCN+D7mzZeqrlDw7UTPhvDQDlx1i819E9fbKIt8drkgED5FSOlBv3Rk/+sXdevnO2wwlRkVOQ4kdT0AyqPqQ==",
- "dependencies": {
- "csv": "^5.1.3"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "node_modules/axios": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
- "dependencies": {
- "follow-redirects": "^1.14.8"
- }
- },
- "node_modules/babel-jest": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.0.3.tgz",
- "integrity": "sha512-S0ADyYdcrt5fp9YldRYWCUHdk1BKt9AkvBkLWBoNAEV9NoWZPIj5+MYhPcGgTS65mfv3a+Ymf2UqgWoAVd41cA==",
- "dev": true,
- "dependencies": {
- "@jest/transform": "^28.0.3",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^28.0.2",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.8.0"
- }
- },
- "node_modules/babel-jest/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/babel-plugin-istanbul": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^5.0.4",
- "test-exclude": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/babel-plugin-jest-hoist": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz",
- "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.1.14",
- "@types/babel__traverse": "^7.0.6"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
- "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/babel-preset-jest": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz",
- "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==",
- "dev": true,
- "dependencies": {
- "babel-plugin-jest-hoist": "^28.0.2",
- "babel-preset-current-node-syntax": "^1.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/body-parser": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
- "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.10.3",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.3",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/bs-logger": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
- "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
- "dev": true,
- "dependencies": {
- "fast-json-stable-stringify": "2.x"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/bser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
- "dev": true,
- "dependencies": {
- "node-int64": "^0.4.0"
- }
- },
- "node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
- },
- "node_modules/busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dependencies": {
- "streamsearch": "^1.1.0"
- },
- "engines": {
- "node": ">=10.16.0"
- }
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
- "engines": {
- "node": ">=10.6.0"
- }
- },
- "node_modules/cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
- "dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cacheable-request/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001336",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz",
- "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- }
- ]
- },
- "node_modules/chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/char-regex": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/ci-info": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
- "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
- "dev": true
- },
- "node_modules/cjs-module-lexer": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
- "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
- "dev": true
- },
- "node_modules/class-transformer": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
- "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw=="
- },
- "node_modules/class-validator": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz",
- "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==",
- "dependencies": {
- "libphonenumber-js": "^1.9.43",
- "validator": "^13.7.0"
- }
- },
- "node_modules/cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dependencies": {
- "restore-cursor": "^3.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cli-spinners": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
- "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-table": {
- "version": "0.3.11",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz",
- "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==",
- "dependencies": {
- "colors": "1.0.3"
- },
- "engines": {
- "node": ">= 0.2.0"
- }
- },
- "node_modules/cli-table/node_modules/colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/cli-table3": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz",
- "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==",
- "dependencies": {
- "string-width": "^4.2.0"
- },
- "engines": {
- "node": "10.* || >= 12.*"
- },
- "optionalDependencies": {
- "colors": "1.4.0"
- }
- },
- "node_modules/cli-width": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dependencies": {
- "mimic-response": "^1.0.0"
- }
- },
- "node_modules/co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
- "dev": true,
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "node_modules/collect-v8-coverage": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
- "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
- "dev": true
- },
- "node_modules/color": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
- "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
- "dependencies": {
- "color-convert": "^1.9.3",
- "color-string": "^1.6.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "node_modules/color-string": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
- "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
- "dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
- "node_modules/color/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/color/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "optional": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/colors-cli": {
- "version": "1.0.28",
- "resolved": "https://registry.npmjs.org/colors-cli/-/colors-cli-1.0.28.tgz",
- "integrity": "sha512-2XE8s1mB3Jr5rvirk/fFzhWY2m9S2dpZ0mWz3Yl/mzMM8hDVBawL0Rsal5hR1gJP4lgqhQfFfEmaGZpUZgEKrA==",
- "bin": {
- "colors": "bin/colors"
- }
- },
- "node_modules/colorspace": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
- "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
- "dependencies": {
- "color": "^3.1.3",
- "text-hex": "1.0.x"
- }
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "node_modules/compress-brotli": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
- "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
- "dependencies": {
- "@types/json-buffer": "~3.0.0",
- "json-buffer": "~3.0.1"
- },
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "engines": [
- "node >= 0.8"
- ],
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/concurrently": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.1.0.tgz",
- "integrity": "sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw==",
- "dependencies": {
- "chalk": "^4.1.0",
- "date-fns": "^2.16.1",
- "lodash": "^4.17.21",
- "rxjs": "^6.6.3",
- "spawn-command": "^0.0.2-1",
- "supports-color": "^8.1.0",
- "tree-kill": "^1.2.2",
- "yargs": "^16.2.0"
- },
- "bin": {
- "concurrently": "dist/bin/concurrently.js"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.0 || >=16.0.0"
- }
- },
- "node_modules/concurrently/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/concurrently/node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/concurrently/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/concurrently/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/concurrently/node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "node_modules/convert-source-map/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
- },
- "node_modules/cookiejar": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
- "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==",
- "dev": true
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
- },
- "node_modules/cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/cosmiconfig": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
- "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"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/csv": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz",
- "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==",
- "dependencies": {
- "csv-generate": "^3.4.3",
- "csv-parse": "^4.16.3",
- "csv-stringify": "^5.6.5",
- "stream-transform": "^2.1.3"
- },
- "engines": {
- "node": ">= 0.1.90"
- }
- },
- "node_modules/csv-generate": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz",
- "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw=="
- },
- "node_modules/csv-parse": {
- "version": "4.16.3",
- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz",
- "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg=="
- },
- "node_modules/csv-stringify": {
- "version": "5.6.5",
- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
- "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A=="
- },
- "node_modules/data-uri-to-buffer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
- "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/date-fns": {
- "version": "2.28.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
- "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==",
- "engines": {
- "node": ">=0.11"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
- }
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/decompress-response/node_modules/mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
- "dev": true
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "node_modules/deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
- "dependencies": {
- "clone": "^1.0.2"
- }
- },
- "node_modules/defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dezalgo": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
- "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==",
- "dev": true,
- "dependencies": {
- "asap": "^2.0.0",
- "wrappy": "1"
- }
- },
- "node_modules/diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/diff-sequences": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
- "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/dotenv": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz",
- "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/dotenv-expand": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.2.tgz",
- "integrity": "sha512-vKKAk+VOzAWOV/dPIeSYqhgC/TQY+6L6Ibkzfsr8xd1stdBsTuGu9asCOXgbYbBeS+f2Y6lqqEuw7riOA+xEUQ==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.134",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz",
- "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg=="
- },
- "node_modules/emittery": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
- "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "node_modules/enabled": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
- "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
- "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz",
- "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==",
- "dev": true,
- "dependencies": {
- "@eslint/eslintrc": "^1.2.2",
- "@humanwhocodes/config-array": "^0.9.2",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.3.1",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^6.0.1",
- "globals": "^13.6.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-config-prettier": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
- "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
- "dev": true,
- "bin": {
- "eslint-config-prettier": "bin/cli.js"
- },
- "peerDependencies": {
- "eslint": ">=7.0.0"
- }
- },
- "node_modules/eslint-plugin-prettier": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
- "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
- "dev": true,
- "dependencies": {
- "prettier-linter-helpers": "^1.0.0"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "peerDependencies": {
- "eslint": ">=7.28.0",
- "prettier": ">=2.0.0"
- },
- "peerDependenciesMeta": {
- "eslint-config-prettier": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
- "dependencies": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/eslint/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/eslint/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/eslint/node_modules/eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/eslint/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/eslint/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/eslint/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/espree": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
- "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.7.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dev": true,
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esquery/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esrecurse/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/expect": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-28.0.2.tgz",
- "integrity": "sha512-X0qIuI/zKv98k34tM+uGeOgAC73lhs4vROF9MkPk94C1zujtwv4Cla8SxhWn0G1OwvG9gLLL7RjFBkwGVaZ83w==",
- "dev": true,
- "dependencies": {
- "@jest/expect-utils": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "jest-matcher-utils": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-util": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/expect/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/expect/node_modules/diff-sequences": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
- "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
- "dev": true,
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/expect/node_modules/jest-diff": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
- "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/expect/node_modules/jest-matcher-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
- "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/expect/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/expect/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/express": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
- "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.0",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.10.3",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/express/node_modules/path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
- },
- "node_modules/external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dependencies": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
- "node_modules/extract-zip/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "node_modules/fast-diff": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
- "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "3.2.11",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
- "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "node_modules/fast-safe-stringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
- "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
- },
- "node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
- "dev": true,
- "dependencies": {
- "bser": "2.1.1"
- }
- },
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
- "node_modules/fecha": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
- "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
- },
- "node_modules/fetch-blob": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
- "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "dependencies": {
- "node-domexception": "^1.0.0",
- "web-streams-polyfill": "^3.0.3"
- },
- "engines": {
- "node": "^12.20 || >= 14.13"
- }
- },
- "node_modules/figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dependencies": {
- "escape-string-regexp": "^1.0.5"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/figures/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "bin": {
- "flat": "cli.js"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
- "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
- "dev": true
- },
- "node_modules/fn.name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
- "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
- },
- "node_modules/follow-redirects": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
- "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.3.tgz",
- "integrity": "sha512-9v308zIFTIFkWJBN/4N1A5oqm/ed9hWG6GH+KYTCBjYCEJOmHoVtDIWpfrJ0eD6cPB7V53HEVoJ6bL2In8QRaw==",
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "chalk": "^4.1.2",
- "chokidar": "^3.5.3",
- "cosmiconfig": "^7.0.1",
- "deepmerge": "^4.2.2",
- "fs-extra": "^10.0.0",
- "memfs": "^3.4.1",
- "minimatch": "^3.0.4",
- "schema-utils": "^3.1.1",
- "semver": "^7.3.5",
- "tapable": "^2.2.1"
- },
- "engines": {
- "node": ">=12.13.0",
- "yarn": ">=1.0.0"
- },
- "peerDependencies": {
- "typescript": ">3.6.0",
- "vue-template-compiler": "*",
- "webpack": "^5.11.0"
- },
- "peerDependenciesMeta": {
- "vue-template-compiler": {
- "optional": true
- }
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/formdata-polyfill": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
- "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
- "dependencies": {
- "fetch-blob": "^3.1.2"
- },
- "engines": {
- "node": ">=12.20.0"
- }
- },
- "node_modules/formidable": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz",
- "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==",
- "dev": true,
- "dependencies": {
- "dezalgo": "1.0.3",
- "hexoid": "1.0.0",
- "once": "1.4.0",
- "qs": "6.9.3"
- },
- "funding": {
- "url": "https://ko-fi.com/tunnckoCore/commissions"
- }
- },
- "node_modules/formidable/node_modules/qs": {
- "version": "6.9.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
- "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/fs-monkey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
- "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q=="
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true,
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
- },
- "node_modules/globals": {
- "version": "13.13.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
- "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
- "dependencies": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- },
- "engines": {
- "node": ">=10.19.0"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/got?sponsor=1"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hexoid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
- "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/hpagent": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz",
- "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==",
- "optional": true
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "node_modules/http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "dependencies": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- },
- "engines": {
- "node": ">=10.19.0"
- }
- },
- "node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/husky": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz",
- "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
- "dev": true,
- "bin": {
- "husky": "lib/bin.js"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/typicode"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "dev": true,
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.19",
- "mute-stream": "0.0.8",
- "run-async": "^2.4.0",
- "rxjs": "^6.6.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/inquirer/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/inquirer/node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/inquirer/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/install": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz",
- "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-generator-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz",
- "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-source-maps": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
- "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
- "dev": true,
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/iterare": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz",
- "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jest": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest/-/jest-28.0.3.tgz",
- "integrity": "sha512-uS+T5J3w5xyzd1KSJCGKhCo8WTJXbNl86f5SW11wgssbandJOVLRKKUxmhdFfmKxhPeksl1hHZ0HaA8VBzp7xA==",
- "dev": true,
- "dependencies": {
- "@jest/core": "^28.0.3",
- "import-local": "^3.0.2",
- "jest-cli": "^28.0.3"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-changed-files": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz",
- "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==",
- "dev": true,
- "dependencies": {
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-circus": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.0.3.tgz",
- "integrity": "sha512-HJ3rUCm3A3faSy7KVH5MFCncqJLtrjEFkTPn9UIcs4Kq77+TXqHsOaI+/k73aHe6DJQigLUXq9rCYj3MYFlbIw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^28.0.2",
- "@jest/expect": "^28.0.3",
- "@jest/test-result": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^28.0.2",
- "jest-matcher-utils": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-runtime": "^28.0.3",
- "jest-snapshot": "^28.0.3",
- "jest-util": "^28.0.2",
- "pretty-format": "^28.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-circus/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-circus/node_modules/diff-sequences": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
- "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
- "dev": true,
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-circus/node_modules/jest-diff": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
- "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-circus/node_modules/jest-matcher-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
- "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-circus/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-circus/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-cli": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.0.3.tgz",
- "integrity": "sha512-NCPTEONCnhYGo1qzPP4OOcGF04YasM5GZSwQLI1HtEluxa3ct4U65IbZs6DSRt8XN1Rq0jhXwv02m5lHB28Uyg==",
- "dev": true,
- "dependencies": {
- "@jest/core": "^28.0.3",
- "@jest/test-result": "^28.0.2",
- "@jest/types": "^28.0.2",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "import-local": "^3.0.2",
- "jest-config": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "prompts": "^2.0.1",
- "yargs": "^17.3.1"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-cli/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-config": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.0.3.tgz",
- "integrity": "sha512-3gWOEHwGpNhyYOk9vnUMv94x15QcdjACm7A3lERaluwnyD6d1WZWe9RFCShgIXVOHzRfG1hWxsI2U0gKKSGgDQ==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.11.6",
- "@jest/test-sequencer": "^28.0.2",
- "@jest/types": "^28.0.2",
- "babel-jest": "^28.0.3",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "jest-circus": "^28.0.3",
- "jest-environment-node": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-runner": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "micromatch": "^4.0.4",
- "parse-json": "^5.2.0",
- "pretty-format": "^28.0.2",
- "slash": "^3.0.0",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "@types/node": "*",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/jest-config/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-config/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-config/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-diff": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
- "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-diff/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-diff/node_modules/jest-get-type": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
- "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-docblock": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz",
- "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==",
- "dev": true,
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-each": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.0.2.tgz",
- "integrity": "sha512-/W5Wc0b+ipR36kDaLngdVEJ/5UYPOITK7rW0djTlCCQdMuWpCFJweMW4TzAoJ6GiRrljPL8FwiyOSoSHKrda2w==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "chalk": "^4.0.0",
- "jest-get-type": "^28.0.2",
- "jest-util": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-each/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-each/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-each/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-environment-node": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.0.2.tgz",
- "integrity": "sha512-o9u5UHZ+NCuIoa44KEF0Behhsz/p1wMm0WumsZfWR1k4IVoWSt3aN0BavSC5dd26VxSGQvkrCnJxxOzhhUEG3Q==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^28.0.2",
- "@jest/fake-timers": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "jest-mock": "^28.0.2",
- "jest-util": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-get-type": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
- "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
- "dev": true,
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-haste-map": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.0.2.tgz",
- "integrity": "sha512-EokdL7l5uk4TqWGawwrIt8w3tZNcbeiRxmKGEURf42pl+/rWJy3sCJlon5HBhJXZTW978jk6600BLQOI7i25Ig==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "@types/graceful-fs": "^4.1.3",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.9",
- "jest-regex-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "jest-worker": "^28.0.2",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "optionalDependencies": {
- "fsevents": "^2.3.2"
- }
- },
- "node_modules/jest-leak-detector": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.0.2.tgz",
- "integrity": "sha512-UGaSPYtxKXl/YKacq6juRAKmMp1z2os8NaU8PSC+xvNikmu3wF6QFrXrihMM4hXeMr9HuNotBrQZHmzDY8KIBQ==",
- "dev": true,
- "dependencies": {
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-leak-detector/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-leak-detector/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-leak-detector/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-matcher-utils": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
- "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-matcher-utils/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-matcher-utils/node_modules/jest-get-type": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
- "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-message-util": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.0.2.tgz",
- "integrity": "sha512-knK7XyojvwYh1XiF2wmVdskgM/uN11KsjcEWWHfnMZNEdwXCrqB4sCBO94F4cfiAwCS8WFV6CDixDwPlMh/wdA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^28.0.2",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^28.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-message-util/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-message-util/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-message-util/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-mock": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.0.2.tgz",
- "integrity": "sha512-vfnJ4zXRB0i24jOTGtQJyl26JKsgBKtqRlCnsrORZbG06FToSSn33h2x/bmE8XxqxkLWdZBRo+/65l8Vi3nD+g==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "@types/node": "*"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "jest-resolve": "*"
- },
- "peerDependenciesMeta": {
- "jest-resolve": {
- "optional": true
- }
- }
- },
- "node_modules/jest-regex-util": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz",
- "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==",
- "dev": true,
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-resolve": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.0.3.tgz",
- "integrity": "sha512-lfgjd9JhEjpjIN3HLUfdysdK+A7ePQoYmd7WL9DUEWqdnngb1rF56eee6iDXJxl/3eSolpP43VD7VrhjL3NsoQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "resolve": "^1.20.0",
- "resolve.exports": "^1.1.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-resolve-dependencies": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.0.3.tgz",
- "integrity": "sha512-lCgHMm0/5p0qHemrOzm7kI6JDei28xJwIf7XOEcv1HeAVHnsON8B8jO/woqlU+/GcOXb58ymieYqhk3zjGWnvQ==",
- "dev": true,
- "dependencies": {
- "jest-regex-util": "^28.0.2",
- "jest-snapshot": "^28.0.3"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-resolve/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-runner": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.0.3.tgz",
- "integrity": "sha512-4OsHMjBLtYUWCENucAQ4Za0jGfEbOFi/Fusv6dzUuaweqx8apb4+5p2LR2yvgF4StFulmxyC238tGLftfu+zBA==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^28.0.2",
- "@jest/environment": "^28.0.2",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.10.2",
- "graceful-fs": "^4.2.9",
- "jest-docblock": "^28.0.2",
- "jest-environment-node": "^28.0.2",
- "jest-haste-map": "^28.0.2",
- "jest-leak-detector": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-runtime": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-watcher": "^28.0.2",
- "jest-worker": "^28.0.2",
- "source-map-support": "0.5.13",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-runner/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-runner/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/jest-runner/node_modules/source-map-support": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/jest-runtime": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.0.3.tgz",
- "integrity": "sha512-7FtPUmvbZEHLOdjsF6dyHg5Pe4E0DU+f3Vvv8BPzVR7mQA6nFR4clQYLAPyJGnsUvN8WRWn+b5a5SVwnj1WaGg==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^28.0.2",
- "@jest/fake-timers": "^28.0.2",
- "@jest/globals": "^28.0.3",
- "@jest/source-map": "^28.0.2",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "execa": "^5.0.0",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-mock": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-snapshot": "^28.0.3",
- "jest-util": "^28.0.2",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-runtime/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-snapshot": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.0.3.tgz",
- "integrity": "sha512-nVzAAIlAbrMuvVUrS1YxmAeo1TfSsDDU+K5wv/Ow56MBp+L+Y71ksAbwRp3kGCgZAz4oOXcAMPAwtT9Yh1hlQQ==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.11.6",
- "@babel/generator": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.3.3",
- "@jest/expect-utils": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@types/babel__traverse": "^7.0.6",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^28.0.2",
- "graceful-fs": "^4.2.9",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "jest-haste-map": "^28.0.2",
- "jest-matcher-utils": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "natural-compare": "^1.4.0",
- "pretty-format": "^28.0.2",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-snapshot/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-snapshot/node_modules/diff-sequences": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
- "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
- "dev": true,
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-snapshot/node_modules/jest-diff": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
- "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-snapshot/node_modules/jest-matcher-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
- "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-snapshot/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-snapshot/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-util": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.0.2.tgz",
- "integrity": "sha512-EVdpIRCC8lzqhp9A0u0aAKlsFIzufK6xKxNK7awsnebTdOP4hpyQW5o6Ox2qPl8gbeUKYF+POLyItaND53kpGA==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-util/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-validate": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.0.2.tgz",
- "integrity": "sha512-nr0UOvCTtxP0YPdsk01Gk7e7c0xIiEe2nncAe3pj0wBfUvAykTVrMrdeASlAJnlEQCBuwN/GF4hKoCzbkGNCNw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^28.0.2",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^28.0.2",
- "leven": "^3.1.0",
- "pretty-format": "^28.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-validate/node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/jest-validate/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-validate/node_modules/pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "dependencies": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-validate/node_modules/react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- },
- "node_modules/jest-watcher": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.0.2.tgz",
- "integrity": "sha512-uIVJLpQ/5VTGQWBiBatHsi7jrCqHjHl0e0dFHMWzwuIfUbdW/muk0DtSr0fteY2T7QTFylv+7a5Rm8sBKrE12Q==",
- "dev": true,
- "dependencies": {
- "@jest/test-result": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.10.2",
- "jest-util": "^28.0.2",
- "string-length": "^4.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-watcher/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-worker": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.0.2.tgz",
- "integrity": "sha512-pijNxfjxT0tGAx+8+OzZ+eayVPCwy/rsZFhebmC0F4YnXu1EHPEPxg7utL3m5uX3EaFH1/jwDxGa1EbjJCST2g==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/joi": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz",
- "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==",
- "dependencies": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
- "@sideway/formula": "^3.0.0",
- "@sideway/pinpoint": "^2.0.0"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
- },
- "node_modules/json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
- },
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "node_modules/json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
- "dev": true,
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonc-parser": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
- "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA=="
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/keyv": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.6.tgz",
- "integrity": "sha512-mmMlAFwZnCBk7QDA23I49T5VP2NdSsbaT4yrm14cwnlQ67t+wHWPtYj+/gbzeAbcprGbUSzWP3jBE1WKfSERnQ==",
- "dependencies": {
- "compress-brotli": "^1.3.8",
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/kuler": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
- "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
- },
- "node_modules/leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/libphonenumber-js": {
- "version": "1.10.6",
- "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz",
- "integrity": "sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA=="
- },
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
- },
- "node_modules/loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "engines": {
- "node": ">=6.11.5"
- }
- },
- "node_modules/loading-cli": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loading-cli/-/loading-cli-1.1.0.tgz",
- "integrity": "sha512-r6Kj0Y3d3isT4vvJ0tFlND1CcLkpatWmlgQs/PEfnSofJSHZwAbsqexnpQEDj4nlxSXEqFWh/Wu2iQXAAZRPNQ==",
- "dependencies": {
- "colors-cli": "^1.0.26"
- }
- },
- "node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "node_modules/lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
- },
- "node_modules/lodash.defaultsdeep": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
- "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
- },
- "node_modules/lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
- "dev": true
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/logform": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz",
- "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==",
- "dependencies": {
- "@colors/colors": "1.5.0",
- "fecha": "^4.2.0",
- "ms": "^2.1.1",
- "safe-stable-stringify": "^2.3.1",
- "triple-beam": "^1.3.0"
- }
- },
- "node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/macos-release": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz",
- "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dependencies": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "node_modules/makeerror": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
- "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
- "dev": true,
- "dependencies": {
- "tmpl": "1.0.5"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/memfs": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz",
- "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==",
- "dependencies": {
- "fs-monkey": "1.0.3"
- },
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
- },
- "node_modules/mixme": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz",
- "integrity": "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==",
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/multer": {
- "version": "1.4.4-lts.1",
- "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz",
- "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==",
- "dependencies": {
- "append-field": "^1.0.0",
- "busboy": "^1.0.0",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/multer/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
- },
- "node_modules/nest-commander": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/nest-commander/-/nest-commander-2.5.0.tgz",
- "integrity": "sha512-wJG3UFt8fUAMvAD9NZOW0BIF8XirYwkw6lwwW03xrT0cUtB5fxD4roCAKZbW8pGOdp5EMISq08WgDmmVpQqfkA==",
- "dependencies": {
- "@golevelup/nestjs-discovery": "3.0.0",
- "commander": "8.3.0",
- "cosmiconfig": "7.0.1",
- "inquirer": "8.2.2"
- },
- "peerDependencies": {
- "@nestjs/common": "^8.0.0",
- "@nestjs/core": "^8.0.0",
- "@types/inquirer": "^8.1.3"
- }
- },
- "node_modules/nest-commander/node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/nest-commander/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/nest-commander/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/nest-commander/node_modules/commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/nest-commander/node_modules/inquirer": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.2.tgz",
- "integrity": "sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==",
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.1",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.21",
- "mute-stream": "0.0.8",
- "ora": "^5.4.1",
- "run-async": "^2.4.0",
- "rxjs": "^7.5.5",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/nest-commander/node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nest-commander/node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/nest-commander/node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/nest-commander/node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/nest-commander/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/nest-winston": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/nest-winston/-/nest-winston-1.7.0.tgz",
- "integrity": "sha512-FJ94dJ++8BEjQfK5TuqiY5g7pP48RLRss41Bm6bCCfzYgywymEI6m+HPHW9K/q2i7wO5TU6Sva51/Rvmmhxddw==",
- "dependencies": {
- "fast-safe-stringify": "^2.1.1"
- },
- "peerDependencies": {
- "@nestjs/common": "^5.0.0 || ^6.6.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
- "winston": "^3.0.0"
- }
- },
- "node_modules/ngrok": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-4.3.1.tgz",
- "integrity": "sha512-s0joO2liKYiGTVARyzL8hfLIXAZT03GDK3oJqsZK6d61Es+HCx77j8E9ysUbtkMEyvBgYmIMr8taQNsvQt4/DQ==",
- "hasInstallScript": true,
- "dependencies": {
- "@types/node": "^8.10.50",
- "extract-zip": "^2.0.1",
- "got": "^11.5.1",
- "lodash.clonedeep": "^4.5.0",
- "uuid": "^7.0.0 || ^8.0.0",
- "yaml": "^1.10.0"
- },
- "bin": {
- "ngrok": "bin/ngrok"
- },
- "engines": {
- "node": ">=10.19.0 <14 || >=14.2"
- },
- "optionalDependencies": {
- "hpagent": "^0.1.2"
- }
- },
- "node_modules/ngrok/node_modules/@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
- },
- "node_modules/node-domexception": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "github",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "engines": {
- "node": ">=10.5.0"
- }
- },
- "node_modules/node-emoji": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
- "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
- "dependencies": {
- "lodash": "^4.17.21"
- }
- },
- "node_modules/node-fetch": {
- "version": "3.2.10",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.10.tgz",
- "integrity": "sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==",
- "dependencies": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/node-fetch"
- }
- },
- "node_modules/node-fetch2": {
- "name": "node-fetch",
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- }
- },
- "node_modules/node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
- "dev": true
- },
- "node_modules/node-releases": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
- "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ=="
- },
- "node_modules/nodejs-base64": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/nodejs-base64/-/nodejs-base64-2.0.0.tgz",
- "integrity": "sha512-rf83teAz8f251P+HQW0nZyIhIIKrTs8wz11n5+Dp1b+/oWCYSeCfNfbUqda5B0DhspBVXwJ7SPk8aghv/TFsjQ=="
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-8.15.0.tgz",
- "integrity": "sha512-sFXrMiO07eDWUb/e5ni2yNvtz2hePKqSyukUxYcQv0QHjyXCe+zKP7af/bISjcvsgRBWGyivk5V3KCZ0vg8J3Q==",
- "bundleDependencies": [
- "@isaacs/string-locale-compare",
- "@npmcli/arborist",
- "@npmcli/ci-detect",
- "@npmcli/config",
- "@npmcli/fs",
- "@npmcli/map-workspaces",
- "@npmcli/package-json",
- "@npmcli/run-script",
- "abbrev",
- "archy",
- "cacache",
- "chalk",
- "chownr",
- "cli-columns",
- "cli-table3",
- "columnify",
- "fastest-levenshtein",
- "glob",
- "graceful-fs",
- "hosted-git-info",
- "ini",
- "init-package-json",
- "is-cidr",
- "json-parse-even-better-errors",
- "libnpmaccess",
- "libnpmdiff",
- "libnpmexec",
- "libnpmfund",
- "libnpmhook",
- "libnpmorg",
- "libnpmpack",
- "libnpmpublish",
- "libnpmsearch",
- "libnpmteam",
- "libnpmversion",
- "make-fetch-happen",
- "minipass",
- "minipass-pipeline",
- "mkdirp",
- "mkdirp-infer-owner",
- "ms",
- "node-gyp",
- "nopt",
- "npm-audit-report",
- "npm-install-checks",
- "npm-package-arg",
- "npm-pick-manifest",
- "npm-profile",
- "npm-registry-fetch",
- "npm-user-validate",
- "npmlog",
- "opener",
- "p-map",
- "pacote",
- "parse-conflict-json",
- "proc-log",
- "qrcode-terminal",
- "read",
- "read-package-json",
- "read-package-json-fast",
- "readdir-scoped-modules",
- "rimraf",
- "semver",
- "ssri",
- "tar",
- "text-table",
- "tiny-relative-date",
- "treeverse",
- "validate-npm-package-name",
- "which",
- "write-file-atomic"
- ],
- "dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^5.0.4",
- "@npmcli/ci-detect": "^2.0.0",
- "@npmcli/config": "^4.2.0",
- "@npmcli/fs": "^2.1.0",
- "@npmcli/map-workspaces": "^2.0.3",
- "@npmcli/package-json": "^2.0.0",
- "@npmcli/run-script": "^4.1.7",
- "abbrev": "~1.1.1",
- "archy": "~1.0.0",
- "cacache": "^16.1.1",
- "chalk": "^4.1.2",
- "chownr": "^2.0.0",
- "cli-columns": "^4.0.0",
- "cli-table3": "^0.6.2",
- "columnify": "^1.6.0",
- "fastest-levenshtein": "^1.0.12",
- "glob": "^8.0.1",
- "graceful-fs": "^4.2.10",
- "hosted-git-info": "^5.0.0",
- "ini": "^3.0.0",
- "init-package-json": "^3.0.2",
- "is-cidr": "^4.0.2",
- "json-parse-even-better-errors": "^2.3.1",
- "libnpmaccess": "^6.0.2",
- "libnpmdiff": "^4.0.2",
- "libnpmexec": "^4.0.2",
- "libnpmfund": "^3.0.1",
- "libnpmhook": "^8.0.2",
- "libnpmorg": "^4.0.2",
- "libnpmpack": "^4.0.2",
- "libnpmpublish": "^6.0.2",
- "libnpmsearch": "^5.0.2",
- "libnpmteam": "^4.0.2",
- "libnpmversion": "^3.0.1",
- "make-fetch-happen": "^10.2.0",
- "minipass": "^3.1.6",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "mkdirp-infer-owner": "^2.0.0",
- "ms": "^2.1.2",
- "node-gyp": "^9.0.0",
- "nopt": "^5.0.0",
- "npm-audit-report": "^3.0.0",
- "npm-install-checks": "^5.0.0",
- "npm-package-arg": "^9.1.0",
- "npm-pick-manifest": "^7.0.1",
- "npm-profile": "^6.2.0",
- "npm-registry-fetch": "^13.3.0",
- "npm-user-validate": "^1.0.1",
- "npmlog": "^6.0.2",
- "opener": "^1.5.2",
- "p-map": "^4.0.0",
- "pacote": "^13.6.1",
- "parse-conflict-json": "^2.0.2",
- "proc-log": "^2.0.1",
- "qrcode-terminal": "^0.12.0",
- "read": "~1.0.7",
- "read-package-json": "^5.0.1",
- "read-package-json-fast": "^2.0.3",
- "readdir-scoped-modules": "^1.1.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.7",
- "ssri": "^9.0.1",
- "tar": "^6.1.11",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^1.3.0",
- "treeverse": "^2.0.0",
- "validate-npm-package-name": "^4.0.0",
- "which": "^2.0.2",
- "write-file-atomic": "^4.0.1"
- },
- "bin": {
- "npm": "bin/npm-cli.js",
- "npx": "bin/npx-cli.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/@colors/colors": {
- "version": "1.5.0",
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/npm/node_modules/@gar/promisify": {
- "version": "1.1.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/@isaacs/string-locale-compare": {
- "version": "1.1.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/@npmcli/arborist": {
- "version": "5.3.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/installed-package-contents": "^1.0.7",
- "@npmcli/map-workspaces": "^2.0.3",
- "@npmcli/metavuln-calculator": "^3.0.1",
- "@npmcli/move-file": "^2.0.0",
- "@npmcli/name-from-folder": "^1.0.1",
- "@npmcli/node-gyp": "^2.0.0",
- "@npmcli/package-json": "^2.0.0",
- "@npmcli/run-script": "^4.1.3",
- "bin-links": "^3.0.0",
- "cacache": "^16.0.6",
- "common-ancestor-path": "^1.0.1",
- "json-parse-even-better-errors": "^2.3.1",
- "json-stringify-nice": "^1.1.4",
- "mkdirp": "^1.0.4",
- "mkdirp-infer-owner": "^2.0.0",
- "nopt": "^5.0.0",
- "npm-install-checks": "^5.0.0",
- "npm-package-arg": "^9.0.0",
- "npm-pick-manifest": "^7.0.0",
- "npm-registry-fetch": "^13.0.0",
- "npmlog": "^6.0.2",
- "pacote": "^13.6.1",
- "parse-conflict-json": "^2.0.1",
- "proc-log": "^2.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.1",
- "read-package-json-fast": "^2.0.2",
- "readdir-scoped-modules": "^1.1.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.7",
- "ssri": "^9.0.0",
- "treeverse": "^2.0.0",
- "walk-up-path": "^1.0.0"
- },
- "bin": {
- "arborist": "bin/index.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/ci-detect": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/npm/node_modules/@npmcli/config": {
- "version": "4.2.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/map-workspaces": "^2.0.2",
- "ini": "^3.0.0",
- "mkdirp-infer-owner": "^2.0.0",
- "nopt": "^5.0.0",
- "proc-log": "^2.0.0",
- "read-package-json-fast": "^2.0.3",
- "semver": "^7.3.5",
- "walk-up-path": "^1.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/disparity-colors": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "ansi-styles": "^4.3.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/fs": {
- "version": "2.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@gar/promisify": "^1.1.3",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/git": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/promise-spawn": "^3.0.0",
- "lru-cache": "^7.4.4",
- "mkdirp": "^1.0.4",
- "npm-pick-manifest": "^7.0.0",
- "proc-log": "^2.0.0",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^2.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/installed-package-contents": {
- "version": "1.0.7",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-bundled": "^1.1.1",
- "npm-normalize-package-bin": "^1.0.1"
- },
- "bin": {
- "installed-package-contents": "index.js"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/@npmcli/map-workspaces": {
- "version": "2.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/name-from-folder": "^1.0.1",
- "glob": "^8.0.1",
- "minimatch": "^5.0.1",
- "read-package-json-fast": "^2.0.3"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/metavuln-calculator": {
- "version": "3.1.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cacache": "^16.0.0",
- "json-parse-even-better-errors": "^2.3.1",
- "pacote": "^13.0.3",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/move-file": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/name-from-folder": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/@npmcli/node-gyp": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/package-json": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^2.3.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/promise-spawn": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "infer-owner": "^1.0.4"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/run-script": {
- "version": "4.1.7",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/node-gyp": "^2.0.0",
- "@npmcli/promise-spawn": "^3.0.0",
- "node-gyp": "^9.0.0",
- "read-package-json-fast": "^2.0.3",
- "which": "^2.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/@tootallnate/once": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/abbrev": {
- "version": "1.1.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/agent-base": {
- "version": "6.0.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/npm/node_modules/agentkeepalive": {
- "version": "4.2.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/npm/node_modules/aggregate-error": {
- "version": "3.1.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/ansi-regex": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/ansi-styles": {
- "version": "4.3.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/npm/node_modules/aproba": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/archy": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/are-we-there-yet": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/npm/node_modules/asap": {
- "version": "2.0.6",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/balanced-match": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/bin-links": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cmd-shim": "^5.0.0",
- "mkdirp-infer-owner": "^2.0.0",
- "npm-normalize-package-bin": "^1.0.0",
- "read-cmd-shim": "^3.0.0",
- "rimraf": "^3.0.0",
- "write-file-atomic": "^4.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/binary-extensions": {
- "version": "2.2.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/brace-expansion": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/npm/node_modules/builtins": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.0.0"
- }
- },
- "node_modules/npm/node_modules/cacache": {
- "version": "16.1.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^2.1.0",
- "@npmcli/move-file": "^2.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "infer-owner": "^1.0.4",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^1.1.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/chalk": {
- "version": "4.1.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/npm/node_modules/chownr": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/cidr-regex": {
- "version": "3.1.1",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "ip-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/clean-stack": {
- "version": "2.2.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/cli-columns": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/cli-table3": {
- "version": "0.6.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "string-width": "^4.2.0"
- },
- "engines": {
- "node": "10.* || >= 12.*"
- },
- "optionalDependencies": {
- "@colors/colors": "1.5.0"
- }
- },
- "node_modules/npm/node_modules/clone": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/npm/node_modules/cmd-shim": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "mkdirp-infer-owner": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/color-convert": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/npm/node_modules/color-name": {
- "version": "1.1.4",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/color-support": {
- "version": "1.1.3",
- "inBundle": true,
- "license": "ISC",
- "bin": {
- "color-support": "bin.js"
- }
- },
- "node_modules/npm/node_modules/columnify": {
- "version": "1.6.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "strip-ansi": "^6.0.1",
- "wcwidth": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/npm/node_modules/common-ancestor-path": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/concat-map": {
- "version": "0.0.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/console-control-strings": {
- "version": "1.1.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/debug": {
- "version": "4.3.4",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/npm/node_modules/debug/node_modules/ms": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/debuglog": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/npm/node_modules/defaults": {
- "version": "1.0.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "clone": "^1.0.2"
- }
- },
- "node_modules/npm/node_modules/delegates": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/depd": {
- "version": "1.1.2",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/npm/node_modules/dezalgo": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "asap": "^2.0.0",
- "wrappy": "1"
- }
- },
- "node_modules/npm/node_modules/diff": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/npm/node_modules/emoji-regex": {
- "version": "8.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/encoding": {
- "version": "0.1.13",
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "iconv-lite": "^0.6.2"
- }
- },
- "node_modules/npm/node_modules/env-paths": {
- "version": "2.2.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/err-code": {
- "version": "2.0.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/fastest-levenshtein": {
- "version": "1.0.12",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/fs-minipass": {
- "version": "2.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/fs.realpath": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/function-bind": {
- "version": "1.1.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/gauge": {
- "version": "4.0.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/glob": {
- "version": "8.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/graceful-fs": {
- "version": "4.2.10",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/has": {
- "version": "1.0.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/npm/node_modules/has-flag": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/has-unicode": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/hosted-git-info": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^7.5.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/npm/node_modules/http-cache-semantics": {
- "version": "4.1.0",
- "inBundle": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/npm/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/humanize-ms": {
- "version": "1.2.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.0.0"
- }
- },
- "node_modules/npm/node_modules/iconv-lite": {
- "version": "0.6.3",
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm/node_modules/ignore-walk": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minimatch": "^5.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/imurmurhash": {
- "version": "0.1.4",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/npm/node_modules/indent-string": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/infer-owner": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/inflight": {
- "version": "1.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/npm/node_modules/inherits": {
- "version": "2.0.4",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/ini": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/init-package-json": {
- "version": "3.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-package-arg": "^9.0.1",
- "promzard": "^0.3.0",
- "read": "^1.0.7",
- "read-package-json": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^4.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/ip": {
- "version": "1.1.8",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/ip-regex": {
- "version": "4.3.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/is-cidr": {
- "version": "4.0.2",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "cidr-regex": "^3.1.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/is-core-module": {
- "version": "2.9.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/npm/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/is-lambda": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/isexe": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/json-stringify-nice": {
- "version": "1.1.4",
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/jsonparse": {
- "version": "1.3.1",
- "engines": [
- "node >= 0.2.0"
- ],
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/just-diff": {
- "version": "5.0.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/just-diff-apply": {
- "version": "5.3.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/libnpmaccess": {
- "version": "6.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "minipass": "^3.1.1",
- "npm-package-arg": "^9.0.1",
- "npm-registry-fetch": "^13.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmdiff": {
- "version": "4.0.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/disparity-colors": "^2.0.0",
- "@npmcli/installed-package-contents": "^1.0.7",
- "binary-extensions": "^2.2.0",
- "diff": "^5.0.0",
- "minimatch": "^5.0.1",
- "npm-package-arg": "^9.0.1",
- "pacote": "^13.6.1",
- "tar": "^6.1.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmexec": {
- "version": "4.0.8",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^5.0.0",
- "@npmcli/ci-detect": "^2.0.0",
- "@npmcli/run-script": "^4.1.3",
- "chalk": "^4.1.0",
- "mkdirp-infer-owner": "^2.0.0",
- "npm-package-arg": "^9.0.1",
- "npmlog": "^6.0.2",
- "pacote": "^13.6.1",
- "proc-log": "^2.0.0",
- "read": "^1.0.7",
- "read-package-json-fast": "^2.0.2",
- "walk-up-path": "^1.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmfund": {
- "version": "3.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^5.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmhook": {
- "version": "8.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^13.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmorg": {
- "version": "4.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^13.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmpack": {
- "version": "4.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/run-script": "^4.1.3",
- "npm-package-arg": "^9.0.1",
- "pacote": "^13.6.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmpublish": {
- "version": "6.0.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "normalize-package-data": "^4.0.0",
- "npm-package-arg": "^9.0.1",
- "npm-registry-fetch": "^13.0.0",
- "semver": "^7.3.7",
- "ssri": "^9.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmsearch": {
- "version": "5.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-registry-fetch": "^13.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmteam": {
- "version": "4.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^13.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmversion": {
- "version": "3.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^3.0.0",
- "@npmcli/run-script": "^4.1.3",
- "json-parse-even-better-errors": "^2.3.1",
- "proc-log": "^2.0.0",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/lru-cache": {
- "version": "7.12.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/npm/node_modules/make-fetch-happen": {
- "version": "10.2.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^16.1.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^2.0.3",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^9.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/minimatch": {
- "version": "5.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/minipass": {
- "version": "3.3.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-collect": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minipass-fetch": {
- "version": "2.1.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.1.6",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- },
- "optionalDependencies": {
- "encoding": "^0.1.13"
- }
- },
- "node_modules/npm/node_modules/minipass-flush": {
- "version": "1.0.5",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minipass-json-stream": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "jsonparse": "^1.3.1",
- "minipass": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/minipass-pipeline": {
- "version": "1.2.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-sized": {
- "version": "1.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minizlib": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/mkdirp": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/mkdirp-infer-owner": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "infer-owner": "^1.0.4",
- "mkdirp": "^1.0.3"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/ms": {
- "version": "2.1.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/mute-stream": {
- "version": "0.0.8",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/negotiator": {
- "version": "0.6.3",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/npm/node_modules/node-gyp": {
- "version": "9.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^10.0.3",
- "nopt": "^5.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": "^12.22 || ^14.13 || >=16"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": {
- "version": "1.1.11",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/glob": {
- "version": "7.2.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
- "version": "3.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/npm/node_modules/nopt": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/normalize-package-data": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "hosted-git-info": "^5.0.0",
- "is-core-module": "^2.8.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/npm/node_modules/npm-audit-report": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-bundled": {
- "version": "1.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "node_modules/npm/node_modules/npm-install-checks": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "semver": "^7.1.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-normalize-package-bin": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/npm-package-arg": {
- "version": "9.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^5.0.0",
- "proc-log": "^2.0.1",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^4.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-packlist": {
- "version": "5.1.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^8.0.1",
- "ignore-walk": "^5.0.1",
- "npm-bundled": "^1.1.2",
- "npm-normalize-package-bin": "^1.0.1"
- },
- "bin": {
- "npm-packlist": "bin/index.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-pick-manifest": {
- "version": "7.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-install-checks": "^5.0.0",
- "npm-normalize-package-bin": "^1.0.1",
- "npm-package-arg": "^9.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-profile": {
- "version": "6.2.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-registry-fetch": "^13.0.1",
- "proc-log": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-registry-fetch": {
- "version": "13.3.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "make-fetch-happen": "^10.0.6",
- "minipass": "^3.1.6",
- "minipass-fetch": "^2.0.3",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.1.2",
- "npm-package-arg": "^9.0.1",
- "proc-log": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-user-validate": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/npm/node_modules/npmlog": {
- "version": "6.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/once": {
- "version": "1.4.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/npm/node_modules/opener": {
- "version": "1.5.2",
- "inBundle": true,
- "license": "(WTFPL OR MIT)",
- "bin": {
- "opener": "bin/opener-bin.js"
- }
- },
- "node_modules/npm/node_modules/p-map": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm/node_modules/pacote": {
- "version": "13.6.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^3.0.0",
- "@npmcli/installed-package-contents": "^1.0.7",
- "@npmcli/promise-spawn": "^3.0.0",
- "@npmcli/run-script": "^4.1.0",
- "cacache": "^16.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "infer-owner": "^1.0.4",
- "minipass": "^3.1.6",
- "mkdirp": "^1.0.4",
- "npm-package-arg": "^9.0.0",
- "npm-packlist": "^5.1.0",
- "npm-pick-manifest": "^7.0.0",
- "npm-registry-fetch": "^13.0.1",
- "proc-log": "^2.0.0",
- "promise-retry": "^2.0.1",
- "read-package-json": "^5.0.0",
- "read-package-json-fast": "^2.0.3",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11"
- },
- "bin": {
- "pacote": "lib/bin.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/parse-conflict-json": {
- "version": "2.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^2.3.1",
- "just-diff": "^5.0.1",
- "just-diff-apply": "^5.2.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/path-is-absolute": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm/node_modules/proc-log": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/promise-all-reject-late": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/promise-call-limit": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/promise-inflight": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/promise-retry": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/promzard": {
- "version": "0.3.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "read": "1"
- }
- },
- "node_modules/npm/node_modules/qrcode-terminal": {
- "version": "0.12.0",
- "inBundle": true,
- "bin": {
- "qrcode-terminal": "bin/qrcode-terminal.js"
- }
- },
- "node_modules/npm/node_modules/read": {
- "version": "1.0.7",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "mute-stream": "~0.0.4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/npm/node_modules/read-cmd-shim": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/read-package-json": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^8.0.1",
- "json-parse-even-better-errors": "^2.3.1",
- "normalize-package-data": "^4.0.0",
- "npm-normalize-package-bin": "^1.0.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/read-package-json-fast": {
- "version": "2.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^2.3.0",
- "npm-normalize-package-bin": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/readable-stream": {
- "version": "3.6.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/readdir-scoped-modules": {
- "version": "1.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "debuglog": "^1.0.1",
- "dezalgo": "^1.0.0",
- "graceful-fs": "^4.1.2",
- "once": "^1.3.0"
- }
- },
- "node_modules/npm/node_modules/retry": {
- "version": "0.12.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/npm/node_modules/rimraf": {
- "version": "3.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": {
- "version": "1.1.11",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/glob": {
- "version": "7.2.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/minimatch": {
- "version": "3.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/npm/node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/safer-buffer": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/npm/node_modules/semver": {
- "version": "7.3.7",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/semver/node_modules/lru-cache": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/set-blocking": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/signal-exit": {
- "version": "3.0.7",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/smart-buffer": {
- "version": "4.2.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/npm/node_modules/socks": {
- "version": "2.6.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.13.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/npm/node_modules/socks-proxy-agent": {
- "version": "7.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/spdx-correct": {
- "version": "3.1.1",
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "inBundle": true,
- "license": "CC-BY-3.0"
- },
- "node_modules/npm/node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/spdx-license-ids": {
- "version": "3.0.11",
- "inBundle": true,
- "license": "CC0-1.0"
- },
- "node_modules/npm/node_modules/ssri": {
- "version": "9.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.1.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/string_decoder": {
- "version": "1.3.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/npm/node_modules/string-width": {
- "version": "4.2.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/strip-ansi": {
- "version": "6.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/supports-color": {
- "version": "7.2.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/tar": {
- "version": "6.1.11",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/text-table": {
- "version": "0.2.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/tiny-relative-date": {
- "version": "1.3.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/treeverse": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/unique-filename": {
- "version": "1.1.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "unique-slug": "^2.0.0"
- }
- },
- "node_modules/npm/node_modules/unique-slug": {
- "version": "2.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4"
- }
- },
- "node_modules/npm/node_modules/util-deprecate": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/validate-npm-package-name": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "builtins": "^5.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/walk-up-path": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/wcwidth": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "defaults": "^1.0.3"
- }
- },
- "node_modules/npm/node_modules/which": {
- "version": "2.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/wide-align": {
- "version": "1.1.5",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "node_modules/npm/node_modules/wrappy": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/write-file-atomic": {
- "version": "4.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/npm/node_modules/yallist": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/objects-to-csv": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/objects-to-csv/-/objects-to-csv-1.3.6.tgz",
- "integrity": "sha512-383eSpS3hmgCksW85KIqBtcbgSW5DDVsCmzLoM6C3q4yzOX2rmtWxF4pbLJ76fz+ufA+4/SwAT4QdaY6IUWmAg==",
- "dependencies": {
- "async-csv": "^2.1.3"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/one-time": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
- "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
- "dependencies": {
- "fn.name": "1.x.x"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/os-name": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz",
- "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==",
- "dependencies": {
- "macos-release": "^2.5.0",
- "windows-release": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "node_modules/path-to-regexp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz",
- "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA=="
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pirates": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
- "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
- "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
- "dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/prettier-linter-helpers": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
- "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
- "dev": true,
- "dependencies": {
- "fast-diff": "^1.1.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/pretty-format": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
- "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "node_modules/prompts": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
- "dev": true,
- "dependencies": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/qss": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/qss/-/qss-2.0.3.tgz",
- "integrity": "sha512-j48ZBT5IZbSqJiSU8EX4XrN8nXiflHvmMvv2XpFc31gh7n6EpSs75bNr6+oj3FOLWyT8m09pTmqLNl34L7/uPQ==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/querystring": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
- "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
- "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/readable-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
- "dependencies": {
- "resolve": "^1.1.6"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/reflect-metadata": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
- "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
- },
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "dependencies": {
- "is-core-module": "^2.8.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-alpn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
- },
- "node_modules/resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-cwd/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve.exports": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz",
- "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/responselike": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
- "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
- "dependencies": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "node_modules/restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/rxjs": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz",
- "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/safe-stable-stringify": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
- "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/schema-utils/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/schema-utils/node_modules/ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/schema-utils/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "node_modules/serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
- "dependencies": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- },
- "bin": {
- "shjs": "bin/shjs"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
- },
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
- "dependencies": {
- "is-arrayish": "^0.3.1"
- }
- },
- "node_modules/simple-swizzle/node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
- },
- "node_modules/sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
- },
- "node_modules/spawn-command": {
- "version": "0.0.2-1",
- "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
- "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg=="
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
- },
- "node_modules/stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/stack-utils": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz",
- "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==",
- "dev": true,
- "dependencies": {
- "escape-string-regexp": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/stack-utils/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/stream-transform": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
- "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==",
- "dependencies": {
- "mixme": "^0.5.1"
- }
- },
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string_decoder/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "node_modules/string-length": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
- "dev": true,
- "dependencies": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/superagent": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz",
- "integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==",
- "dev": true,
- "dependencies": {
- "component-emitter": "^1.3.0",
- "cookiejar": "^2.1.3",
- "debug": "^4.3.4",
- "fast-safe-stringify": "^2.1.1",
- "form-data": "^4.0.0",
- "formidable": "^2.0.1",
- "methods": "^1.1.2",
- "mime": "^2.5.0",
- "qs": "^6.10.3",
- "readable-stream": "^3.6.0",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": ">=6.4.0 <13 || >=14"
- }
- },
- "node_modules/superagent/node_modules/mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/superagent/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/superagent/node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/supertest": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.3.tgz",
- "integrity": "sha512-3GSdMYTMItzsSYjnIcljxMVZKPW1J9kYHZY+7yLfD0wpPwww97GeImZC1oOk0S5+wYl2niJwuFusBJqwLqYM3g==",
- "dev": true,
- "dependencies": {
- "methods": "^1.1.2",
- "superagent": "^7.1.3"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-hyperlinks": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
- "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/symbol-observable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
- "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/terser": {
- "version": "5.14.2",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
- "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
- "dependencies": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
- "dependencies": {
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
- },
- "node_modules/test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/text-hex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
- "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
- },
- "node_modules/throat": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
- "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
- "dev": true
- },
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
- },
- "node_modules/tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "node_modules/tmpl": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
- "dev": true
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "node_modules/tree-kill": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
- "bin": {
- "tree-kill": "cli.js"
- }
- },
- "node_modules/triple-beam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
- },
- "node_modules/ts-jest": {
- "version": "28.0.1",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.1.tgz",
- "integrity": "sha512-PbkbitaT/9ZYAqqzk3UYTvCq080Seo46T3m/AdwcZ0D8WH2uBhG6PvA8oOAWsZIknzPQU66fYobvFCL8IqIhmg==",
- "dev": true,
- "dependencies": {
- "bs-logger": "0.x",
- "fast-json-stable-stringify": "2.x",
- "jest-util": "^28.0.0",
- "json5": "2.x",
- "lodash.memoize": "4.x",
- "make-error": "1.x",
- "semver": "7.x",
- "yargs-parser": "^20.x"
- },
- "bin": {
- "ts-jest": "cli.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.0 <8",
- "@types/jest": "^27.0.0",
- "babel-jest": "^28.0.0",
- "jest": "^28.0.0",
- "typescript": ">=4.3"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "@types/jest": {
- "optional": true
- },
- "babel-jest": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- }
- }
- },
- "node_modules/ts-loader": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz",
- "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.0.0",
- "micromatch": "^4.0.0",
- "semver": "^7.3.4"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "typescript": "*",
- "webpack": "^5.0.0"
- }
- },
- "node_modules/ts-loader/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/ts-node": {
- "version": "10.7.0",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz",
- "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==",
- "dev": true,
- "dependencies": {
- "@cspotcode/source-map-support": "0.7.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.0",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "node_modules/tsconfig-paths": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.0.0.tgz",
- "integrity": "sha512-SLBg2GBKlR6bVtMgJJlud/o3waplKtL7skmLkExomIiaAtLGtVsoXIqP3SYdjbcH9lq/KVv7pMZeCBpLYOit6Q==",
- "dev": true,
- "dependencies": {
- "json5": "^2.2.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz",
- "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==",
- "dependencies": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.7.0",
- "tsconfig-paths": "^3.9.0"
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin/node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths/node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- },
- "node_modules/tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "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"
- }
- },
- "node_modules/tsutils/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
- },
- "node_modules/typescript": {
- "version": "4.6.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
- "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "node_modules/v8-to-istanbul": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz",
- "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.7",
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "node_modules/validator": {
- "version": "13.7.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
- "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/walker": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
- "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
- "dev": true,
- "dependencies": {
- "makeerror": "1.0.12"
- }
- },
- "node_modules/watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
- "dependencies": {
- "defaults": "^1.0.3"
- }
- },
- "node_modules/web-streams-polyfill": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
- "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "node_modules/webpack": {
- "version": "5.72.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz",
- "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==",
- "dependencies": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-node-externals": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz",
- "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/windows-release": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz",
- "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==",
- "dependencies": {
- "execa": "^4.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/windows-release/node_modules/execa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
- "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.0",
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/windows-release/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/windows-release/node_modules/human-signals": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
- "engines": {
- "node": ">=8.12.0"
- }
- },
- "node_modules/winston": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz",
- "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==",
- "dependencies": {
- "@dabh/diagnostics": "^2.0.2",
- "async": "^3.2.3",
- "is-stream": "^2.0.0",
- "logform": "^2.4.0",
- "one-time": "^1.0.0",
- "readable-stream": "^3.4.0",
- "safe-stable-stringify": "^2.3.1",
- "stack-trace": "0.0.x",
- "triple-beam": "^1.3.0",
- "winston-transport": "^4.5.0"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/winston-transport": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
- "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
- "dependencies": {
- "logform": "^2.3.2",
- "readable-stream": "^3.6.0",
- "triple-beam": "^1.3.0"
- },
- "engines": {
- "node": ">= 6.4.0"
- }
- },
- "node_modules/winston-transport/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/winston/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "node_modules/write-file-atomic": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
- "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/yargs": {
- "version": "17.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
- "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
- "dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs/node_modules/yargs-parser": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
- "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- }
- },
- "dependencies": {
- "@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
- "dev": true,
- "requires": {
- "@jridgewell/gen-mapping": "^0.1.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@angular-devkit/core": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.2.tgz",
- "integrity": "sha512-wav5plcnlxQAfZ+0EUt3dvVTJnJ1au2TlKVQ0jSQJdR1LA6N7QUI49N2Ua6ZnDMwruQaQkoynitMW2l1it3qYQ==",
- "requires": {
- "ajv": "8.9.0",
- "ajv-formats": "2.1.1",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.6.7",
- "source-map": "0.7.3"
- },
- "dependencies": {
- "rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@angular-devkit/schematics": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.2.tgz",
- "integrity": "sha512-XCLb23jmqHN0gJg9ZlICaFgfpfnCufIQp5SOsRKMKRkhjKycvDmKnfBTKDlkzb1IaUl6wQwP5k7Z69b9EX+CQw==",
- "requires": {
- "@angular-devkit/core": "13.3.2",
- "jsonc-parser": "3.0.0",
- "magic-string": "0.25.7",
- "ora": "5.4.1",
- "rxjs": "6.6.7"
- },
- "dependencies": {
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "requires": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@angular-devkit/schematics-cli": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.3.2.tgz",
- "integrity": "sha512-cUHZFNq2kaCaReJAU28MSu2D+WDFTqt2v03U79TryOutYdF8BV4FyfvKqCSW6WXna219GXSXPepVqDYcjvn7/w==",
- "requires": {
- "@angular-devkit/core": "13.3.2",
- "@angular-devkit/schematics": "13.3.2",
- "ansi-colors": "4.1.1",
- "inquirer": "8.2.0",
- "minimist": "1.2.6",
- "symbol-observable": "4.0.0"
- },
- "dependencies": {
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "inquirer": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
- "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
- "requires": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.1",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.21",
- "mute-stream": "0.0.8",
- "ora": "^5.4.1",
- "run-async": "^2.4.0",
- "rxjs": "^7.2.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- }
- },
- "is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "requires": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
- "requires": {
- "@babel/highlight": "^7.16.7"
- }
- },
- "@babel/compat-data": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
- "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
- "dev": true
- },
- "@babel/core": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
- "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
- "dev": true,
- "requires": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-compilation-targets": "^7.17.10",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helpers": "^7.17.9",
- "@babel/parser": "^7.17.10",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.10",
- "@babel/types": "^7.17.10",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.1",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "@babel/generator": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
- "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.17.10",
- "@jridgewell/gen-mapping": "^0.1.0",
- "jsesc": "^2.5.1"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
- "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.17.10",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.20.2",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
- "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
- "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
- "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
- "dev": true,
- "requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.17.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
- "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
- "dev": true
- },
- "@babel/helper-simple-access": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
- "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
- "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
- },
- "@babel/helper-validator-option": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
- "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
- "dev": true
- },
- "@babel/helpers": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
- "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.9",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/highlight": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
- "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
- "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
- "dev": true
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz",
- "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/traverse": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
- "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.17.9",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.10",
- "@babel/types": "^7.17.10",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "dependencies": {
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
- "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
- },
- "@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="
- },
- "@commercetools/platform-sdk": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-2.7.0.tgz",
- "integrity": "sha512-xm3IT0WP/5NL4vmB/9TSS19+z8ghkHmEmb9n5kXu5GC+wiR/Z6pcpt/BYUR2MuRTqjsq167MThH15jHgWypaQw==",
- "requires": {
- "@commercetools/sdk-client-v2": "^1.4.0",
- "@commercetools/sdk-middleware-auth": "^6.0.4",
- "@commercetools/sdk-middleware-http": "^6.0.4",
- "@commercetools/sdk-middleware-logger": "^2.1.1",
- "querystring": "^0.2.1"
- }
- },
- "@commercetools/sdk-auth": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-auth/-/sdk-auth-3.0.13.tgz",
- "integrity": "sha512-Y+E+oYwQeY4PHu4HBBeNyieQsDoG/f7axHlQXDgdnVcLkyPDHsMHYMiOT8p5MAl+VFCA7F31z9y7x/QUmyyT5Q==",
- "requires": {
- "@commercetools/sdk-middleware-http": "^6.1.1",
- "lodash.defaultsdeep": "^4.6.0",
- "qss": "2.0.3"
- }
- },
- "@commercetools/sdk-client-v2": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-client-v2/-/sdk-client-v2-1.4.0.tgz",
- "integrity": "sha512-JYGDQVJtrPsU9keGM6HSIUAwTJtLqEWWEsaLJaDct3ciRc9orNLRn65pPhfXzZkg0kw2c6SkmG8HEEDQbOq0xg==",
- "requires": {
- "buffer": "^6.0.3",
- "node-fetch": "^2.6.1",
- "querystring": "^0.2.1"
- },
- "dependencies": {
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- }
- }
- },
- "@commercetools/sdk-middleware-auth": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-auth/-/sdk-middleware-auth-6.2.1.tgz",
- "integrity": "sha512-JNVRVf7zssECg0i/amAG0gnFmx4Kj7rB0J9MfRlvN/54qyA6tKJOJaA5j9hYy60qKSW/NCGbVMcVlBnPJLhREQ==",
- "requires": {
- "node-fetch": "^2.6.7"
- },
- "dependencies": {
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- }
- }
- },
- "@commercetools/sdk-middleware-http": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-http/-/sdk-middleware-http-6.2.0.tgz",
- "integrity": "sha512-3E1nV+awhP0eeFuyChxgbaPF5CWWH0PvGZO9FtNl/mirlYjGbXAHO4Ql5tG4/G+CywlXI9XVA9wKSwxG0kgwgA=="
- },
- "@commercetools/sdk-middleware-logger": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-logger/-/sdk-middleware-logger-2.1.1.tgz",
- "integrity": "sha512-k/Jm3lsWbszPBHtPAvu0rINTq398p4ddv0zbAH8R4p6Yc1GkBEy6tNgHPzX/eFskI/qerPy9IsW1xK8pqgtHHQ=="
- },
- "@cspotcode/source-map-consumer": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
- "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
- "dev": true
- },
- "@cspotcode/source-map-support": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
- "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-consumer": "0.8.0"
- }
- },
- "@dabh/diagnostics": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
- "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
- "requires": {
- "colorspace": "1.1.x",
- "enabled": "2.0.x",
- "kuler": "^2.0.0"
- }
- },
- "@eslint/eslintrc": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz",
- "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.3.1",
- "globals": "^13.9.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.0.4",
- "strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- }
- }
- },
- "@golevelup/nestjs-discovery": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@golevelup/nestjs-discovery/-/nestjs-discovery-3.0.0.tgz",
- "integrity": "sha512-ZvkXtobTKxXB1LJanP/l6Z/Fing88IMBr3uabQpU2IWjfsstjh02qYDSU2cfD6CSmNldX5ewW5Pd+SdK2lU8Sw==",
- "requires": {
- "lodash": "^4.17.15"
- }
- },
- "@hapi/hoek": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
- "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
- },
- "@hapi/topo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
- "requires": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "@humanwhocodes/config-array": {
- "version": "0.9.5",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
- "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- }
- },
- "@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
- },
- "@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "dependencies": {
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- }
- }
- },
- "@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true
- },
- "@jest/console": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.0.2.tgz",
- "integrity": "sha512-tiRpnMeeyQuuzgL5UNSeiqMwF8UOWPbAE5rzcu/1zyq4oPG2Ox6xm4YCOruwbp10F8odWc+XwVxTyGzMSLMqxA==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "@jest/core": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.0.3.tgz",
- "integrity": "sha512-cCQW06vEZ+5r50SB06pOnSWsOBs7F+lswPYnKKfBz1ncLlj1sMqmvjgam8q40KhlZ8Ut4eNAL2Hvfx4BKIO2FA==",
- "dev": true,
- "requires": {
- "@jest/console": "^28.0.2",
- "@jest/reporters": "^28.0.3",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "jest-changed-files": "^28.0.2",
- "jest-config": "^28.0.3",
- "jest-haste-map": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-resolve-dependencies": "^28.0.3",
- "jest-runner": "^28.0.3",
- "jest-runtime": "^28.0.3",
- "jest-snapshot": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "jest-watcher": "^28.0.2",
- "micromatch": "^4.0.4",
- "pretty-format": "^28.0.2",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "@jest/environment": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.0.2.tgz",
- "integrity": "sha512-IvI7dEfqVEffDYlw9FQfVBt6kXt/OI38V7QUIur0ulOQgzpKYJDVvLzj4B1TVmHWTGW5tcnJdlZ3hqzV6/I9Qg==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "jest-mock": "^28.0.2"
- }
- },
- "@jest/expect": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.0.3.tgz",
- "integrity": "sha512-VEzZr85bqNomgayQkR7hWG5HnbZYWYWagQriZsixhLmOzU6PCpMP61aeVhkCoRrg7ri5f7JDpeTPzDAajIwFHw==",
- "dev": true,
- "requires": {
- "expect": "^28.0.2",
- "jest-snapshot": "^28.0.3"
- }
- },
- "@jest/expect-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.0.2.tgz",
- "integrity": "sha512-YryfH2zN5c7M8eLtn9oTBRj1sfD+X4cHNXJnTejqCveOS33wADEZUxJ7de5++lRvByNpRpfAnc8zTK7yrUJqgA==",
- "dev": true,
- "requires": {
- "jest-get-type": "^28.0.2"
- }
- },
- "@jest/fake-timers": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.0.2.tgz",
- "integrity": "sha512-R75yUv+WeybPa4ZVhX9C+8XN0TKjUoceUX+/QEaDVQGxZZOK50eD74cs7iMDTtpodh00d8iLlc9197vgF6oZjA==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "@sinonjs/fake-timers": "^9.1.1",
- "@types/node": "*",
- "jest-message-util": "^28.0.2",
- "jest-mock": "^28.0.2",
- "jest-util": "^28.0.2"
- }
- },
- "@jest/globals": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.0.3.tgz",
- "integrity": "sha512-q/zXYI6CKtTSIt1WuTHBYizJhH7K8h+xG5PE3C0oawLlPIvUMDYmpj0JX0XsJwPRLCsz/fYXHZVG46AaEhSPmw==",
- "dev": true,
- "requires": {
- "@jest/environment": "^28.0.2",
- "@jest/expect": "^28.0.3",
- "@jest/types": "^28.0.2"
- }
- },
- "@jest/reporters": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.0.3.tgz",
- "integrity": "sha512-xrbIc7J/xwo+D7AY3enAR9ZWYCmJ8XIkstTukTGpKDph0gLl/TJje9jl3dssvE4KJzYqMKiSrnE5Nt68I4fTEg==",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^28.0.2",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@jridgewell/trace-mapping": "^0.3.7",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^5.1.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.1.3",
- "jest-util": "^28.0.2",
- "jest-worker": "^28.0.2",
- "slash": "^3.0.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^9.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "@jest/schemas": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz",
- "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==",
- "dev": true,
- "requires": {
- "@sinclair/typebox": "^0.23.3"
- }
- },
- "@jest/source-map": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz",
- "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==",
- "dev": true,
- "requires": {
- "@jridgewell/trace-mapping": "^0.3.7",
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.9"
- }
- },
- "@jest/test-result": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.0.2.tgz",
- "integrity": "sha512-4EUqgjq9VzyUiVTvZfI9IRJD6t3NYBNP4f+Eq8Zr93+hkJ0RrGU4OBTw8tfNzidKX+bmuYzn8FxqpxOPIGGCMA==",
- "dev": true,
- "requires": {
- "@jest/console": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/test-sequencer": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.0.2.tgz",
- "integrity": "sha512-zhnZ8ydkZQTPL7YucB86eOlD79zPy5EGSUKiR2Iv93RVEDU6OEP33kwDBg70ywOcxeJGDRhyo09q7TafNCBiIg==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^28.0.2",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "slash": "^3.0.0"
- }
- },
- "@jest/transform": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.0.3.tgz",
- "integrity": "sha512-+Y0ikI7SwoW/YbK8t9oKwC70h4X2Gd0OVuz5tctRvSV/EDQU00AAkoqevXgPSSFimUmp/sp7Yl8s/1bExDqOIg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.11.6",
- "@jest/types": "^28.0.2",
- "@jridgewell/trace-mapping": "^0.3.7",
- "babel-plugin-istanbul": "^6.1.1",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.4",
- "slash": "^3.0.0",
- "write-file-atomic": "^4.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "@jest/types": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.0.2.tgz",
- "integrity": "sha512-hi3jUdm9iht7I2yrV5C4s3ucCJHUP8Eh3W6rQ1s4n/Qw9rQgsda4eqCt+r3BKRi7klVmZfQlMx1nGlzNMP2d8A==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
- "dev": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
- "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw=="
- },
- "@jridgewell/set-array": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz",
- "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg=="
- },
- "@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- }
- }
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.12",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz",
- "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA=="
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@nestjs/cli": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.5.tgz",
- "integrity": "sha512-b5DzZ08q/6iWvLz+n2DhEyZ3rsOurN1ec1jYQaWC5DCVQoZCwyOew48bVf01kevTK4eZyQxPwuErf7HnFAc0oQ==",
- "requires": {
- "@angular-devkit/core": "13.3.2",
- "@angular-devkit/schematics": "13.3.2",
- "@angular-devkit/schematics-cli": "13.3.2",
- "@nestjs/schematics": "^8.0.3",
- "chalk": "3.0.0",
- "chokidar": "3.5.3",
- "cli-table3": "0.6.1",
- "commander": "4.1.1",
- "fork-ts-checker-webpack-plugin": "7.2.3",
- "inquirer": "7.3.3",
- "node-emoji": "1.11.0",
- "ora": "5.4.1",
- "os-name": "4.0.1",
- "rimraf": "3.0.2",
- "shelljs": "0.8.5",
- "source-map-support": "0.5.21",
- "tree-kill": "1.2.2",
- "tsconfig-paths": "3.14.1",
- "tsconfig-paths-webpack-plugin": "3.5.2",
- "typescript": "4.6.2",
- "webpack": "5.71.0",
- "webpack-node-externals": "3.0.0"
- },
- "dependencies": {
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "requires": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- },
- "tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "requires": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "typescript": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz",
- "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg=="
- },
- "webpack": {
- "version": "5.71.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.71.0.tgz",
- "integrity": "sha512-g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- }
- }
- },
- "@nestjs/common": {
- "version": "8.4.4",
- "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.4.tgz",
- "integrity": "sha512-QHi7QcgH/5Jinz+SCfIZJkFHc6Cch1YsAEGFEhi6wSp6MILb0sJMQ1CX06e9tCOAjSlBwaJj4PH0eFCVau5v9Q==",
- "requires": {
- "axios": "0.26.1",
- "iterare": "1.2.1",
- "tslib": "2.3.1",
- "uuid": "8.3.2"
- }
- },
- "@nestjs/config": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.0.0.tgz",
- "integrity": "sha512-Hi1k/1S5ogsS5c0OtNm72thiLSngijOaLDFaGI5ZPxNGpF23lctPg6ox3pYIOhXVRX/u+eiUIp71gswH2k8YNw==",
- "requires": {
- "dotenv": "16.0.0",
- "dotenv-expand": "8.0.2",
- "lodash": "4.17.21",
- "uuid": "8.3.2"
- }
- },
- "@nestjs/core": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.7.tgz",
- "integrity": "sha512-XB9uexHqzr2xkPo6QSiQWJJttyYYLmvQ5My64cFvWFi7Wk2NIus0/xUNInwX3kmFWB6pF1ab5Y2ZBvWdPwGBhw==",
- "requires": {
- "@nuxtjs/opencollective": "0.3.2",
- "fast-safe-stringify": "2.1.1",
- "iterare": "1.2.1",
- "object-hash": "3.0.0",
- "path-to-regexp": "3.2.0",
- "tslib": "2.4.0",
- "uuid": "8.3.2"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
- }
- },
- "@nestjs/platform-express": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.7.tgz",
- "integrity": "sha512-lPE5Ltg2NbQGRQIwXWY+4cNrXhJdycbxFDQ8mNxSIuv+LbrJBIdEB/NONk+LLn9N/8d2+I2LsIETGQrPvsejBg==",
- "requires": {
- "body-parser": "1.20.0",
- "cors": "2.8.5",
- "express": "4.18.1",
- "multer": "1.4.4-lts.1",
- "tslib": "2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
- }
- },
- "@nestjs/schematics": {
- "version": "8.0.11",
- "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.11.tgz",
- "integrity": "sha512-W/WzaxgH5aE01AiIErE9QrQJ73VR/M/8p8pq0LZmjmNcjZqU5kQyOWUxZg13WYfSpJdOa62t6TZRtFDmgZPoIg==",
- "requires": {
- "@angular-devkit/core": "13.3.5",
- "@angular-devkit/schematics": "13.3.5",
- "fs-extra": "10.1.0",
- "jsonc-parser": "3.0.0",
- "pluralize": "8.0.0"
- },
- "dependencies": {
- "@angular-devkit/core": {
- "version": "13.3.5",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.5.tgz",
- "integrity": "sha512-w7vzK4VoYP9rLgxJ2SwEfrkpKybdD+QgQZlsDBzT0C6Ebp7b4gkNcNVFo8EiZvfDl6Yplw2IAP7g7fs3STn0hQ==",
- "requires": {
- "ajv": "8.9.0",
- "ajv-formats": "2.1.1",
- "fast-json-stable-stringify": "2.1.0",
- "magic-string": "0.25.7",
- "rxjs": "6.6.7",
- "source-map": "0.7.3"
- }
- },
- "@angular-devkit/schematics": {
- "version": "13.3.5",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.5.tgz",
- "integrity": "sha512-0N/kL/Vfx0yVAEwa3HYxNx9wYb+G9r1JrLjJQQzDp+z9LtcojNf7j3oey6NXrDUs1WjVZOa/AIdRl3/DuaoG5w==",
- "requires": {
- "@angular-devkit/core": "13.3.5",
- "jsonc-parser": "3.0.0",
- "magic-string": "0.25.7",
- "ora": "5.4.1",
- "rxjs": "6.6.7"
- }
- },
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "requires": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@nestjs/testing": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.7.tgz",
- "integrity": "sha512-aedpeJFicTBeiTCvJWUG45WMMS53f5eu8t2fXsfjsU1t+WdDJqYcZyrlCzA4dL1B7MfbqaTURdvuVVHTmJO8ag==",
- "dev": true,
- "requires": {
- "tslib": "2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
- }
- }
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@nuxtjs/opencollective": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
- "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
- "requires": {
- "chalk": "^4.1.0",
- "consola": "^2.15.0",
- "node-fetch": "^2.6.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- }
- }
- },
- "@sideway/address": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
- "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
- "requires": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "@sideway/formula": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz",
- "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg=="
- },
- "@sideway/pinpoint": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
- "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
- },
- "@sinclair/typebox": {
- "version": "0.23.5",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz",
- "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==",
- "dev": true
- },
- "@sindresorhus/is": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="
- },
- "@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
- "dev": true,
- "requires": {
- "type-detect": "4.0.8"
- }
- },
- "@sinonjs/fake-timers": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz",
- "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "@tsconfig/node10": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
- "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
- "dev": true
- },
- "@tsconfig/node12": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
- "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
- "dev": true
- },
- "@tsconfig/node14": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
- "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
- "dev": true
- },
- "@tsconfig/node16": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
- "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
- "dev": true
- },
- "@types/babel__core": {
- "version": "7.1.19",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
- "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
- "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
- "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.17.1",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz",
- "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.3.0"
- }
- },
- "@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "dev": true,
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
- "dev": true
- },
- "@types/eslint": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
- "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
- "requires": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "@types/eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
- "requires": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "@types/express": {
- "version": "4.17.13",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
- "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
- "dev": true,
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.28",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
- "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@types/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-3zsplnP2djeps5P9OyarTxwRpMLoe5Ash8aL9iprw0JxB+FAHjY+ifn4yZUuW4/9hqtnmor6uvjSRzJhiVbrEQ==",
- "dev": true
- },
- "@types/graceful-fs": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
- "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
- },
- "@types/inquirer": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.4.tgz",
- "integrity": "sha512-Pxxx3i3AyK7vKAj3LRM/vF7ETcHKiLJ/u5CnNgbz/eYj/vB3xGAYtRxI5IKtq0hpe5iFHD22BKV3n6WHUu0k4Q==",
- "peer": true,
- "requires": {
- "@types/through": "*"
- }
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
- "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/jest": {
- "version": "27.5.0",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz",
- "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==",
- "dev": true,
- "requires": {
- "jest-matcher-utils": "^27.0.0",
- "pretty-format": "^27.0.0"
- }
- },
- "@types/json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ=="
- },
- "@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
- },
- "@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
- },
- "@types/keyv": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
- "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
- "dev": true
- },
- "@types/node": {
- "version": "16.11.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.33.tgz",
- "integrity": "sha512-0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA=="
- },
- "@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
- },
- "@types/prettier": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz",
- "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==",
- "dev": true
- },
- "@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
- "dev": true
- },
- "@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
- "dev": true
- },
- "@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/serve-static": {
- "version": "1.13.10",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz",
- "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==",
- "dev": true,
- "requires": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "@types/stack-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
- "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
- "dev": true
- },
- "@types/superagent": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz",
- "integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==",
- "dev": true,
- "requires": {
- "@types/cookiejar": "*",
- "@types/node": "*"
- }
- },
- "@types/supertest": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.12.tgz",
- "integrity": "sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==",
- "dev": true,
- "requires": {
- "@types/superagent": "*"
- }
- },
- "@types/through": {
- "version": "0.0.30",
- "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz",
- "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==",
- "peer": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/yargs": {
- "version": "17.0.10",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz",
- "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "@types/yargs-parser": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
- "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
- "dev": true
- },
- "@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
- "optional": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@typescript-eslint/eslint-plugin": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz",
- "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "5.22.0",
- "@typescript-eslint/type-utils": "5.22.0",
- "@typescript-eslint/utils": "5.22.0",
- "debug": "^4.3.2",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.1.8",
- "regexpp": "^3.2.0",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/parser": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz",
- "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "5.22.0",
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/typescript-estree": "5.22.0",
- "debug": "^4.3.2"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz",
- "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/visitor-keys": "5.22.0"
- }
- },
- "@typescript-eslint/type-utils": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz",
- "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==",
- "dev": true,
- "requires": {
- "@typescript-eslint/utils": "5.22.0",
- "debug": "^4.3.2",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz",
- "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz",
- "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/visitor-keys": "5.22.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
- "is-glob": "^4.0.3",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/utils": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz",
- "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.22.0",
- "@typescript-eslint/types": "5.22.0",
- "@typescript-eslint/typescript-estree": "5.22.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.22.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz",
- "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.22.0",
- "eslint-visitor-keys": "^3.0.0"
- }
- },
- "@voucherify/sdk": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/@voucherify/sdk/-/sdk-2.0.15.tgz",
- "integrity": "sha512-a7e0TeQdNZBlXxXqOu9mHTHkuYuwWtcuZsorzqECiasQJalgOH5jdG/6AIXQ62Z3tUgKEwcAoyYg/wfLA56BvA==",
- "requires": {
- "axios": "0.21.2",
- "qs": "6.9.6"
- },
- "dependencies": {
- "axios": {
- "version": "0.21.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz",
- "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==",
- "requires": {
- "follow-redirects": "^1.14.0"
- }
- },
- "qs": {
- "version": "6.9.6",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
- "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
- }
- }
- },
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
- },
- "@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
- },
- "accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "requires": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- }
- },
- "acorn": {
- "version": "8.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A=="
- },
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "requires": {}
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
- },
- "acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true
- },
- "ajv": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz",
- "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "requires": {
- "ajv": "^8.0.0"
- }
- },
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "requires": {
- "type-fest": "^0.21.3"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="
- }
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "append-field": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
- "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw=="
- },
- "arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
- },
- "async": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
- "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
- },
- "async-csv": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/async-csv/-/async-csv-2.1.3.tgz",
- "integrity": "sha512-mpsCN+D7mzZeqrlDw7UTPhvDQDlx1i819E9fbKIt8drkgED5FSOlBv3Rk/+sXdevnO2wwlRkVOQ4kdT0AyqPqQ==",
- "requires": {
- "csv": "^5.1.3"
- }
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "axios": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
- "requires": {
- "follow-redirects": "^1.14.8"
- }
- },
- "babel-jest": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.0.3.tgz",
- "integrity": "sha512-S0ADyYdcrt5fp9YldRYWCUHdk1BKt9AkvBkLWBoNAEV9NoWZPIj5+MYhPcGgTS65mfv3a+Ymf2UqgWoAVd41cA==",
- "dev": true,
- "requires": {
- "@jest/transform": "^28.0.3",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^28.0.2",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^5.0.4",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz",
- "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.1.14",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
- "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- }
- },
- "babel-preset-jest": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz",
- "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^28.0.2",
- "babel-preset-current-node-syntax": "^1.0.0"
- }
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
- },
- "body-parser": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
- "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
- "requires": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.10.3",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
- "requires": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.3",
- "picocolors": "^1.0.0"
- }
- },
- "bs-logger": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
- "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
- "dev": true,
- "requires": {
- "fast-json-stable-stringify": "2.x"
- }
- },
- "bser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
- "dev": true,
- "requires": {
- "node-int64": "^0.4.0"
- }
- },
- "buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
- },
- "buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
- },
- "busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "requires": {
- "streamsearch": "^1.1.0"
- }
- },
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
- },
- "cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="
- },
- "cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001336",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz",
- "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw=="
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "char-regex": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
- "dev": true
- },
- "chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- }
- },
- "chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
- },
- "ci-info": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
- "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
- "dev": true
- },
- "cjs-module-lexer": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
- "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
- "dev": true
- },
- "class-transformer": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
- "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw=="
- },
- "class-validator": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz",
- "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==",
- "requires": {
- "libphonenumber-js": "^1.9.43",
- "validator": "^13.7.0"
- }
- },
- "cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "requires": {
- "restore-cursor": "^3.1.0"
- }
- },
- "cli-spinners": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
- "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g=="
- },
- "cli-table": {
- "version": "0.3.11",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz",
- "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==",
- "requires": {
- "colors": "1.0.3"
- },
- "dependencies": {
- "colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw=="
- }
- }
- },
- "cli-table3": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz",
- "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==",
- "requires": {
- "colors": "1.4.0",
- "string-width": "^4.2.0"
- }
- },
- "cli-width": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw=="
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
- },
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
- "dev": true
- },
- "collect-v8-coverage": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
- "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
- "dev": true
- },
- "color": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
- "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
- "requires": {
- "color-convert": "^1.9.3",
- "color-string": "^1.6.0"
- },
- "dependencies": {
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- }
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "color-string": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
- "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
- "requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "optional": true
- },
- "colors-cli": {
- "version": "1.0.28",
- "resolved": "https://registry.npmjs.org/colors-cli/-/colors-cli-1.0.28.tgz",
- "integrity": "sha512-2XE8s1mB3Jr5rvirk/fFzhWY2m9S2dpZ0mWz3Yl/mzMM8hDVBawL0Rsal5hR1gJP4lgqhQfFfEmaGZpUZgEKrA=="
- },
- "colorspace": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
- "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
- "requires": {
- "color": "^3.1.3",
- "text-hex": "1.0.x"
- }
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "compress-brotli": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
- "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
- "requires": {
- "@types/json-buffer": "~3.0.0",
- "json-buffer": "~3.0.1"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "concurrently": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.1.0.tgz",
- "integrity": "sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw==",
- "requires": {
- "chalk": "^4.1.0",
- "date-fns": "^2.16.1",
- "lodash": "^4.17.21",
- "rxjs": "^6.6.3",
- "spawn-command": "^0.0.2-1",
- "supports-color": "^8.1.0",
- "tree-kill": "^1.2.2",
- "yargs": "^16.2.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- }
- }
- },
- "consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
- },
- "content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "requires": {
- "safe-buffer": "5.2.1"
- }
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- },
- "convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- }
- }
- },
- "cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
- },
- "cookiejar": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
- "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
- },
- "cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "requires": {
- "object-assign": "^4",
- "vary": "^1"
- }
- },
- "cosmiconfig": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
- "requires": {
- "@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"
- }
- },
- "create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "csv": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz",
- "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==",
- "requires": {
- "csv-generate": "^3.4.3",
- "csv-parse": "^4.16.3",
- "csv-stringify": "^5.6.5",
- "stream-transform": "^2.1.3"
- }
- },
- "csv-generate": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz",
- "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw=="
- },
- "csv-parse": {
- "version": "4.16.3",
- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz",
- "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg=="
- },
- "csv-stringify": {
- "version": "5.6.5",
- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
- "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A=="
- },
- "data-uri-to-buffer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
- "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA=="
- },
- "date-fns": {
- "version": "2.28.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
- "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw=="
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "requires": {
- "mimic-response": "^3.1.0"
- },
- "dependencies": {
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
- }
- }
- },
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
- },
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
- "requires": {
- "clone": "^1.0.2"
- }
- },
- "defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
- },
- "destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
- },
- "detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true
- },
- "dezalgo": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
- "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==",
- "dev": true,
- "requires": {
- "asap": "^2.0.0",
- "wrappy": "1"
- }
- },
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
- },
- "diff-sequences": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
- "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "dotenv": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz",
- "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q=="
- },
- "dotenv-expand": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.2.tgz",
- "integrity": "sha512-vKKAk+VOzAWOV/dPIeSYqhgC/TQY+6L6Ibkzfsr8xd1stdBsTuGu9asCOXgbYbBeS+f2Y6lqqEuw7riOA+xEUQ=="
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
- },
- "electron-to-chromium": {
- "version": "1.4.134",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz",
- "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg=="
- },
- "emittery": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
- "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "enabled": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
- "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "requires": {
- "once": "^1.4.0"
- }
- },
- "enhanced-resolve": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
- "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "eslint": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz",
- "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==",
- "dev": true,
- "requires": {
- "@eslint/eslintrc": "^1.2.2",
- "@humanwhocodes/config-array": "^0.9.2",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.3.1",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^6.0.1",
- "globals": "^13.6.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- }
- }
- },
- "eslint-config-prettier": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
- "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
- "dev": true,
- "requires": {}
- },
- "eslint-plugin-prettier": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
- "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
- "dev": true,
- "requires": {
- "prettier-linter-helpers": "^1.0.0"
- }
- },
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true
- }
- }
- },
- "eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true
- },
- "espree": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
- "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
- "dev": true,
- "requires": {
- "acorn": "^8.7.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- }
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "requires": {
- "estraverse": "^5.2.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
- }
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
- },
- "events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
- "dev": true
- },
- "expect": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-28.0.2.tgz",
- "integrity": "sha512-X0qIuI/zKv98k34tM+uGeOgAC73lhs4vROF9MkPk94C1zujtwv4Cla8SxhWn0G1OwvG9gLLL7RjFBkwGVaZ83w==",
- "dev": true,
- "requires": {
- "@jest/expect-utils": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "jest-matcher-utils": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-util": "^28.0.2"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "diff-sequences": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
- "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
- "dev": true
- },
- "jest-diff": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
- "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- }
- },
- "jest-matcher-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
- "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "express": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
- "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
- "requires": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.0",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.10.3",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
- }
- }
- },
- "external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "requires": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- }
- },
- "extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "requires": {
- "@types/yauzl": "^2.9.1",
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fast-diff": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
- "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
- "dev": true
- },
- "fast-glob": {
- "version": "3.2.11",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
- "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "fast-safe-stringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
- "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
- "dev": true,
- "requires": {
- "bser": "2.1.1"
- }
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "fecha": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
- "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
- },
- "fetch-blob": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
- "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
- "requires": {
- "node-domexception": "^1.0.0",
- "web-streams-polyfill": "^3.0.3"
- }
- },
- "figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "requires": {
- "escape-string-regexp": "^1.0.5"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
- }
- }
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
- },
- "flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "requires": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
- "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
- "dev": true
- },
- "fn.name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
- "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
- },
- "follow-redirects": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
- "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ=="
- },
- "fork-ts-checker-webpack-plugin": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.3.tgz",
- "integrity": "sha512-9v308zIFTIFkWJBN/4N1A5oqm/ed9hWG6GH+KYTCBjYCEJOmHoVtDIWpfrJ0eD6cPB7V53HEVoJ6bL2In8QRaw==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "chalk": "^4.1.2",
- "chokidar": "^3.5.3",
- "cosmiconfig": "^7.0.1",
- "deepmerge": "^4.2.2",
- "fs-extra": "^10.0.0",
- "memfs": "^3.4.1",
- "minimatch": "^3.0.4",
- "schema-utils": "^3.1.1",
- "semver": "^7.3.5",
- "tapable": "^2.2.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "formdata-polyfill": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
- "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
- "requires": {
- "fetch-blob": "^3.1.2"
- }
- },
- "formidable": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz",
- "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==",
- "dev": true,
- "requires": {
- "dezalgo": "1.0.3",
- "hexoid": "1.0.0",
- "once": "1.4.0",
- "qs": "6.9.3"
- },
- "dependencies": {
- "qs": {
- "version": "6.9.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
- "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
- "dev": true
- }
- }
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
- },
- "fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "fs-monkey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
- "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q=="
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
- },
- "get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
- "get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
- },
- "globals": {
- "version": "13.13.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
- "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
- "requires": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
- },
- "hexoid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
- "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
- "dev": true
- },
- "hpagent": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz",
- "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==",
- "optional": true
- },
- "html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
- },
- "http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "requires": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- }
- },
- "http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true
- },
- "husky": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz",
- "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
- "requires": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.19",
- "mute-stream": "0.0.8",
- "run-async": "^2.4.0",
- "rxjs": "^6.6.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "install": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz",
- "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA=="
- },
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
- },
- "ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
- },
- "is-generator-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz",
- "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
- "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "iterare": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz",
- "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q=="
- },
- "jest": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest/-/jest-28.0.3.tgz",
- "integrity": "sha512-uS+T5J3w5xyzd1KSJCGKhCo8WTJXbNl86f5SW11wgssbandJOVLRKKUxmhdFfmKxhPeksl1hHZ0HaA8VBzp7xA==",
- "dev": true,
- "requires": {
- "@jest/core": "^28.0.3",
- "import-local": "^3.0.2",
- "jest-cli": "^28.0.3"
- }
- },
- "jest-changed-files": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz",
- "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==",
- "dev": true,
- "requires": {
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- }
- },
- "jest-circus": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.0.3.tgz",
- "integrity": "sha512-HJ3rUCm3A3faSy7KVH5MFCncqJLtrjEFkTPn9UIcs4Kq77+TXqHsOaI+/k73aHe6DJQigLUXq9rCYj3MYFlbIw==",
- "dev": true,
- "requires": {
- "@jest/environment": "^28.0.2",
- "@jest/expect": "^28.0.3",
- "@jest/test-result": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^28.0.2",
- "jest-matcher-utils": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-runtime": "^28.0.3",
- "jest-snapshot": "^28.0.3",
- "jest-util": "^28.0.2",
- "pretty-format": "^28.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "diff-sequences": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
- "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
- "dev": true
- },
- "jest-diff": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
- "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- }
- },
- "jest-matcher-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
- "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-cli": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.0.3.tgz",
- "integrity": "sha512-NCPTEONCnhYGo1qzPP4OOcGF04YasM5GZSwQLI1HtEluxa3ct4U65IbZs6DSRt8XN1Rq0jhXwv02m5lHB28Uyg==",
- "dev": true,
- "requires": {
- "@jest/core": "^28.0.3",
- "@jest/test-result": "^28.0.2",
- "@jest/types": "^28.0.2",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "import-local": "^3.0.2",
- "jest-config": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "prompts": "^2.0.1",
- "yargs": "^17.3.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "jest-config": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.0.3.tgz",
- "integrity": "sha512-3gWOEHwGpNhyYOk9vnUMv94x15QcdjACm7A3lERaluwnyD6d1WZWe9RFCShgIXVOHzRfG1hWxsI2U0gKKSGgDQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.11.6",
- "@jest/test-sequencer": "^28.0.2",
- "@jest/types": "^28.0.2",
- "babel-jest": "^28.0.3",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "jest-circus": "^28.0.3",
- "jest-environment-node": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-runner": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "micromatch": "^4.0.4",
- "parse-json": "^5.2.0",
- "pretty-format": "^28.0.2",
- "slash": "^3.0.0",
- "strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-diff": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
- "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "jest-get-type": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
- "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
- "dev": true
- }
- }
- },
- "jest-docblock": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz",
- "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.0.2.tgz",
- "integrity": "sha512-/W5Wc0b+ipR36kDaLngdVEJ/5UYPOITK7rW0djTlCCQdMuWpCFJweMW4TzAoJ6GiRrljPL8FwiyOSoSHKrda2w==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "chalk": "^4.0.0",
- "jest-get-type": "^28.0.2",
- "jest-util": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-environment-node": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.0.2.tgz",
- "integrity": "sha512-o9u5UHZ+NCuIoa44KEF0Behhsz/p1wMm0WumsZfWR1k4IVoWSt3aN0BavSC5dd26VxSGQvkrCnJxxOzhhUEG3Q==",
- "dev": true,
- "requires": {
- "@jest/environment": "^28.0.2",
- "@jest/fake-timers": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "jest-mock": "^28.0.2",
- "jest-util": "^28.0.2"
- }
- },
- "jest-get-type": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
- "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
- "dev": true
- },
- "jest-haste-map": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.0.2.tgz",
- "integrity": "sha512-EokdL7l5uk4TqWGawwrIt8w3tZNcbeiRxmKGEURf42pl+/rWJy3sCJlon5HBhJXZTW978jk6600BLQOI7i25Ig==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "@types/graceful-fs": "^4.1.3",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.3.2",
- "graceful-fs": "^4.2.9",
- "jest-regex-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "jest-worker": "^28.0.2",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- }
- },
- "jest-leak-detector": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.0.2.tgz",
- "integrity": "sha512-UGaSPYtxKXl/YKacq6juRAKmMp1z2os8NaU8PSC+xvNikmu3wF6QFrXrihMM4hXeMr9HuNotBrQZHmzDY8KIBQ==",
- "dev": true,
- "requires": {
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-matcher-utils": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
- "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "jest-get-type": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
- "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
- "dev": true
- }
- }
- },
- "jest-message-util": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.0.2.tgz",
- "integrity": "sha512-knK7XyojvwYh1XiF2wmVdskgM/uN11KsjcEWWHfnMZNEdwXCrqB4sCBO94F4cfiAwCS8WFV6CDixDwPlMh/wdA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^28.0.2",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^28.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-mock": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.0.2.tgz",
- "integrity": "sha512-vfnJ4zXRB0i24jOTGtQJyl26JKsgBKtqRlCnsrORZbG06FToSSn33h2x/bmE8XxqxkLWdZBRo+/65l8Vi3nD+g==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "@types/node": "*"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "requires": {}
- },
- "jest-regex-util": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz",
- "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==",
- "dev": true
- },
- "jest-resolve": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.0.3.tgz",
- "integrity": "sha512-lfgjd9JhEjpjIN3HLUfdysdK+A7ePQoYmd7WL9DUEWqdnngb1rF56eee6iDXJxl/3eSolpP43VD7VrhjL3NsoQ==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^28.0.2",
- "jest-validate": "^28.0.2",
- "resolve": "^1.20.0",
- "resolve.exports": "^1.1.0",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "jest-resolve-dependencies": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.0.3.tgz",
- "integrity": "sha512-lCgHMm0/5p0qHemrOzm7kI6JDei28xJwIf7XOEcv1HeAVHnsON8B8jO/woqlU+/GcOXb58ymieYqhk3zjGWnvQ==",
- "dev": true,
- "requires": {
- "jest-regex-util": "^28.0.2",
- "jest-snapshot": "^28.0.3"
- }
- },
- "jest-runner": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.0.3.tgz",
- "integrity": "sha512-4OsHMjBLtYUWCENucAQ4Za0jGfEbOFi/Fusv6dzUuaweqx8apb4+5p2LR2yvgF4StFulmxyC238tGLftfu+zBA==",
- "dev": true,
- "requires": {
- "@jest/console": "^28.0.2",
- "@jest/environment": "^28.0.2",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.10.2",
- "graceful-fs": "^4.2.9",
- "jest-docblock": "^28.0.2",
- "jest-environment-node": "^28.0.2",
- "jest-haste-map": "^28.0.2",
- "jest-leak-detector": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-runtime": "^28.0.3",
- "jest-util": "^28.0.2",
- "jest-watcher": "^28.0.2",
- "jest-worker": "^28.0.2",
- "source-map-support": "0.5.13",
- "throat": "^6.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-support": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- }
- }
- },
- "jest-runtime": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.0.3.tgz",
- "integrity": "sha512-7FtPUmvbZEHLOdjsF6dyHg5Pe4E0DU+f3Vvv8BPzVR7mQA6nFR4clQYLAPyJGnsUvN8WRWn+b5a5SVwnj1WaGg==",
- "dev": true,
- "requires": {
- "@jest/environment": "^28.0.2",
- "@jest/fake-timers": "^28.0.2",
- "@jest/globals": "^28.0.3",
- "@jest/source-map": "^28.0.2",
- "@jest/test-result": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "execa": "^5.0.0",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-mock": "^28.0.2",
- "jest-regex-util": "^28.0.2",
- "jest-resolve": "^28.0.3",
- "jest-snapshot": "^28.0.3",
- "jest-util": "^28.0.2",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "jest-snapshot": {
- "version": "28.0.3",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.0.3.tgz",
- "integrity": "sha512-nVzAAIlAbrMuvVUrS1YxmAeo1TfSsDDU+K5wv/Ow56MBp+L+Y71ksAbwRp3kGCgZAz4oOXcAMPAwtT9Yh1hlQQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.11.6",
- "@babel/generator": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.3.3",
- "@jest/expect-utils": "^28.0.2",
- "@jest/transform": "^28.0.3",
- "@jest/types": "^28.0.2",
- "@types/babel__traverse": "^7.0.6",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^28.0.2",
- "graceful-fs": "^4.2.9",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "jest-haste-map": "^28.0.2",
- "jest-matcher-utils": "^28.0.2",
- "jest-message-util": "^28.0.2",
- "jest-util": "^28.0.2",
- "natural-compare": "^1.4.0",
- "pretty-format": "^28.0.2",
- "semver": "^7.3.5"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "diff-sequences": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
- "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
- "dev": true
- },
- "jest-diff": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
- "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- }
- },
- "jest-matcher-utils": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
- "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^28.0.2",
- "jest-get-type": "^28.0.2",
- "pretty-format": "^28.0.2"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-util": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.0.2.tgz",
- "integrity": "sha512-EVdpIRCC8lzqhp9A0u0aAKlsFIzufK6xKxNK7awsnebTdOP4hpyQW5o6Ox2qPl8gbeUKYF+POLyItaND53kpGA==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "jest-validate": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.0.2.tgz",
- "integrity": "sha512-nr0UOvCTtxP0YPdsk01Gk7e7c0xIiEe2nncAe3pj0wBfUvAykTVrMrdeASlAJnlEQCBuwN/GF4hKoCzbkGNCNw==",
- "dev": true,
- "requires": {
- "@jest/types": "^28.0.2",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^28.0.2",
- "leven": "^3.1.0",
- "pretty-format": "^28.0.2"
- },
- "dependencies": {
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "pretty-format": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
- "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^28.0.2",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "18.1.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
- "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
- "dev": true
- }
- }
- },
- "jest-watcher": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.0.2.tgz",
- "integrity": "sha512-uIVJLpQ/5VTGQWBiBatHsi7jrCqHjHl0e0dFHMWzwuIfUbdW/muk0DtSr0fteY2T7QTFylv+7a5Rm8sBKrE12Q==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^28.0.2",
- "@jest/types": "^28.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.10.2",
- "jest-util": "^28.0.2",
- "string-length": "^4.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "jest-worker": {
- "version": "28.0.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.0.2.tgz",
- "integrity": "sha512-pijNxfjxT0tGAx+8+OzZ+eayVPCwy/rsZFhebmC0F4YnXu1EHPEPxg7utL3m5uX3EaFH1/jwDxGa1EbjJCST2g==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "joi": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz",
- "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==",
- "requires": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
- "@sideway/formula": "^3.0.0",
- "@sideway/pinpoint": "^2.0.0"
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
- "dev": true
- },
- "jsonc-parser": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
- "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA=="
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "keyv": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.6.tgz",
- "integrity": "sha512-mmMlAFwZnCBk7QDA23I49T5VP2NdSsbaT4yrm14cwnlQ67t+wHWPtYj+/gbzeAbcprGbUSzWP3jBE1WKfSERnQ==",
- "requires": {
- "compress-brotli": "^1.3.8",
- "json-buffer": "3.0.1"
- }
- },
- "kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true
- },
- "kuler": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
- "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
- },
- "leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "libphonenumber-js": {
- "version": "1.10.6",
- "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz",
- "integrity": "sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA=="
- },
- "lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
- },
- "loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg=="
- },
- "loading-cli": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loading-cli/-/loading-cli-1.1.0.tgz",
- "integrity": "sha512-r6Kj0Y3d3isT4vvJ0tFlND1CcLkpatWmlgQs/PEfnSofJSHZwAbsqexnpQEDj4nlxSXEqFWh/Wu2iQXAAZRPNQ==",
- "requires": {
- "colors-cli": "^1.0.26"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
- },
- "lodash.defaultsdeep": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
- "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
- },
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
- "dev": true
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "logform": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz",
- "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==",
- "requires": {
- "@colors/colors": "1.5.0",
- "fecha": "^4.2.0",
- "ms": "^2.1.1",
- "safe-stable-stringify": "^2.3.1",
- "triple-beam": "^1.3.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "macos-release": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz",
- "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g=="
- },
- "magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "makeerror": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
- "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
- "dev": true,
- "requires": {
- "tmpl": "1.0.5"
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
- },
- "memfs": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz",
- "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==",
- "requires": {
- "fs-monkey": "1.0.3"
- }
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
- },
- "mixme": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz",
- "integrity": "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw=="
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "multer": {
- "version": "1.4.4-lts.1",
- "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz",
- "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==",
- "requires": {
- "append-field": "^1.0.0",
- "busboy": "^1.0.0",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- },
- "dependencies": {
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "requires": {
- "minimist": "^1.2.6"
- }
- }
- }
- },
- "mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
- },
- "neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
- },
- "nest-commander": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/nest-commander/-/nest-commander-2.5.0.tgz",
- "integrity": "sha512-wJG3UFt8fUAMvAD9NZOW0BIF8XirYwkw6lwwW03xrT0cUtB5fxD4roCAKZbW8pGOdp5EMISq08WgDmmVpQqfkA==",
- "requires": {
- "@golevelup/nestjs-discovery": "3.0.0",
- "commander": "8.3.0",
- "cosmiconfig": "7.0.1",
- "inquirer": "8.2.2"
- },
- "dependencies": {
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="
- },
- "inquirer": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.2.tgz",
- "integrity": "sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==",
- "requires": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.1",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.21",
- "mute-stream": "0.0.8",
- "ora": "^5.4.1",
- "run-async": "^2.4.0",
- "rxjs": "^7.5.5",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- }
- },
- "is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "requires": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "nest-winston": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/nest-winston/-/nest-winston-1.7.0.tgz",
- "integrity": "sha512-FJ94dJ++8BEjQfK5TuqiY5g7pP48RLRss41Bm6bCCfzYgywymEI6m+HPHW9K/q2i7wO5TU6Sva51/Rvmmhxddw==",
- "requires": {
- "fast-safe-stringify": "^2.1.1"
- }
- },
- "ngrok": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-4.3.1.tgz",
- "integrity": "sha512-s0joO2liKYiGTVARyzL8hfLIXAZT03GDK3oJqsZK6d61Es+HCx77j8E9ysUbtkMEyvBgYmIMr8taQNsvQt4/DQ==",
- "requires": {
- "@types/node": "^8.10.50",
- "extract-zip": "^2.0.1",
- "got": "^11.5.1",
- "hpagent": "^0.1.2",
- "lodash.clonedeep": "^4.5.0",
- "uuid": "^7.0.0 || ^8.0.0",
- "yaml": "^1.10.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
- }
- }
- },
- "node-domexception": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="
- },
- "node-emoji": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
- "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
- "requires": {
- "lodash": "^4.17.21"
- }
- },
- "node-fetch": {
- "version": "3.2.10",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.10.tgz",
- "integrity": "sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==",
- "requires": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- }
- },
- "node-fetch2": {
- "version": "npm:node-fetch@2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
- "dev": true
- },
- "node-releases": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
- "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ=="
- },
- "nodejs-base64": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/nodejs-base64/-/nodejs-base64-2.0.0.tgz",
- "integrity": "sha512-rf83teAz8f251P+HQW0nZyIhIIKrTs8wz11n5+Dp1b+/oWCYSeCfNfbUqda5B0DhspBVXwJ7SPk8aghv/TFsjQ=="
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
- },
- "npm": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-8.15.0.tgz",
- "integrity": "sha512-sFXrMiO07eDWUb/e5ni2yNvtz2hePKqSyukUxYcQv0QHjyXCe+zKP7af/bISjcvsgRBWGyivk5V3KCZ0vg8J3Q==",
- "requires": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^5.0.4",
- "@npmcli/ci-detect": "^2.0.0",
- "@npmcli/config": "^4.2.0",
- "@npmcli/fs": "^2.1.0",
- "@npmcli/map-workspaces": "^2.0.3",
- "@npmcli/package-json": "^2.0.0",
- "@npmcli/run-script": "^4.1.7",
- "abbrev": "~1.1.1",
- "archy": "~1.0.0",
- "cacache": "^16.1.1",
- "chalk": "^4.1.2",
- "chownr": "^2.0.0",
- "cli-columns": "^4.0.0",
- "cli-table3": "^0.6.2",
- "columnify": "^1.6.0",
- "fastest-levenshtein": "^1.0.12",
- "glob": "^8.0.1",
- "graceful-fs": "^4.2.10",
- "hosted-git-info": "^5.0.0",
- "ini": "^3.0.0",
- "init-package-json": "^3.0.2",
- "is-cidr": "^4.0.2",
- "json-parse-even-better-errors": "^2.3.1",
- "libnpmaccess": "^6.0.2",
- "libnpmdiff": "^4.0.2",
- "libnpmexec": "^4.0.2",
- "libnpmfund": "^3.0.1",
- "libnpmhook": "^8.0.2",
- "libnpmorg": "^4.0.2",
- "libnpmpack": "^4.0.2",
- "libnpmpublish": "^6.0.2",
- "libnpmsearch": "^5.0.2",
- "libnpmteam": "^4.0.2",
- "libnpmversion": "^3.0.1",
- "make-fetch-happen": "^10.2.0",
- "minipass": "^3.1.6",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "mkdirp-infer-owner": "^2.0.0",
- "ms": "^2.1.2",
- "node-gyp": "^9.0.0",
- "nopt": "^5.0.0",
- "npm-audit-report": "^3.0.0",
- "npm-install-checks": "^5.0.0",
- "npm-package-arg": "^9.1.0",
- "npm-pick-manifest": "^7.0.1",
- "npm-profile": "^6.2.0",
- "npm-registry-fetch": "^13.3.0",
- "npm-user-validate": "^1.0.1",
- "npmlog": "^6.0.2",
- "opener": "^1.5.2",
- "p-map": "^4.0.0",
- "pacote": "^13.6.1",
- "parse-conflict-json": "^2.0.2",
- "proc-log": "^2.0.1",
- "qrcode-terminal": "^0.12.0",
- "read": "~1.0.7",
- "read-package-json": "^5.0.1",
- "read-package-json-fast": "^2.0.3",
- "readdir-scoped-modules": "^1.1.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.7",
- "ssri": "^9.0.1",
- "tar": "^6.1.11",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^1.3.0",
- "treeverse": "^2.0.0",
- "validate-npm-package-name": "^4.0.0",
- "which": "^2.0.2",
- "write-file-atomic": "^4.0.1"
- },
- "dependencies": {
- "@colors/colors": {
- "version": "1.5.0",
- "bundled": true,
- "optional": true
- },
- "@gar/promisify": {
- "version": "1.1.3",
- "bundled": true
- },
- "@isaacs/string-locale-compare": {
- "version": "1.1.0",
- "bundled": true
- },
- "@npmcli/arborist": {
- "version": "5.3.0",
- "bundled": true,
- "requires": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/installed-package-contents": "^1.0.7",
- "@npmcli/map-workspaces": "^2.0.3",
- "@npmcli/metavuln-calculator": "^3.0.1",
- "@npmcli/move-file": "^2.0.0",
- "@npmcli/name-from-folder": "^1.0.1",
- "@npmcli/node-gyp": "^2.0.0",
- "@npmcli/package-json": "^2.0.0",
- "@npmcli/run-script": "^4.1.3",
- "bin-links": "^3.0.0",
- "cacache": "^16.0.6",
- "common-ancestor-path": "^1.0.1",
- "json-parse-even-better-errors": "^2.3.1",
- "json-stringify-nice": "^1.1.4",
- "mkdirp": "^1.0.4",
- "mkdirp-infer-owner": "^2.0.0",
- "nopt": "^5.0.0",
- "npm-install-checks": "^5.0.0",
- "npm-package-arg": "^9.0.0",
- "npm-pick-manifest": "^7.0.0",
- "npm-registry-fetch": "^13.0.0",
- "npmlog": "^6.0.2",
- "pacote": "^13.6.1",
- "parse-conflict-json": "^2.0.1",
- "proc-log": "^2.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.1",
- "read-package-json-fast": "^2.0.2",
- "readdir-scoped-modules": "^1.1.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.7",
- "ssri": "^9.0.0",
- "treeverse": "^2.0.0",
- "walk-up-path": "^1.0.0"
- }
- },
- "@npmcli/ci-detect": {
- "version": "2.0.0",
- "bundled": true
- },
- "@npmcli/config": {
- "version": "4.2.0",
- "bundled": true,
- "requires": {
- "@npmcli/map-workspaces": "^2.0.2",
- "ini": "^3.0.0",
- "mkdirp-infer-owner": "^2.0.0",
- "nopt": "^5.0.0",
- "proc-log": "^2.0.0",
- "read-package-json-fast": "^2.0.3",
- "semver": "^7.3.5",
- "walk-up-path": "^1.0.0"
- }
- },
- "@npmcli/disparity-colors": {
- "version": "2.0.0",
- "bundled": true,
- "requires": {
- "ansi-styles": "^4.3.0"
- }
- },
- "@npmcli/fs": {
- "version": "2.1.0",
- "bundled": true,
- "requires": {
- "@gar/promisify": "^1.1.3",
- "semver": "^7.3.5"
- }
- },
- "@npmcli/git": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "@npmcli/promise-spawn": "^3.0.0",
- "lru-cache": "^7.4.4",
- "mkdirp": "^1.0.4",
- "npm-pick-manifest": "^7.0.0",
- "proc-log": "^2.0.0",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^2.0.2"
- }
- },
- "@npmcli/installed-package-contents": {
- "version": "1.0.7",
- "bundled": true,
- "requires": {
- "npm-bundled": "^1.1.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "@npmcli/map-workspaces": {
- "version": "2.0.3",
- "bundled": true,
- "requires": {
- "@npmcli/name-from-folder": "^1.0.1",
- "glob": "^8.0.1",
- "minimatch": "^5.0.1",
- "read-package-json-fast": "^2.0.3"
- }
- },
- "@npmcli/metavuln-calculator": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "cacache": "^16.0.0",
- "json-parse-even-better-errors": "^2.3.1",
- "pacote": "^13.0.3",
- "semver": "^7.3.5"
- }
- },
- "@npmcli/move-file": {
- "version": "2.0.0",
- "bundled": true,
- "requires": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- }
- },
- "@npmcli/name-from-folder": {
- "version": "1.0.1",
- "bundled": true
- },
- "@npmcli/node-gyp": {
- "version": "2.0.0",
- "bundled": true
- },
- "@npmcli/package-json": {
- "version": "2.0.0",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^2.3.1"
- }
- },
- "@npmcli/promise-spawn": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "infer-owner": "^1.0.4"
- }
- },
- "@npmcli/run-script": {
- "version": "4.1.7",
- "bundled": true,
- "requires": {
- "@npmcli/node-gyp": "^2.0.0",
- "@npmcli/promise-spawn": "^3.0.0",
- "node-gyp": "^9.0.0",
- "read-package-json-fast": "^2.0.3",
- "which": "^2.0.2"
- }
- },
- "@tootallnate/once": {
- "version": "2.0.0",
- "bundled": true
- },
- "abbrev": {
- "version": "1.1.1",
- "bundled": true
- },
- "agent-base": {
- "version": "6.0.2",
- "bundled": true,
- "requires": {
- "debug": "4"
- }
- },
- "agentkeepalive": {
- "version": "4.2.1",
- "bundled": true,
- "requires": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "bundled": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "bundled": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "bundled": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "aproba": {
- "version": "2.0.0",
- "bundled": true
- },
- "archy": {
- "version": "1.0.0",
- "bundled": true
- },
- "are-we-there-yet": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
- "asap": {
- "version": "2.0.6",
- "bundled": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "bundled": true
- },
- "bin-links": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "cmd-shim": "^5.0.0",
- "mkdirp-infer-owner": "^2.0.0",
- "npm-normalize-package-bin": "^1.0.0",
- "read-cmd-shim": "^3.0.0",
- "rimraf": "^3.0.0",
- "write-file-atomic": "^4.0.0"
- }
- },
- "binary-extensions": {
- "version": "2.2.0",
- "bundled": true
- },
- "brace-expansion": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "builtins": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "semver": "^7.0.0"
- }
- },
- "cacache": {
- "version": "16.1.1",
- "bundled": true,
- "requires": {
- "@npmcli/fs": "^2.1.0",
- "@npmcli/move-file": "^2.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "infer-owner": "^1.0.4",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^1.1.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "bundled": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "bundled": true
- },
- "cidr-regex": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "ip-regex": "^4.1.0"
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "bundled": true
- },
- "cli-columns": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- }
- },
- "cli-table3": {
- "version": "0.6.2",
- "bundled": true,
- "requires": {
- "@colors/colors": "1.5.0",
- "string-width": "^4.2.0"
- }
- },
- "clone": {
- "version": "1.0.4",
- "bundled": true
- },
- "cmd-shim": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "mkdirp-infer-owner": "^2.0.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "bundled": true
- },
- "color-support": {
- "version": "1.1.3",
- "bundled": true
- },
- "columnify": {
- "version": "1.6.0",
- "bundled": true,
- "requires": {
- "strip-ansi": "^6.0.1",
- "wcwidth": "^1.0.0"
- }
- },
- "common-ancestor-path": {
- "version": "1.0.1",
- "bundled": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true
- },
- "debug": {
- "version": "4.3.4",
- "bundled": true,
- "requires": {
- "ms": "2.1.2"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "bundled": true
- }
- }
- },
- "debuglog": {
- "version": "1.0.1",
- "bundled": true
- },
- "defaults": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "clone": "^1.0.2"
- }
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true
- },
- "depd": {
- "version": "1.1.2",
- "bundled": true
- },
- "dezalgo": {
- "version": "1.0.4",
- "bundled": true,
- "requires": {
- "asap": "^2.0.0",
- "wrappy": "1"
- }
- },
- "diff": {
- "version": "5.0.0",
- "bundled": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "bundled": true
- },
- "encoding": {
- "version": "0.1.13",
- "bundled": true,
- "optional": true,
- "requires": {
- "iconv-lite": "^0.6.2"
- }
- },
- "env-paths": {
- "version": "2.2.1",
- "bundled": true
- },
- "err-code": {
- "version": "2.0.3",
- "bundled": true
- },
- "fastest-levenshtein": {
- "version": "1.0.12",
- "bundled": true
- },
- "fs-minipass": {
- "version": "2.1.0",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true
- },
- "function-bind": {
- "version": "1.1.1",
- "bundled": true
- },
- "gauge": {
- "version": "4.0.4",
- "bundled": true,
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
- "glob": {
- "version": "8.0.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "bundled": true
- },
- "has": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "bundled": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true
- },
- "hosted-git-info": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "lru-cache": "^7.5.1"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "bundled": true
- },
- "http-proxy-agent": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "humanize-ms": {
- "version": "1.2.1",
- "bundled": true,
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.6.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "ignore-walk": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "minimatch": "^5.0.1"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "bundled": true
- },
- "indent-string": {
- "version": "4.0.0",
- "bundled": true
- },
- "infer-owner": {
- "version": "1.0.4",
- "bundled": true
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "bundled": true
- },
- "ini": {
- "version": "3.0.0",
- "bundled": true
- },
- "init-package-json": {
- "version": "3.0.2",
- "bundled": true,
- "requires": {
- "npm-package-arg": "^9.0.1",
- "promzard": "^0.3.0",
- "read": "^1.0.7",
- "read-package-json": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^4.0.0"
- }
- },
- "ip": {
- "version": "1.1.8",
- "bundled": true
- },
- "ip-regex": {
- "version": "4.3.0",
- "bundled": true
- },
- "is-cidr": {
- "version": "4.0.2",
- "bundled": true,
- "requires": {
- "cidr-regex": "^3.1.1"
- }
- },
- "is-core-module": {
- "version": "2.9.0",
- "bundled": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "bundled": true
- },
- "is-lambda": {
- "version": "1.0.1",
- "bundled": true
- },
- "isexe": {
- "version": "2.0.0",
- "bundled": true
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "bundled": true
- },
- "json-stringify-nice": {
- "version": "1.1.4",
- "bundled": true
- },
- "jsonparse": {
- "version": "1.3.1",
- "bundled": true
- },
- "just-diff": {
- "version": "5.0.3",
- "bundled": true
- },
- "just-diff-apply": {
- "version": "5.3.1",
- "bundled": true
- },
- "libnpmaccess": {
- "version": "6.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "minipass": "^3.1.1",
- "npm-package-arg": "^9.0.1",
- "npm-registry-fetch": "^13.0.0"
- }
- },
- "libnpmdiff": {
- "version": "4.0.4",
- "bundled": true,
- "requires": {
- "@npmcli/disparity-colors": "^2.0.0",
- "@npmcli/installed-package-contents": "^1.0.7",
- "binary-extensions": "^2.2.0",
- "diff": "^5.0.0",
- "minimatch": "^5.0.1",
- "npm-package-arg": "^9.0.1",
- "pacote": "^13.6.1",
- "tar": "^6.1.0"
- }
- },
- "libnpmexec": {
- "version": "4.0.8",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^5.0.0",
- "@npmcli/ci-detect": "^2.0.0",
- "@npmcli/run-script": "^4.1.3",
- "chalk": "^4.1.0",
- "mkdirp-infer-owner": "^2.0.0",
- "npm-package-arg": "^9.0.1",
- "npmlog": "^6.0.2",
- "pacote": "^13.6.1",
- "proc-log": "^2.0.0",
- "read": "^1.0.7",
- "read-package-json-fast": "^2.0.2",
- "walk-up-path": "^1.0.0"
- }
- },
- "libnpmfund": {
- "version": "3.0.2",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^5.0.0"
- }
- },
- "libnpmhook": {
- "version": "8.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^13.0.0"
- }
- },
- "libnpmorg": {
- "version": "4.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^13.0.0"
- }
- },
- "libnpmpack": {
- "version": "4.1.2",
- "bundled": true,
- "requires": {
- "@npmcli/run-script": "^4.1.3",
- "npm-package-arg": "^9.0.1",
- "pacote": "^13.6.1"
- }
- },
- "libnpmpublish": {
- "version": "6.0.4",
- "bundled": true,
- "requires": {
- "normalize-package-data": "^4.0.0",
- "npm-package-arg": "^9.0.1",
- "npm-registry-fetch": "^13.0.0",
- "semver": "^7.3.7",
- "ssri": "^9.0.0"
- }
- },
- "libnpmsearch": {
- "version": "5.0.3",
- "bundled": true,
- "requires": {
- "npm-registry-fetch": "^13.0.0"
- }
- },
- "libnpmteam": {
- "version": "4.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^13.0.0"
- }
- },
- "libnpmversion": {
- "version": "3.0.6",
- "bundled": true,
- "requires": {
- "@npmcli/git": "^3.0.0",
- "@npmcli/run-script": "^4.1.3",
- "json-parse-even-better-errors": "^2.3.1",
- "proc-log": "^2.0.0",
- "semver": "^7.3.7"
- }
- },
- "lru-cache": {
- "version": "7.12.0",
- "bundled": true
- },
- "make-fetch-happen": {
- "version": "10.2.0",
- "bundled": true,
- "requires": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^16.1.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^2.0.3",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^9.0.0"
- }
- },
- "minimatch": {
- "version": "5.1.0",
- "bundled": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "minipass": {
- "version": "3.3.4",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass-collect": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-fetch": {
- "version": "2.1.0",
- "bundled": true,
- "requires": {
- "encoding": "^0.1.13",
- "minipass": "^3.1.6",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
- }
- },
- "minipass-flush": {
- "version": "1.0.5",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-json-stream": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "jsonparse": "^1.3.1",
- "minipass": "^3.0.0"
- }
- },
- "minipass-pipeline": {
- "version": "1.2.4",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-sized": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "bundled": true
- },
- "mkdirp-infer-owner": {
- "version": "2.0.0",
- "bundled": true,
- "requires": {
- "chownr": "^2.0.0",
- "infer-owner": "^1.0.4",
- "mkdirp": "^1.0.3"
- }
- },
- "ms": {
- "version": "2.1.3",
- "bundled": true
- },
- "mute-stream": {
- "version": "0.0.8",
- "bundled": true
- },
- "negotiator": {
- "version": "0.6.3",
- "bundled": true
- },
- "node-gyp": {
- "version": "9.0.0",
- "bundled": true,
- "requires": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^10.0.3",
- "nopt": "^5.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "glob": {
- "version": "7.2.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "bundled": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "nopt": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-package-data": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "hosted-git-info": "^5.0.0",
- "is-core-module": "^2.8.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- }
- },
- "npm-audit-report": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "chalk": "^4.0.0"
- }
- },
- "npm-bundled": {
- "version": "1.1.2",
- "bundled": true,
- "requires": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-install-checks": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "semver": "^7.1.1"
- }
- },
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "bundled": true
- },
- "npm-package-arg": {
- "version": "9.1.0",
- "bundled": true,
- "requires": {
- "hosted-git-info": "^5.0.0",
- "proc-log": "^2.0.1",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^4.0.0"
- }
- },
- "npm-packlist": {
- "version": "5.1.1",
- "bundled": true,
- "requires": {
- "glob": "^8.0.1",
- "ignore-walk": "^5.0.1",
- "npm-bundled": "^1.1.2",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-pick-manifest": {
- "version": "7.0.1",
- "bundled": true,
- "requires": {
- "npm-install-checks": "^5.0.0",
- "npm-normalize-package-bin": "^1.0.1",
- "npm-package-arg": "^9.0.0",
- "semver": "^7.3.5"
- }
- },
- "npm-profile": {
- "version": "6.2.0",
- "bundled": true,
- "requires": {
- "npm-registry-fetch": "^13.0.1",
- "proc-log": "^2.0.0"
- }
- },
- "npm-registry-fetch": {
- "version": "13.3.0",
- "bundled": true,
- "requires": {
- "make-fetch-happen": "^10.0.6",
- "minipass": "^3.1.6",
- "minipass-fetch": "^2.0.3",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.1.2",
- "npm-package-arg": "^9.0.1",
- "proc-log": "^2.0.0"
- }
- },
- "npm-user-validate": {
- "version": "1.0.1",
- "bundled": true
- },
- "npmlog": {
- "version": "6.0.2",
- "bundled": true,
- "requires": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- }
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "opener": {
- "version": "1.5.2",
- "bundled": true
- },
- "p-map": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "pacote": {
- "version": "13.6.1",
- "bundled": true,
- "requires": {
- "@npmcli/git": "^3.0.0",
- "@npmcli/installed-package-contents": "^1.0.7",
- "@npmcli/promise-spawn": "^3.0.0",
- "@npmcli/run-script": "^4.1.0",
- "cacache": "^16.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "infer-owner": "^1.0.4",
- "minipass": "^3.1.6",
- "mkdirp": "^1.0.4",
- "npm-package-arg": "^9.0.0",
- "npm-packlist": "^5.1.0",
- "npm-pick-manifest": "^7.0.0",
- "npm-registry-fetch": "^13.0.1",
- "proc-log": "^2.0.0",
- "promise-retry": "^2.0.1",
- "read-package-json": "^5.0.0",
- "read-package-json-fast": "^2.0.3",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11"
- }
- },
- "parse-conflict-json": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^2.3.1",
- "just-diff": "^5.0.1",
- "just-diff-apply": "^5.2.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true
- },
- "proc-log": {
- "version": "2.0.1",
- "bundled": true
- },
- "promise-all-reject-late": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-call-limit": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-inflight": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-retry": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- }
- },
- "promzard": {
- "version": "0.3.0",
- "bundled": true,
- "requires": {
- "read": "1"
- }
- },
- "qrcode-terminal": {
- "version": "0.12.0",
- "bundled": true
- },
- "read": {
- "version": "1.0.7",
- "bundled": true,
- "requires": {
- "mute-stream": "~0.0.4"
- }
- },
- "read-cmd-shim": {
- "version": "3.0.0",
- "bundled": true
- },
- "read-package-json": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "glob": "^8.0.1",
- "json-parse-even-better-errors": "^2.3.1",
- "normalize-package-data": "^4.0.0",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "read-package-json-fast": {
- "version": "2.0.3",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^2.3.0",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "bundled": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "readdir-scoped-modules": {
- "version": "1.1.0",
- "bundled": true,
- "requires": {
- "debuglog": "^1.0.1",
- "dezalgo": "^1.0.0",
- "graceful-fs": "^4.1.2",
- "once": "^1.3.0"
- }
- },
- "retry": {
- "version": "0.12.0",
- "bundled": true
- },
- "rimraf": {
- "version": "3.0.2",
- "bundled": true,
- "requires": {
- "glob": "^7.1.3"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "glob": {
- "version": "7.2.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "bundled": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "bundled": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "7.3.7",
- "bundled": true,
- "requires": {
- "lru-cache": "^6.0.0"
- },
- "dependencies": {
- "lru-cache": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true
- },
- "signal-exit": {
- "version": "3.0.7",
- "bundled": true
- },
- "smart-buffer": {
- "version": "4.2.0",
- "bundled": true
- },
- "socks": {
- "version": "2.6.2",
- "bundled": true,
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.2.0"
- }
- },
- "socks-proxy-agent": {
- "version": "7.0.0",
- "bundled": true,
- "requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- }
- },
- "spdx-correct": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "bundled": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.11",
- "bundled": true
- },
- "ssri": {
- "version": "9.0.1",
- "bundled": true,
- "requires": {
- "minipass": "^3.1.1"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "bundled": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "bundled": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "bundled": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "bundled": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "tar": {
- "version": "6.1.11",
- "bundled": true,
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- },
- "text-table": {
- "version": "0.2.0",
- "bundled": true
- },
- "tiny-relative-date": {
- "version": "1.3.0",
- "bundled": true
- },
- "treeverse": {
- "version": "2.0.0",
- "bundled": true
- },
- "unique-filename": {
- "version": "1.1.1",
- "bundled": true,
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "validate-npm-package-name": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "builtins": "^5.0.0"
- }
- },
- "walk-up-path": {
- "version": "1.0.0",
- "bundled": true
- },
- "wcwidth": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "defaults": "^1.0.3"
- }
- },
- "which": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wide-align": {
- "version": "1.1.5",
- "bundled": true,
- "requires": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- },
- "write-file-atomic": {
- "version": "4.0.1",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "bundled": true
- }
- }
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
- },
- "object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
- },
- "object-inspect": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
- },
- "objects-to-csv": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/objects-to-csv/-/objects-to-csv-1.3.6.tgz",
- "integrity": "sha512-383eSpS3hmgCksW85KIqBtcbgSW5DDVsCmzLoM6C3q4yzOX2rmtWxF4pbLJ76fz+ufA+4/SwAT4QdaY6IUWmAg==",
- "requires": {
- "async-csv": "^2.1.3"
- }
- },
- "on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "requires": {
- "wrappy": "1"
- }
- },
- "one-time": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
- "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
- "requires": {
- "fn.name": "1.x.x"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- }
- },
- "os-name": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz",
- "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==",
- "requires": {
- "macos-release": "^2.5.0",
- "windows-release": "^4.0.0"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="
- },
- "p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "path-to-regexp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz",
- "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA=="
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "pirates": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
- "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
- "dev": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
- },
- "prettier": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
- "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
- "dev": true
- },
- "prettier-linter-helpers": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
- "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
- "dev": true,
- "requires": {
- "fast-diff": "^1.1.2"
- }
- },
- "pretty-format": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
- "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "prompts": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
- "dev": true,
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- }
- },
- "proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- },
- "qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "qss": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/qss/-/qss-2.0.3.tgz",
- "integrity": "sha512-j48ZBT5IZbSqJiSU8EX4XrN8nXiflHvmMvv2XpFc31gh7n6EpSs75bNr6+oj3FOLWyT8m09pTmqLNl34L7/uPQ=="
- },
- "querystring": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
- "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg=="
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- },
- "raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- }
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
- "requires": {
- "resolve": "^1.1.6"
- }
- },
- "reflect-metadata": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
- "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
- },
- "regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
- },
- "resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "requires": {
- "is-core-module": "^2.8.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-alpn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- },
- "dependencies": {
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- }
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
- },
- "resolve.exports": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz",
- "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==",
- "dev": true
- },
- "responselike": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
- "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
- "requires": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "requires": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- }
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "rxjs": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz",
- "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==",
- "requires": {
- "tslib": "^2.1.0"
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
- },
- "safe-stable-stringify": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
- "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "requires": {}
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- }
- }
- },
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "requires": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- }
- }
- },
- "serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- }
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
- },
- "simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
- "requires": {
- "is-arrayish": "^0.3.1"
- },
- "dependencies": {
- "is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
- }
- }
- },
- "sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
- },
- "source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
- },
- "spawn-command": {
- "version": "0.0.2-1",
- "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
- "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg=="
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
- },
- "stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="
- },
- "stack-utils": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz",
- "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- }
- }
- },
- "statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
- },
- "stream-transform": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
- "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==",
- "requires": {
- "mixme": "^0.5.1"
- }
- },
- "streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- }
- }
- },
- "string-length": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
- "dev": true,
- "requires": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- },
- "superagent": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz",
- "integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==",
- "dev": true,
- "requires": {
- "component-emitter": "^1.3.0",
- "cookiejar": "^2.1.3",
- "debug": "^4.3.4",
- "fast-safe-stringify": "^2.1.1",
- "form-data": "^4.0.0",
- "formidable": "^2.0.1",
- "methods": "^1.1.2",
- "mime": "^2.5.0",
- "qs": "^6.10.3",
- "readable-stream": "^3.6.0",
- "semver": "^7.3.7"
- },
- "dependencies": {
- "mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
- "dev": true
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "supertest": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.3.tgz",
- "integrity": "sha512-3GSdMYTMItzsSYjnIcljxMVZKPW1J9kYHZY+7yLfD0wpPwww97GeImZC1oOk0S5+wYl2niJwuFusBJqwLqYM3g==",
- "dev": true,
- "requires": {
- "methods": "^1.1.2",
- "superagent": "^7.1.3"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-hyperlinks": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
- "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
- },
- "symbol-observable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
- "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ=="
- },
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
- },
- "terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- }
- },
- "terser": {
- "version": "5.14.2",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
- "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
- "requires": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
- }
- }
- },
- "terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
- "requires": {
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "dependencies": {
- "jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "text-hex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
- "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
- },
- "throat": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
- "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
- },
- "tmpl": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "tree-kill": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="
- },
- "triple-beam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
- },
- "ts-jest": {
- "version": "28.0.1",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.1.tgz",
- "integrity": "sha512-PbkbitaT/9ZYAqqzk3UYTvCq080Seo46T3m/AdwcZ0D8WH2uBhG6PvA8oOAWsZIknzPQU66fYobvFCL8IqIhmg==",
- "dev": true,
- "requires": {
- "bs-logger": "0.x",
- "fast-json-stable-stringify": "2.x",
- "jest-util": "^28.0.0",
- "json5": "2.x",
- "lodash.memoize": "4.x",
- "make-error": "1.x",
- "semver": "7.x",
- "yargs-parser": "^20.x"
- }
- },
- "ts-loader": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz",
- "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.0.0",
- "micromatch": "^4.0.0",
- "semver": "^7.3.4"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- }
- }
- },
- "ts-node": {
- "version": "10.7.0",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz",
- "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-support": "0.7.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.0",
- "yn": "3.1.1"
- }
- },
- "tsconfig-paths": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.0.0.tgz",
- "integrity": "sha512-SLBg2GBKlR6bVtMgJJlud/o3waplKtL7skmLkExomIiaAtLGtVsoXIqP3SYdjbcH9lq/KVv7pMZeCBpLYOit6Q==",
- "dev": true,
- "requires": {
- "json5": "^2.2.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true
- }
- }
- },
- "tsconfig-paths-webpack-plugin": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz",
- "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==",
- "requires": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.7.0",
- "tsconfig-paths": "^3.9.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
- },
- "tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "requires": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- }
- }
- },
- "tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- },
- "tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
- },
- "typescript": {
- "version": "4.6.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
- "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg=="
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
- },
- "v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
- "v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "v8-to-istanbul": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz",
- "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==",
- "dev": true,
- "requires": {
- "@jridgewell/trace-mapping": "^0.3.7",
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0"
- }
- },
- "validator": {
- "version": "13.7.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
- "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw=="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
- },
- "walker": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
- "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
- "dev": true,
- "requires": {
- "makeerror": "1.0.12"
- }
- },
- "watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
- "requires": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- }
- },
- "wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
- "requires": {
- "defaults": "^1.0.3"
- }
- },
- "web-streams-polyfill": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
- "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q=="
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "webpack": {
- "version": "5.72.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz",
- "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-node-externals": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz",
- "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ=="
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "windows-release": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz",
- "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==",
- "requires": {
- "execa": "^4.0.2"
- },
- "dependencies": {
- "execa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
- "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
- "requires": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.0",
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- }
- },
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "human-signals": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw=="
- }
- }
- },
- "winston": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz",
- "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==",
- "requires": {
- "@dabh/diagnostics": "^2.0.2",
- "async": "^3.2.3",
- "is-stream": "^2.0.0",
- "logform": "^2.4.0",
- "one-time": "^1.0.0",
- "readable-stream": "^3.4.0",
- "safe-stable-stringify": "^2.3.1",
- "stack-trace": "0.0.x",
- "triple-beam": "^1.3.0",
- "winston-transport": "^4.5.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "winston-transport": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
- "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
- "requires": {
- "logform": "^2.3.2",
- "readable-stream": "^3.6.0",
- "triple-beam": "^1.3.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "write-file-atomic": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
- "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- }
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
- },
- "yargs": {
- "version": "17.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
- "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
- },
- "dependencies": {
- "yargs-parser": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
- "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
- "dev": true
- }
- }
- },
- "yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- },
- "yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index 37945494..00000000
--- a/package.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "name": "commerce-tools-integration",
- "version": "5.2.2",
- "description": "",
- "author": "",
- "private": true,
- "license": "MIT",
- "scripts": {
- "prebuild": "rimraf dist",
- "build": "nest build",
- "command": "nest start --config nest-commander.json --",
- "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
- "dev": "nest start --watch",
- "dev:attach": "nest start --watch --config nest-dev-attached.json",
- "dev:debug": "nest start --debug --watch",
- "start": "node dist/main",
- "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
- "test": "jest",
- "test:watch": "jest --watch",
- "test:cov": "jest --coverage",
- "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
- "test:e2e": "jest --config ./test/jest-e2e.json",
- "prepare": "husky install",
- "config": "nest start --config nest-commander.json -- config",
- "api-extension-list": "nest start --config nest-commander.json -- integration-list",
- "api-extension-add": "nest start --config nest-commander.json -- integration-add",
- "api-extension-update": "nest start --config nest-commander.json -- integration-update",
- "api-extension-delete": "nest start --config nest-commander.json -- integration-delete",
- "migrate": "nest start --config nest-commander.json -- migrate"
- },
- "dependencies": {
- "@commercetools/platform-sdk": "^2.7.0",
- "@commercetools/sdk-auth": "^3.0.13",
- "@commercetools/sdk-client-v2": "^1.4.0",
- "@nestjs/cli": "^8.0.0",
- "@nestjs/common": "^8.0.0",
- "@nestjs/config": "^2.0.0",
- "@nestjs/core": "^8.0.0",
- "@nestjs/platform-express": "^8.0.0",
- "@voucherify/sdk": "^2.0.15",
- "async": "^3.2.3",
- "class-transformer": "^0.5.1",
- "class-validator": "^0.13.2",
- "cli-table": "^0.3.11",
- "concurrently": "^7.1.0",
- "flat": "^5.0.2",
- "form-data": "^4.0.0",
- "install": "^0.13.0",
- "joi": "^17.6.0",
- "loading-cli": "^1.1.0",
- "mkdirp": "^1.0.4",
- "nest-commander": "^2.5.0",
- "nest-winston": "^1.7.0",
- "ngrok": "^4.3.1",
- "node-fetch": "^3.2.10",
- "node-fetch2": "npm:node-fetch@^2.6.7",
- "nodejs-base64": "^2.0.0",
- "npm": "^8.15.0",
- "objects-to-csv": "^1.3.6",
- "reflect-metadata": "^0.1.13",
- "rimraf": "^3.0.2",
- "rxjs": "^7.2.0",
- "winston": "^3.8.1"
- },
- "devDependencies": {
- "@nestjs/schematics": "^8.0.0",
- "@nestjs/testing": "^8.0.0",
- "@types/express": "^4.17.13",
- "@types/flat": "^5.0.2",
- "@types/jest": "27.5.0",
- "@types/node": "^16.0.0",
- "@types/supertest": "^2.0.11",
- "@typescript-eslint/eslint-plugin": "^5.0.0",
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^8.0.1",
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-prettier": "^4.0.0",
- "husky": "^7.0.4",
- "jest": "28.0.3",
- "prettier": "^2.3.2",
- "source-map-support": "^0.5.20",
- "supertest": "^6.1.3",
- "ts-jest": "28.0.1",
- "ts-loader": "^9.2.3",
- "ts-node": "^10.0.0",
- "tsconfig-paths": "4.0.0",
- "typescript": "^4.3.5",
- "webpack": "^5.72.0"
- },
- "jest": {
- "clearMocks": true,
- "moduleFileExtensions": [
- "js",
- "json",
- "ts"
- ],
- "rootDir": "src",
- "testRegex": ".*\\.spec\\.ts$",
- "transform": {
- "^.+\\.(t|j)s$": "ts-jest"
- },
- "collectCoverageFrom": [
- "**/*.(t|j)s"
- ],
- "coverageDirectory": "../coverage",
- "testEnvironment": "node"
- }
-}
diff --git a/src/commercetools/__mocks__/commerce-tools-connector.service.ts b/src/commercetools/__mocks__/commerce-tools-connector.service.ts
deleted file mode 100644
index e1877a4e..00000000
--- a/src/commercetools/__mocks__/commerce-tools-connector.service.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { CommercetoolsConnectorService } from '../commercetools-connector.service';
-
-export const getCommerceToolsConnectorServiceMockWithEmptyProductResponse =
- () => {
- const commerceToolsConnectoService = jest.createMockFromModule(
- '../commercetools-connector.service',
- ) as CommercetoolsConnectorService & { getProductMock: jest.Mock };
- const products: any = {
- body: {
- results: [],
- },
- };
-
- commerceToolsConnectoService.getProductMock = jest
- .fn()
- .mockReturnValue(products);
-
- commerceToolsConnectoService.getClient = jest.fn().mockReturnValue({
- products: jest.fn().mockReturnValue({
- get: jest.fn().mockReturnValue({
- execute: commerceToolsConnectoService.getProductMock,
- }),
- }),
- });
-
- return commerceToolsConnectoService;
- };
-
-type Product = {
- sku: string;
- price: number;
- id: string;
-};
-export const getCommerceToolsConnectorServiceMockWithProductResponse = (
- product: Product,
-) => {
- const commerceToolsConnectorService = jest.createMockFromModule(
- '../commercetools-connector.service',
- ) as CommercetoolsConnectorService;
-
- const products: any = {
- body: {
- results: [
- {
- id: product.id,
- masterData: {
- current: {
- variants: [
- {
- sku: product.sku,
- prices: [
- {
- value: {
- centAmount: product.price,
- currencyCode: 'EUR',
- },
- },
- ],
- },
- ],
- },
- },
- },
- ],
- },
- };
-
- commerceToolsConnectorService.getClient = jest.fn().mockReturnValue({
- products: jest.fn().mockReturnValue({
- get: jest.fn().mockReturnValue({
- execute: jest.fn().mockReturnValue(products),
- }),
- }),
- });
-
- return commerceToolsConnectorService;
-};
diff --git a/src/commercetools/store-actions/order-paid-actions.ts b/src/commercetools/store-actions/order-paid-actions.ts
deleted file mode 100644
index 412fafa9..00000000
--- a/src/commercetools/store-actions/order-paid-actions.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Payment } from '@commercetools/platform-sdk';
-import { ByProjectKeyRequestBuilder } from '@commercetools/platform-sdk/dist/declarations/src/generated/client/by-project-key-request-builder';
-import { Order as CommerceToolsOrder } from '@commercetools/platform-sdk/dist/declarations/src/generated/models/order';
-import { CUSTOM_FIELD_PREFIX } from '../../consts/voucherify';
-import { deleteObjectsFromObject } from '../utils/deleteObjectsFromObject';
-import flatten from 'flat';
-
-const CUSTOM_FIELD_PREFIX_LENGTH = CUSTOM_FIELD_PREFIX.length;
-
-export class OrderPaidActions implements OrderPaidActions {
- private ctClient: ByProjectKeyRequestBuilder;
- public setCtClient(value: ByProjectKeyRequestBuilder) {
- this.ctClient = value;
- }
-
- public async findPayment(id: string): Promise {
- return (await this.ctClient.payments().withId({ ID: id }).get().execute())
- ?.body;
- }
-
- public async getCustomMetadataForOrder(
- order: CommerceToolsOrder,
- orderMetadataSchemaProperties: string[],
- ): Promise<{ [key: string]: string }> {
- const customMetaProperties = orderMetadataSchemaProperties.filter(
- (key) =>
- key.length > CUSTOM_FIELD_PREFIX_LENGTH &&
- key.slice(0, CUSTOM_FIELD_PREFIX_LENGTH) === CUSTOM_FIELD_PREFIX,
- );
-
- const metadata = {};
-
- const addToMataData = (variable: any, name: string) => {
- if (typeof variable !== 'object') {
- return (metadata[name] = variable);
- }
- if (Array.isArray(variable)) {
- const newArray = [];
- variable.forEach((element) => {
- if (typeof variable !== 'object') {
- newArray.push(element);
- } else {
- newArray.push(deleteObjectsFromObject(flatten(element)));
- }
- });
- return (metadata[name] = newArray);
- }
- if (typeof variable === 'object') {
- return (metadata[name] = deleteObjectsFromObject(flatten(variable)));
- }
- return;
- };
-
- if (order?.custom?.fields && customMetaProperties.length) {
- customMetaProperties.forEach((key) => {
- if (order.custom.fields?.[key.slice(CUSTOM_FIELD_PREFIX_LENGTH)]) {
- addToMataData(
- order.custom.fields[key.slice(CUSTOM_FIELD_PREFIX_LENGTH)],
- key,
- );
- }
- });
- }
-
- if (orderMetadataSchemaProperties.includes('payments')) {
- const payments = [];
- const paymentReferences = order?.paymentInfo?.payments ?? [];
- for await (const paymentReference of paymentReferences) {
- payments.push(await this.findPayment(paymentReference.id));
- }
- metadata['payments'] = payments
- .filter((payment) => payment?.id)
- .map((payment) => deleteObjectsFromObject(flatten(payment)));
- }
- return metadata;
- }
-}
diff --git a/src/integration/utils/mappers/getMissingProductsToAdd.ts b/src/integration/utils/mappers/getMissingProductsToAdd.ts
deleted file mode 100644
index 86138b44..00000000
--- a/src/integration/utils/mappers/getMissingProductsToAdd.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { ProductsFromRedeemables, ProductToAdd } from '../../types';
-
-export const getMissingProductsToAdd = (
- productsFromRedeemables: ProductsFromRedeemables[],
- productsToAdd: ProductToAdd[],
-): { code: string; quantity: number; product: string }[] => {
- const missingProductsToAdd = [];
- productsFromRedeemables.forEach((expectedProductToAdd) => {
- const sameExpectedProductsToAdd = productsFromRedeemables.filter(
- (expectedProductToAdd_) =>
- expectedProductToAdd.code === expectedProductToAdd_.code &&
- expectedProductToAdd.quantity === expectedProductToAdd_.quantity &&
- expectedProductToAdd.product === expectedProductToAdd_.product,
- );
- const productsToAddSameAsExpectedProductsToAdd = productsToAdd.filter(
- (expectedProductTopAdd_) =>
- expectedProductToAdd.code === expectedProductTopAdd_.code &&
- expectedProductToAdd.quantity === expectedProductTopAdd_.quantity &&
- expectedProductToAdd.product === expectedProductTopAdd_.product,
- );
- if (
- sameExpectedProductsToAdd.length !==
- productsToAddSameAsExpectedProductsToAdd.length
- ) {
- missingProductsToAdd.push(expectedProductToAdd);
- }
- });
- return missingProductsToAdd;
-};
diff --git a/src/integration/utils/mappers/getProductsFromRedeemables.ts b/src/integration/utils/mappers/getProductsFromRedeemables.ts
deleted file mode 100644
index 70313433..00000000
--- a/src/integration/utils/mappers/getProductsFromRedeemables.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { StackableRedeemableResponse } from '@voucherify/sdk';
-import { ProductsFromRedeemables } from '../../types';
-
-export const getProductsFromRedeemables = (
- redeemables: StackableRedeemableResponse[],
-): ProductsFromRedeemables[] => {
- const expectedProductsToAdd = [];
- redeemables.forEach((redeemable) => {
- const discount = redeemable?.result?.discount;
- const code = redeemable.id;
- if (!discount) {
- return;
- }
- if (!discount?.units?.length) {
- return expectedProductsToAdd.push({
- code,
- quantity: discount?.unit_off,
- product: discount?.sku?.source_id,
- });
- }
- discount.units.forEach((unit) =>
- expectedProductsToAdd.push({
- code,
- quantity: unit?.unit_off,
- product: unit?.sku?.source_id,
- }),
- );
- });
- return expectedProductsToAdd;
-};
diff --git a/test/app.e2e-spec.ts b/test/app.e2e-spec.ts
deleted file mode 100644
index 50cda623..00000000
--- a/test/app.e2e-spec.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Test, TestingModule } from '@nestjs/testing';
-import { INestApplication } from '@nestjs/common';
-import * as request from 'supertest';
-import { AppModule } from './../src/app.module';
-
-describe('AppController (e2e)', () => {
- let app: INestApplication;
-
- beforeEach(async () => {
- const moduleFixture: TestingModule = await Test.createTestingModule({
- imports: [AppModule],
- }).compile();
-
- app = moduleFixture.createNestApplication();
- await app.init();
- });
-
- it('/ (GET)', () => {
- return request(app.getHttpServer())
- .get('/')
- .expect(200)
- .expect('Hello World!');
- });
-});
diff --git a/.env.example b/voucherify-service/.env.example
similarity index 100%
rename from .env.example
rename to voucherify-service/.env.example
diff --git a/.eslintrc.js b/voucherify-service/.eslintrc.js
similarity index 100%
rename from .eslintrc.js
rename to voucherify-service/.eslintrc.js
diff --git a/voucherify-service/.gitignore b/voucherify-service/.gitignore
new file mode 100644
index 00000000..8db923ae
--- /dev/null
+++ b/voucherify-service/.gitignore
@@ -0,0 +1,44 @@
+# compiled output
+/dist
+/node_modules
+
+# Logs
+logs
+*.log
+npm-debug.log*
+pnpm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+
+# json requests / responses
+json
+
+# OS
+.DS_Store
+
+# Tests
+/coverage
+/.nyc_output
+
+# IDEs and editors
+/.idea
+.project
+.classpath
+.c9/
+*.launch
+.settings/
+*.sublime-workspace
+
+# IDE - VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+# configuration
+.env
+.env-local
+*.icloud
+/label-*.json
diff --git a/.husky/pre-commit b/voucherify-service/.husky/pre-commit
similarity index 100%
rename from .husky/pre-commit
rename to voucherify-service/.husky/pre-commit
diff --git a/.prettierrc b/voucherify-service/.prettierrc
similarity index 100%
rename from .prettierrc
rename to voucherify-service/.prettierrc
diff --git a/API_temp_file.md b/voucherify-service/API_temp_file.md
similarity index 100%
rename from API_temp_file.md
rename to voucherify-service/API_temp_file.md
diff --git a/voucherify-service/Procfile b/voucherify-service/Procfile
new file mode 100644
index 00000000..bef5264b
--- /dev/null
+++ b/voucherify-service/Procfile
@@ -0,0 +1 @@
+web: npm run start
\ No newline at end of file
diff --git a/nest-cli.json b/voucherify-service/nest-cli.json
similarity index 100%
rename from nest-cli.json
rename to voucherify-service/nest-cli.json
diff --git a/nest-commander.json b/voucherify-service/nest-commander.json
similarity index 100%
rename from nest-commander.json
rename to voucherify-service/nest-commander.json
diff --git a/nest-dev-attached.json b/voucherify-service/nest-dev-attached.json
similarity index 100%
rename from nest-dev-attached.json
rename to voucherify-service/nest-dev-attached.json
diff --git a/voucherify-service/package-lock.json b/voucherify-service/package-lock.json
new file mode 100644
index 00000000..ef9128bc
--- /dev/null
+++ b/voucherify-service/package-lock.json
@@ -0,0 +1,9490 @@
+{
+ "name": "commerce-tools-integration",
+ "version": "6.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "commerce-tools-integration",
+ "version": "6.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@commercetools/platform-sdk": "2.7.0",
+ "@commercetools/sdk-auth": "3.0.13",
+ "@commercetools/sdk-client-v2": "1.4.0",
+ "@nestjs/cli": "9.5.0",
+ "@nestjs/common": "9.4.3",
+ "@nestjs/config": "2.3.3",
+ "@nestjs/core": "9.4.3",
+ "@nestjs/platform-express": "9.4.3",
+ "@voucherify/sdk": "2.7.0",
+ "async": "3.2.3",
+ "class-transformer": "0.5.1",
+ "class-validator": "0.14.0",
+ "cli-table": "0.3.11",
+ "concurrently": "7.1.0",
+ "flat": "5.0.2",
+ "form-data": "4.0.0",
+ "install": "0.13.0",
+ "joi": "17.6.0",
+ "loading-cli": "1.1.0",
+ "mkdirp": "1.0.4",
+ "nest-commander": "3.8.0",
+ "nest-winston": "1.7.0",
+ "ngrok": "5.0.0-beta.2",
+ "node-fetch": "3.2.10",
+ "node-fetch2": "npm:node-fetch@2.6.7",
+ "nodejs-base64": "2.0.0",
+ "objects-to-csv": "1.3.6",
+ "reflect-metadata": "0.1.13",
+ "rimraf": "3.0.2",
+ "rxjs": "7.8.1",
+ "winston": "3.8.1"
+ },
+ "devDependencies": {
+ "@nestjs/schematics": "8.0.11",
+ "@nestjs/testing": "9.4.3",
+ "@types/express": "4.17.13",
+ "@types/flat": "5.0.2",
+ "@types/jest": "27.5.0",
+ "@types/node": "16.11.33",
+ "@types/supertest": "2.0.12",
+ "@typescript-eslint/eslint-plugin": "5.22.0",
+ "@typescript-eslint/parser": "5.22.0",
+ "eslint": "8.14.0",
+ "eslint-config-prettier": "8.5.0",
+ "eslint-plugin-prettier": "4.0.0",
+ "jest": "28.0.3",
+ "prettier": "2.6.2",
+ "source-map-support": "0.5.21",
+ "supertest": "6.2.3",
+ "ts-jest": "28.0.1",
+ "ts-loader": "9.3.0",
+ "ts-node": "10.7.0",
+ "tsconfig-paths": "4.0.0",
+ "typescript": "4.9.5",
+ "webpack": "5.86.0"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@angular-devkit/core": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.1.tgz",
+ "integrity": "sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==",
+ "dependencies": {
+ "ajv": "8.12.0",
+ "ajv-formats": "2.1.1",
+ "jsonc-parser": "3.2.0",
+ "rxjs": "7.8.1",
+ "source-map": "0.7.4"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ },
+ "peerDependencies": {
+ "chokidar": "^3.5.2"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@angular-devkit/core/node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@angular-devkit/core/node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
+ },
+ "node_modules/@angular-devkit/core/node_modules/source-map": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@angular-devkit/schematics": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.1.tgz",
+ "integrity": "sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==",
+ "dependencies": {
+ "@angular-devkit/core": "16.0.1",
+ "jsonc-parser": "3.2.0",
+ "magic-string": "0.30.0",
+ "ora": "5.4.1",
+ "rxjs": "7.8.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ }
+ },
+ "node_modules/@angular-devkit/schematics-cli": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-16.0.1.tgz",
+ "integrity": "sha512-6KLA125dpgd6oJGtiO2JpZAb92uOG3njQGIt7NFcuQGW/5GO7J41vMXH9cBAfdtbV8SIggSmR/cIEE9ijfj6YQ==",
+ "dependencies": {
+ "@angular-devkit/core": "16.0.1",
+ "@angular-devkit/schematics": "16.0.1",
+ "ansi-colors": "4.1.3",
+ "inquirer": "8.2.4",
+ "symbol-observable": "4.0.0",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "schematics": "bin/schematics.js"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ }
+ },
+ "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@angular-devkit/schematics-cli/node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@angular-devkit/schematics/node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
+ },
+ "node_modules/@angular-devkit/schematics/node_modules/magic-string": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+ "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "dependencies": {
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.17.10",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
+ "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.17.10",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
+ "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.10",
+ "@babel/helper-compilation-targets": "^7.17.10",
+ "@babel/helper-module-transforms": "^7.17.7",
+ "@babel/helpers": "^7.17.9",
+ "@babel/parser": "^7.17.10",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.10",
+ "@babel/types": "^7.17.10",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+ "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.23.6",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.17.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
+ "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.17.10",
+ "@babel/helper-validator-option": "^7.16.7",
+ "browserslist": "^4.20.2",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
+ "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
+ "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.17.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
+ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
+ "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+ "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.17.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz",
+ "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
+ "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.6",
+ "@babel/types": "^7.23.6",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+ "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/@commercetools/platform-sdk": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-2.7.0.tgz",
+ "integrity": "sha512-xm3IT0WP/5NL4vmB/9TSS19+z8ghkHmEmb9n5kXu5GC+wiR/Z6pcpt/BYUR2MuRTqjsq167MThH15jHgWypaQw==",
+ "dependencies": {
+ "@commercetools/sdk-client-v2": "^1.4.0",
+ "@commercetools/sdk-middleware-auth": "^6.0.4",
+ "@commercetools/sdk-middleware-http": "^6.0.4",
+ "@commercetools/sdk-middleware-logger": "^2.1.1",
+ "querystring": "^0.2.1"
+ }
+ },
+ "node_modules/@commercetools/sdk-auth": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/@commercetools/sdk-auth/-/sdk-auth-3.0.13.tgz",
+ "integrity": "sha512-Y+E+oYwQeY4PHu4HBBeNyieQsDoG/f7axHlQXDgdnVcLkyPDHsMHYMiOT8p5MAl+VFCA7F31z9y7x/QUmyyT5Q==",
+ "dependencies": {
+ "@commercetools/sdk-middleware-http": "^6.1.1",
+ "lodash.defaultsdeep": "^4.6.0",
+ "qss": "2.0.3"
+ }
+ },
+ "node_modules/@commercetools/sdk-client-v2": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@commercetools/sdk-client-v2/-/sdk-client-v2-1.4.0.tgz",
+ "integrity": "sha512-JYGDQVJtrPsU9keGM6HSIUAwTJtLqEWWEsaLJaDct3ciRc9orNLRn65pPhfXzZkg0kw2c6SkmG8HEEDQbOq0xg==",
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "node-fetch": "^2.6.1",
+ "querystring": "^0.2.1"
+ }
+ },
+ "node_modules/@commercetools/sdk-client-v2/node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@commercetools/sdk-middleware-auth": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-auth/-/sdk-middleware-auth-6.2.1.tgz",
+ "integrity": "sha512-JNVRVf7zssECg0i/amAG0gnFmx4Kj7rB0J9MfRlvN/54qyA6tKJOJaA5j9hYy60qKSW/NCGbVMcVlBnPJLhREQ==",
+ "dependencies": {
+ "node-fetch": "^2.6.7"
+ }
+ },
+ "node_modules/@commercetools/sdk-middleware-auth/node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@commercetools/sdk-middleware-http": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-http/-/sdk-middleware-http-6.2.0.tgz",
+ "integrity": "sha512-3E1nV+awhP0eeFuyChxgbaPF5CWWH0PvGZO9FtNl/mirlYjGbXAHO4Ql5tG4/G+CywlXI9XVA9wKSwxG0kgwgA=="
+ },
+ "node_modules/@commercetools/sdk-middleware-logger": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@commercetools/sdk-middleware-logger/-/sdk-middleware-logger-2.1.1.tgz",
+ "integrity": "sha512-k/Jm3lsWbszPBHtPAvu0rINTq398p4ddv0zbAH8R4p6Yc1GkBEy6tNgHPzX/eFskI/qerPy9IsW1xK8pqgtHHQ=="
+ },
+ "node_modules/@cspotcode/source-map-consumer": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
+ "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
+ "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
+ "dev": true,
+ "dependencies": {
+ "@cspotcode/source-map-consumer": "0.8.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@dabh/diagnostics": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
+ "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
+ "dependencies": {
+ "colorspace": "1.1.x",
+ "enabled": "2.0.x",
+ "kuler": "^2.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz",
+ "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.3.1",
+ "globals": "^13.9.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/@golevelup/nestjs-discovery": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@golevelup/nestjs-discovery/-/nestjs-discovery-3.0.0.tgz",
+ "integrity": "sha512-ZvkXtobTKxXB1LJanP/l6Z/Fing88IMBr3uabQpU2IWjfsstjh02qYDSU2cfD6CSmNldX5ewW5Pd+SdK2lU8Sw==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/@hapi/hoek": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
+ },
+ "node_modules/@hapi/topo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.0.2.tgz",
+ "integrity": "sha512-tiRpnMeeyQuuzgL5UNSeiqMwF8UOWPbAE5rzcu/1zyq4oPG2Ox6xm4YCOruwbp10F8odWc+XwVxTyGzMSLMqxA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^28.0.2",
+ "jest-util": "^28.0.2",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.0.3.tgz",
+ "integrity": "sha512-cCQW06vEZ+5r50SB06pOnSWsOBs7F+lswPYnKKfBz1ncLlj1sMqmvjgam8q40KhlZ8Ut4eNAL2Hvfx4BKIO2FA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^28.0.2",
+ "@jest/reporters": "^28.0.3",
+ "@jest/test-result": "^28.0.2",
+ "@jest/transform": "^28.0.3",
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^28.0.2",
+ "jest-config": "^28.0.3",
+ "jest-haste-map": "^28.0.2",
+ "jest-message-util": "^28.0.2",
+ "jest-regex-util": "^28.0.2",
+ "jest-resolve": "^28.0.3",
+ "jest-resolve-dependencies": "^28.0.3",
+ "jest-runner": "^28.0.3",
+ "jest-runtime": "^28.0.3",
+ "jest-snapshot": "^28.0.3",
+ "jest-util": "^28.0.2",
+ "jest-validate": "^28.0.2",
+ "jest-watcher": "^28.0.2",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^28.0.2",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/core/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/core/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/@jest/environment": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.0.2.tgz",
+ "integrity": "sha512-IvI7dEfqVEffDYlw9FQfVBt6kXt/OI38V7QUIur0ulOQgzpKYJDVvLzj4B1TVmHWTGW5tcnJdlZ3hqzV6/I9Qg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/fake-timers": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "jest-mock": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/expect": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.0.3.tgz",
+ "integrity": "sha512-VEzZr85bqNomgayQkR7hWG5HnbZYWYWagQriZsixhLmOzU6PCpMP61aeVhkCoRrg7ri5f7JDpeTPzDAajIwFHw==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^28.0.2",
+ "jest-snapshot": "^28.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/expect-utils": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.0.2.tgz",
+ "integrity": "sha512-YryfH2zN5c7M8eLtn9oTBRj1sfD+X4cHNXJnTejqCveOS33wADEZUxJ7de5++lRvByNpRpfAnc8zTK7yrUJqgA==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.0.2.tgz",
+ "integrity": "sha512-R75yUv+WeybPa4ZVhX9C+8XN0TKjUoceUX+/QEaDVQGxZZOK50eD74cs7iMDTtpodh00d8iLlc9197vgF6oZjA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "@sinonjs/fake-timers": "^9.1.1",
+ "@types/node": "*",
+ "jest-message-util": "^28.0.2",
+ "jest-mock": "^28.0.2",
+ "jest-util": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.0.3.tgz",
+ "integrity": "sha512-q/zXYI6CKtTSIt1WuTHBYizJhH7K8h+xG5PE3C0oawLlPIvUMDYmpj0JX0XsJwPRLCsz/fYXHZVG46AaEhSPmw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^28.0.2",
+ "@jest/expect": "^28.0.3",
+ "@jest/types": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.0.3.tgz",
+ "integrity": "sha512-xrbIc7J/xwo+D7AY3enAR9ZWYCmJ8XIkstTukTGpKDph0gLl/TJje9jl3dssvE4KJzYqMKiSrnE5Nt68I4fTEg==",
+ "dev": true,
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^28.0.2",
+ "@jest/test-result": "^28.0.2",
+ "@jest/transform": "^28.0.3",
+ "@jest/types": "^28.0.2",
+ "@jridgewell/trace-mapping": "^0.3.7",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-util": "^28.0.2",
+ "jest-worker": "^28.0.2",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^9.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz",
+ "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.23.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz",
+ "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.7",
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.0.2.tgz",
+ "integrity": "sha512-4EUqgjq9VzyUiVTvZfI9IRJD6t3NYBNP4f+Eq8Zr93+hkJ0RrGU4OBTw8tfNzidKX+bmuYzn8FxqpxOPIGGCMA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.0.2.tgz",
+ "integrity": "sha512-zhnZ8ydkZQTPL7YucB86eOlD79zPy5EGSUKiR2Iv93RVEDU6OEP33kwDBg70ywOcxeJGDRhyo09q7TafNCBiIg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^28.0.2",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.0.2",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.0.3.tgz",
+ "integrity": "sha512-+Y0ikI7SwoW/YbK8t9oKwC70h4X2Gd0OVuz5tctRvSV/EDQU00AAkoqevXgPSSFimUmp/sp7Yl8s/1bExDqOIg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.0.2",
+ "@jridgewell/trace-mapping": "^0.3.7",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.0.2",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.0.2",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.0.2.tgz",
+ "integrity": "sha512-hi3jUdm9iht7I2yrV5C4s3ucCJHUP8Eh3W6rQ1s4n/Qw9rQgsda4eqCt+r3BKRi7klVmZfQlMx1nGlzNMP2d8A==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.0",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz",
+ "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz",
+ "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ }
+ },
+ "node_modules/@lukeed/csprng": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz",
+ "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@nestjs/cli": {
+ "version": "9.5.0",
+ "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-9.5.0.tgz",
+ "integrity": "sha512-Z7q+3vNsQSG2d2r2Hl/OOj5EpfjVx3OfnJ9+KuAsOdw1sKLm7+Zc6KbhMFTd/eIvfx82ww3Nk72xdmfPYCulWA==",
+ "dependencies": {
+ "@angular-devkit/core": "16.0.1",
+ "@angular-devkit/schematics": "16.0.1",
+ "@angular-devkit/schematics-cli": "16.0.1",
+ "@nestjs/schematics": "^9.0.4",
+ "chalk": "4.1.2",
+ "chokidar": "3.5.3",
+ "cli-table3": "0.6.3",
+ "commander": "4.1.1",
+ "fork-ts-checker-webpack-plugin": "8.0.0",
+ "inquirer": "8.2.5",
+ "node-emoji": "1.11.0",
+ "ora": "5.4.1",
+ "os-name": "4.0.1",
+ "rimraf": "4.4.1",
+ "shelljs": "0.8.5",
+ "source-map-support": "0.5.21",
+ "tree-kill": "1.2.2",
+ "tsconfig-paths": "4.2.0",
+ "tsconfig-paths-webpack-plugin": "4.0.1",
+ "typescript": "4.9.5",
+ "webpack": "5.82.1",
+ "webpack-node-externals": "3.0.0"
+ },
+ "bin": {
+ "nest": "bin/nest.js"
+ },
+ "engines": {
+ "node": ">= 12.9.0"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/@nestjs/schematics": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-9.2.0.tgz",
+ "integrity": "sha512-wHpNJDPzM6XtZUOB3gW0J6mkFCSJilzCM3XrHI1o0C8vZmFE1snbmkIXNyoi1eV0Nxh1BMymcgz5vIMJgQtTqw==",
+ "dependencies": {
+ "@angular-devkit/core": "16.0.1",
+ "@angular-devkit/schematics": "16.0.1",
+ "jsonc-parser": "3.2.0",
+ "pluralize": "8.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.3.5"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/glob": {
+ "version": "9.3.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
+ "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "minimatch": "^8.0.2",
+ "minipass": "^4.2.4",
+ "path-scurry": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
+ },
+ "node_modules/@nestjs/cli/node_modules/minimatch": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
+ "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/rimraf": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz",
+ "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==",
+ "dependencies": {
+ "glob": "^9.2.0"
+ },
+ "bin": {
+ "rimraf": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@nestjs/cli/node_modules/webpack": {
+ "version": "5.82.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.82.1.tgz",
+ "integrity": "sha512-C6uiGQJ+Gt4RyHXXYt+v9f+SN1v83x68URwgxNQ98cvH8kxiuywWGP4XeNZ1paOzZ63aY3cTciCEQJNFUljlLw==",
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.7.6",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.14.0",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.2",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.7",
+ "watchpack": "^2.4.0",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@nestjs/common": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz",
+ "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==",
+ "dependencies": {
+ "iterare": "1.2.1",
+ "tslib": "2.5.3",
+ "uid": "2.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "cache-manager": "<=5",
+ "class-transformer": "*",
+ "class-validator": "*",
+ "reflect-metadata": "^0.1.12",
+ "rxjs": "^7.1.0"
+ },
+ "peerDependenciesMeta": {
+ "cache-manager": {
+ "optional": true
+ },
+ "class-transformer": {
+ "optional": true
+ },
+ "class-validator": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@nestjs/config": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.3.3.tgz",
+ "integrity": "sha512-WcBA+0sv8euzKoYpxsCAdMzADxZEeUq8ulD+T+7QBNF0Yha6KC9edkXzk5xTJcanrKL9qnP0kboAXONscHb/Kw==",
+ "dependencies": {
+ "dotenv": "16.1.4",
+ "dotenv-expand": "10.0.0",
+ "lodash": "4.17.21",
+ "uuid": "9.0.0"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0",
+ "reflect-metadata": "^0.1.13",
+ "rxjs": "^6.0.0 || ^7.2.0"
+ }
+ },
+ "node_modules/@nestjs/config/node_modules/uuid": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/@nestjs/core": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz",
+ "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@nuxtjs/opencollective": "0.3.2",
+ "fast-safe-stringify": "2.1.1",
+ "iterare": "1.2.1",
+ "path-to-regexp": "3.2.0",
+ "tslib": "2.5.3",
+ "uid": "2.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^9.0.0",
+ "@nestjs/microservices": "^9.0.0",
+ "@nestjs/platform-express": "^9.0.0",
+ "@nestjs/websockets": "^9.0.0",
+ "reflect-metadata": "^0.1.12",
+ "rxjs": "^7.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@nestjs/microservices": {
+ "optional": true
+ },
+ "@nestjs/platform-express": {
+ "optional": true
+ },
+ "@nestjs/websockets": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@nestjs/platform-express": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz",
+ "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==",
+ "dependencies": {
+ "body-parser": "1.20.2",
+ "cors": "2.8.5",
+ "express": "4.18.2",
+ "multer": "1.4.4-lts.1",
+ "tslib": "2.5.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^9.0.0",
+ "@nestjs/core": "^9.0.0"
+ }
+ },
+ "node_modules/@nestjs/schematics": {
+ "version": "8.0.11",
+ "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.11.tgz",
+ "integrity": "sha512-W/WzaxgH5aE01AiIErE9QrQJ73VR/M/8p8pq0LZmjmNcjZqU5kQyOWUxZg13WYfSpJdOa62t6TZRtFDmgZPoIg==",
+ "dev": true,
+ "dependencies": {
+ "@angular-devkit/core": "13.3.5",
+ "@angular-devkit/schematics": "13.3.5",
+ "fs-extra": "10.1.0",
+ "jsonc-parser": "3.0.0",
+ "pluralize": "8.0.0"
+ },
+ "peerDependencies": {
+ "typescript": "^3.4.5 || ^4.3.5"
+ }
+ },
+ "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": {
+ "version": "13.3.5",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.5.tgz",
+ "integrity": "sha512-w7vzK4VoYP9rLgxJ2SwEfrkpKybdD+QgQZlsDBzT0C6Ebp7b4gkNcNVFo8EiZvfDl6Yplw2IAP7g7fs3STn0hQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "8.9.0",
+ "ajv-formats": "2.1.1",
+ "fast-json-stable-stringify": "2.1.0",
+ "magic-string": "0.25.7",
+ "rxjs": "6.6.7",
+ "source-map": "0.7.3"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ },
+ "peerDependencies": {
+ "chokidar": "^3.5.2"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": {
+ "version": "13.3.5",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.5.tgz",
+ "integrity": "sha512-0N/kL/Vfx0yVAEwa3HYxNx9wYb+G9r1JrLjJQQzDp+z9LtcojNf7j3oey6NXrDUs1WjVZOa/AIdRl3/DuaoG5w==",
+ "dev": true,
+ "dependencies": {
+ "@angular-devkit/core": "13.3.5",
+ "jsonc-parser": "3.0.0",
+ "magic-string": "0.25.7",
+ "ora": "5.4.1",
+ "rxjs": "6.6.7"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
+ }
+ },
+ "node_modules/@nestjs/schematics/node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/@nestjs/schematics/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/@nestjs/testing": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz",
+ "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "2.5.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^9.0.0",
+ "@nestjs/core": "^9.0.0",
+ "@nestjs/microservices": "^9.0.0",
+ "@nestjs/platform-express": "^9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@nestjs/microservices": {
+ "optional": true
+ },
+ "@nestjs/platform-express": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nuxtjs/opencollective": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
+ "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "consola": "^2.15.0",
+ "node-fetch": "^2.6.1"
+ },
+ "bin": {
+ "opencollective": "bin/opencollective.js"
+ },
+ "engines": {
+ "node": ">=8.0.0",
+ "npm": ">=5.0.0"
+ }
+ },
+ "node_modules/@nuxtjs/opencollective/node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@sideway/address": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
+ "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@sideway/formula": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+ "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="
+ },
+ "node_modules/@sideway/pinpoint": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.23.5",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz",
+ "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==",
+ "dev": true
+ },
+ "node_modules/@sindresorhus/is": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
+ "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
+ }
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
+ "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "dev": true,
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz",
+ "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==",
+ "dev": true,
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/@szmarczak/http-timer": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "dependencies": {
+ "defer-to-connect": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@tsconfig/node10": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
+ "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node12": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
+ "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node14": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
+ "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
+ "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
+ "dev": true
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.1.19",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
+ "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
+ "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
+ "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.17.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz",
+ "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/cacheable-request": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
+ "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
+ "dependencies": {
+ "@types/http-cache-semantics": "*",
+ "@types/keyv": "*",
+ "@types/node": "*",
+ "@types/responselike": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.35",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
+ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
+ "dev": true
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
+ "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
+ "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
+ "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA=="
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.13",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
+ "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
+ "dev": true,
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.17.28",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
+ "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
+ }
+ },
+ "node_modules/@types/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@types/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-3zsplnP2djeps5P9OyarTxwRpMLoe5Ash8aL9iprw0JxB+FAHjY+ifn4yZUuW4/9hqtnmor6uvjSRzJhiVbrEQ==",
+ "dev": true
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
+ "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/http-cache-semantics": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
+ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
+ },
+ "node_modules/@types/inquirer": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-Pxxx3i3AyK7vKAj3LRM/vF7ETcHKiLJ/u5CnNgbz/eYj/vB3xGAYtRxI5IKtq0hpe5iFHD22BKV3n6WHUu0k4Q==",
+ "peer": true,
+ "dependencies": {
+ "@types/through": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
+ "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
+ "dev": true
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
+ "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "27.5.0",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz",
+ "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==",
+ "dev": true,
+ "dependencies": {
+ "jest-matcher-utils": "^27.0.0",
+ "pretty-format": "^27.0.0"
+ }
+ },
+ "node_modules/@types/json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ=="
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
+ },
+ "node_modules/@types/keyv": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
+ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "16.11.33",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.33.tgz",
+ "integrity": "sha512-0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA=="
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
+ },
+ "node_modules/@types/prettier": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz",
+ "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==",
+ "dev": true
+ },
+ "node_modules/@types/qs": {
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+ "dev": true
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
+ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
+ "dev": true
+ },
+ "node_modules/@types/responselike": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
+ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.13.10",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz",
+ "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
+ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
+ "dev": true
+ },
+ "node_modules/@types/superagent": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz",
+ "integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/cookiejar": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/supertest": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.12.tgz",
+ "integrity": "sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/superagent": "*"
+ }
+ },
+ "node_modules/@types/through": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz",
+ "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==",
+ "peer": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/validator": {
+ "version": "13.7.17",
+ "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.17.tgz",
+ "integrity": "sha512-aqayTNmeWrZcvnG2MG9eGYI6b7S5fl+yKgPs6bAjOTwPS316R5SxBGKvtSExfyoJU7pIeHJfsHI0Ji41RVMkvQ=="
+ },
+ "node_modules/@types/yargs": {
+ "version": "17.0.10",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz",
+ "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
+ "dev": true
+ },
+ "node_modules/@types/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "optional": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz",
+ "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.22.0",
+ "@typescript-eslint/type-utils": "5.22.0",
+ "@typescript-eslint/utils": "5.22.0",
+ "debug": "^4.3.2",
+ "functional-red-black-tree": "^1.0.1",
+ "ignore": "^5.1.8",
+ "regexpp": "^3.2.0",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz",
+ "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.22.0",
+ "@typescript-eslint/types": "5.22.0",
+ "@typescript-eslint/typescript-estree": "5.22.0",
+ "debug": "^4.3.2"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz",
+ "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.22.0",
+ "@typescript-eslint/visitor-keys": "5.22.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz",
+ "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/utils": "5.22.0",
+ "debug": "^4.3.2",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz",
+ "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz",
+ "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.22.0",
+ "@typescript-eslint/visitor-keys": "5.22.0",
+ "debug": "^4.3.2",
+ "globby": "^11.0.4",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz",
+ "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "@typescript-eslint/scope-manager": "5.22.0",
+ "@typescript-eslint/types": "5.22.0",
+ "@typescript-eslint/typescript-estree": "5.22.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz",
+ "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.22.0",
+ "eslint-visitor-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@voucherify/sdk": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/@voucherify/sdk/-/sdk-2.7.0.tgz",
+ "integrity": "sha512-EpPxzsCUh+asoiknTdQkidDeMq/QiLlk6K2h029wgEYzF/Ag34CngABNV6GUIu2LKpl8E61LjYtnl8aOh6tmtQ==",
+ "dependencies": {
+ "axios": "1.6.5",
+ "form-data": "4.0.0",
+ "qs": "6.9.7"
+ }
+ },
+ "node_modules/@voucherify/sdk/node_modules/qs": {
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==",
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+ "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw=="
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q=="
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+ "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA=="
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA=="
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+ "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA=="
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+ "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-opt": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6",
+ "@webassemblyjs/wast-printer": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+ "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+ "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+ "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+ "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+ "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-import-assertions": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+ "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "8.9.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz",
+ "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/append-field": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
+ "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw=="
+ },
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+ "dev": true
+ },
+ "node_modules/async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ },
+ "node_modules/async-csv": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/async-csv/-/async-csv-2.1.3.tgz",
+ "integrity": "sha512-mpsCN+D7mzZeqrlDw7UTPhvDQDlx1i819E9fbKIt8drkgED5FSOlBv3Rk/+sXdevnO2wwlRkVOQ4kdT0AyqPqQ==",
+ "dependencies": {
+ "csv": "^5.1.3"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.6.5",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz",
+ "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
+ "dependencies": {
+ "follow-redirects": "^1.15.4",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/babel-jest": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.0.3.tgz",
+ "integrity": "sha512-S0ADyYdcrt5fp9YldRYWCUHdk1BKt9AkvBkLWBoNAEV9NoWZPIj5+MYhPcGgTS65mfv3a+Ymf2UqgWoAVd41cA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/transform": "^28.0.3",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^28.0.2",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz",
+ "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
+ "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz",
+ "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==",
+ "dev": true,
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^28.0.2",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/bl/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/bl/node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.11.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
+ "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001332",
+ "electron-to-chromium": "^1.4.118",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.3",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bs-logger": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
+ "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
+ "dev": true,
+ "dependencies": {
+ "fast-json-stable-stringify": "2.x"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "node_modules/busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "dependencies": {
+ "streamsearch": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.16.0"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/cacheable-lookup": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
+ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "engines": {
+ "node": ">=10.6.0"
+ }
+ },
+ "node_modules/cacheable-request": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
+ "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
+ "dependencies": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "4.1.1",
+ "keyv": "^4.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^6.0.1",
+ "responselike": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cacheable-request/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001336",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz",
+ "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
+ "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
+ "dev": true
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
+ "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
+ "dev": true
+ },
+ "node_modules/class-transformer": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
+ "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw=="
+ },
+ "node_modules/class-validator": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.0.tgz",
+ "integrity": "sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==",
+ "dependencies": {
+ "@types/validator": "^13.7.10",
+ "libphonenumber-js": "^1.10.14",
+ "validator": "^13.7.0"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-table": {
+ "version": "0.3.11",
+ "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz",
+ "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==",
+ "dependencies": {
+ "colors": "1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.2.0"
+ }
+ },
+ "node_modules/cli-table/node_modules/colors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/cli-table3": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
+ "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
+ "dependencies": {
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": "10.* || >= 12.*"
+ },
+ "optionalDependencies": {
+ "@colors/colors": "1.5.0"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dependencies": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "dev": true,
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
+ "dev": true
+ },
+ "node_modules/color": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
+ "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
+ "dependencies": {
+ "color-convert": "^1.9.3",
+ "color-string": "^1.6.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/color-string": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+ "dependencies": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "node_modules/color/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/colors-cli": {
+ "version": "1.0.28",
+ "resolved": "https://registry.npmjs.org/colors-cli/-/colors-cli-1.0.28.tgz",
+ "integrity": "sha512-2XE8s1mB3Jr5rvirk/fFzhWY2m9S2dpZ0mWz3Yl/mzMM8hDVBawL0Rsal5hR1gJP4lgqhQfFfEmaGZpUZgEKrA==",
+ "bin": {
+ "colors": "bin/colors"
+ }
+ },
+ "node_modules/colorspace": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
+ "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
+ "dependencies": {
+ "color": "^3.1.3",
+ "text-hex": "1.0.x"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "node_modules/compress-brotli": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
+ "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
+ "dependencies": {
+ "@types/json-buffer": "~3.0.0",
+ "json-buffer": "~3.0.1"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "engines": [
+ "node >= 0.8"
+ ],
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/concurrently": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.1.0.tgz",
+ "integrity": "sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "date-fns": "^2.16.1",
+ "lodash": "^4.17.21",
+ "rxjs": "^6.6.3",
+ "spawn-command": "^0.0.2-1",
+ "supports-color": "^8.1.0",
+ "tree-kill": "^1.2.2",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "concurrently": "dist/bin/concurrently.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.0 || >=16.0.0"
+ }
+ },
+ "node_modules/concurrently/node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/concurrently/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/concurrently/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ },
+ "node_modules/concurrently/node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/consola": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
+ "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "node_modules/convert-source-map/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cookiejar": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
+ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
+ "dev": true
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csv": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz",
+ "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==",
+ "dependencies": {
+ "csv-generate": "^3.4.3",
+ "csv-parse": "^4.16.3",
+ "csv-stringify": "^5.6.5",
+ "stream-transform": "^2.1.3"
+ },
+ "engines": {
+ "node": ">= 0.1.90"
+ }
+ },
+ "node_modules/csv-generate": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz",
+ "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw=="
+ },
+ "node_modules/csv-parse": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz",
+ "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg=="
+ },
+ "node_modules/csv-stringify": {
+ "version": "5.6.5",
+ "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
+ "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A=="
+ },
+ "node_modules/data-uri-to-buffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
+ "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/date-fns": {
+ "version": "2.28.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
+ "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==",
+ "engines": {
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decompress-response": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+ "dependencies": {
+ "mimic-response": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/decompress-response/node_modules/mimic-response": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
+ "dev": true
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
+ "dependencies": {
+ "clone": "^1.0.2"
+ }
+ },
+ "node_modules/defer-to-connect": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
+ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dezalgo": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+ "dev": true,
+ "dependencies": {
+ "asap": "^2.0.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/diff-sequences": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+ "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+ "dev": true,
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.1.4",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.4.tgz",
+ "integrity": "sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz",
+ "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.134",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz",
+ "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg=="
+ },
+ "node_modules/emittery": {
+ "version": "0.10.2",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
+ "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/enabled": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
+ "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.14.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz",
+ "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz",
+ "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg=="
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz",
+ "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==",
+ "dev": true,
+ "dependencies": {
+ "@eslint/eslintrc": "^1.2.2",
+ "@humanwhocodes/config-array": "^0.9.2",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.6.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
+ "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
+ "dev": true,
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-prettier": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
+ "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
+ "dev": true,
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.28.0",
+ "prettier": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/eslint/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/espree": {
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
+ "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.7.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expect": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-28.0.2.tgz",
+ "integrity": "sha512-X0qIuI/zKv98k34tM+uGeOgAC73lhs4vROF9MkPk94C1zujtwv4Cla8SxhWn0G1OwvG9gLLL7RjFBkwGVaZ83w==",
+ "dev": true,
+ "dependencies": {
+ "@jest/expect-utils": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "jest-matcher-utils": "^28.0.2",
+ "jest-message-util": "^28.0.2",
+ "jest-util": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/expect/node_modules/diff-sequences": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
+ "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/expect/node_modules/jest-diff": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
+ "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/expect/node_modules/jest-matcher-utils": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
+ "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/expect/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/expect/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/express": {
+ "version": "4.18.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+ "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.1",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.11.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/body-parser": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.11.0",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/express/node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/express/node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/extract-zip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "extract-zip": "cli.js"
+ },
+ "engines": {
+ "node": ">= 10.17.0"
+ },
+ "optionalDependencies": {
+ "@types/yauzl": "^2.9.1"
+ }
+ },
+ "node_modules/extract-zip/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "node_modules/fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.2.11",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+ "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/fast-safe-stringify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
+ },
+ "node_modules/fastq": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+ "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dev": true,
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "node_modules/fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+ "dependencies": {
+ "pend": "~1.2.0"
+ }
+ },
+ "node_modules/fecha": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
+ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
+ },
+ "node_modules/fetch-blob": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "dependencies": {
+ "node-domexception": "^1.0.0",
+ "web-streams-polyfill": "^3.0.3"
+ },
+ "engines": {
+ "node": "^12.20 || >= 14.13"
+ }
+ },
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/figures/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
+ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
+ "dev": true
+ },
+ "node_modules/fn.name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
+ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
+ "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz",
+ "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.16.7",
+ "chalk": "^4.1.2",
+ "chokidar": "^3.5.3",
+ "cosmiconfig": "^7.0.1",
+ "deepmerge": "^4.2.2",
+ "fs-extra": "^10.0.0",
+ "memfs": "^3.4.1",
+ "minimatch": "^3.0.4",
+ "node-abort-controller": "^3.0.1",
+ "schema-utils": "^3.1.1",
+ "semver": "^7.3.5",
+ "tapable": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=12.13.0",
+ "yarn": ">=1.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">3.6.0",
+ "webpack": "^5.11.0"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/formdata-polyfill": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+ "dependencies": {
+ "fetch-blob": "^3.1.2"
+ },
+ "engines": {
+ "node": ">=12.20.0"
+ }
+ },
+ "node_modules/formidable": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.1.tgz",
+ "integrity": "sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==",
+ "dev": true,
+ "dependencies": {
+ "dezalgo": "^1.0.4",
+ "hexoid": "^1.0.0",
+ "once": "^1.4.0",
+ "qs": "^6.11.0"
+ },
+ "funding": {
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
+ }
+ },
+ "node_modules/formidable/node_modules/qs": {
+ "version": "6.11.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
+ "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/fs-monkey": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz",
+ "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ=="
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
+ "dev": true
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
+ },
+ "node_modules/globals": {
+ "version": "13.13.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
+ "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/got": {
+ "version": "11.8.5",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
+ "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
+ "dependencies": {
+ "@sindresorhus/is": "^4.0.0",
+ "@szmarczak/http-timer": "^4.0.5",
+ "@types/cacheable-request": "^6.0.1",
+ "@types/responselike": "^1.0.0",
+ "cacheable-lookup": "^5.0.3",
+ "cacheable-request": "^7.0.2",
+ "decompress-response": "^6.0.0",
+ "http2-wrapper": "^1.0.0-beta.5.2",
+ "lowercase-keys": "^2.0.0",
+ "p-cancelable": "^2.0.0",
+ "responselike": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/got?sponsor=1"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hexoid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/hpagent": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz",
+ "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==",
+ "optional": true
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
+ "node_modules/http-cache-semantics": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http2-wrapper": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
+ "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "dependencies": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "dev": true,
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/inquirer": {
+ "version": "8.2.5",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz",
+ "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/install": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz",
+ "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
+ "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
+ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz",
+ "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "dev": true,
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
+ "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
+ "dev": true,
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/iterare": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz",
+ "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jest": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-28.0.3.tgz",
+ "integrity": "sha512-uS+T5J3w5xyzd1KSJCGKhCo8WTJXbNl86f5SW11wgssbandJOVLRKKUxmhdFfmKxhPeksl1hHZ0HaA8VBzp7xA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/core": "^28.0.3",
+ "import-local": "^3.0.2",
+ "jest-cli": "^28.0.3"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-changed-files": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz",
+ "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.0.0",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.0.3.tgz",
+ "integrity": "sha512-HJ3rUCm3A3faSy7KVH5MFCncqJLtrjEFkTPn9UIcs4Kq77+TXqHsOaI+/k73aHe6DJQigLUXq9rCYj3MYFlbIw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^28.0.2",
+ "@jest/expect": "^28.0.3",
+ "@jest/test-result": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^28.0.2",
+ "jest-matcher-utils": "^28.0.2",
+ "jest-message-util": "^28.0.2",
+ "jest-runtime": "^28.0.3",
+ "jest-snapshot": "^28.0.3",
+ "jest-util": "^28.0.2",
+ "pretty-format": "^28.0.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/diff-sequences": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
+ "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/jest-diff": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
+ "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/jest-matcher-utils": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
+ "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-circus/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-cli": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.0.3.tgz",
+ "integrity": "sha512-NCPTEONCnhYGo1qzPP4OOcGF04YasM5GZSwQLI1HtEluxa3ct4U65IbZs6DSRt8XN1Rq0jhXwv02m5lHB28Uyg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/core": "^28.0.3",
+ "@jest/test-result": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "import-local": "^3.0.2",
+ "jest-config": "^28.0.3",
+ "jest-util": "^28.0.2",
+ "jest-validate": "^28.0.2",
+ "prompts": "^2.0.1",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.0.3.tgz",
+ "integrity": "sha512-3gWOEHwGpNhyYOk9vnUMv94x15QcdjACm7A3lERaluwnyD6d1WZWe9RFCShgIXVOHzRfG1hWxsI2U0gKKSGgDQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/test-sequencer": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "babel-jest": "^28.0.3",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^28.0.3",
+ "jest-environment-node": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "jest-regex-util": "^28.0.2",
+ "jest-resolve": "^28.0.3",
+ "jest-runner": "^28.0.3",
+ "jest-util": "^28.0.2",
+ "jest-validate": "^28.0.2",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^28.0.2",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-config/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-diff": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/jest-get-type": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+ "dev": true,
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-docblock": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz",
+ "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==",
+ "dev": true,
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.0.2.tgz",
+ "integrity": "sha512-/W5Wc0b+ipR36kDaLngdVEJ/5UYPOITK7rW0djTlCCQdMuWpCFJweMW4TzAoJ6GiRrljPL8FwiyOSoSHKrda2w==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^28.0.2",
+ "jest-util": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-environment-node": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.0.2.tgz",
+ "integrity": "sha512-o9u5UHZ+NCuIoa44KEF0Behhsz/p1wMm0WumsZfWR1k4IVoWSt3aN0BavSC5dd26VxSGQvkrCnJxxOzhhUEG3Q==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^28.0.2",
+ "@jest/fake-timers": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "jest-mock": "^28.0.2",
+ "jest-util": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+ "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.0.2.tgz",
+ "integrity": "sha512-EokdL7l5uk4TqWGawwrIt8w3tZNcbeiRxmKGEURf42pl+/rWJy3sCJlon5HBhJXZTW978jk6600BLQOI7i25Ig==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.0.2",
+ "jest-worker": "^28.0.2",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.0.2.tgz",
+ "integrity": "sha512-UGaSPYtxKXl/YKacq6juRAKmMp1z2os8NaU8PSC+xvNikmu3wF6QFrXrihMM4hXeMr9HuNotBrQZHmzDY8KIBQ==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-leak-detector/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-leak-detector/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-leak-detector/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+ "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/jest-get-type": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+ "dev": true,
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.0.2.tgz",
+ "integrity": "sha512-knK7XyojvwYh1XiF2wmVdskgM/uN11KsjcEWWHfnMZNEdwXCrqB4sCBO94F4cfiAwCS8WFV6CDixDwPlMh/wdA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^28.0.2",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^28.0.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-mock": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.0.2.tgz",
+ "integrity": "sha512-vfnJ4zXRB0i24jOTGtQJyl26JKsgBKtqRlCnsrORZbG06FToSSn33h2x/bmE8XxqxkLWdZBRo+/65l8Vi3nD+g==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
+ "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz",
+ "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.0.3.tgz",
+ "integrity": "sha512-lfgjd9JhEjpjIN3HLUfdysdK+A7ePQoYmd7WL9DUEWqdnngb1rF56eee6iDXJxl/3eSolpP43VD7VrhjL3NsoQ==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.0.2",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^28.0.2",
+ "jest-validate": "^28.0.2",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^1.1.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.0.3.tgz",
+ "integrity": "sha512-lCgHMm0/5p0qHemrOzm7kI6JDei28xJwIf7XOEcv1HeAVHnsON8B8jO/woqlU+/GcOXb58ymieYqhk3zjGWnvQ==",
+ "dev": true,
+ "dependencies": {
+ "jest-regex-util": "^28.0.2",
+ "jest-snapshot": "^28.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.0.3.tgz",
+ "integrity": "sha512-4OsHMjBLtYUWCENucAQ4Za0jGfEbOFi/Fusv6dzUuaweqx8apb4+5p2LR2yvgF4StFulmxyC238tGLftfu+zBA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^28.0.2",
+ "@jest/environment": "^28.0.2",
+ "@jest/test-result": "^28.0.2",
+ "@jest/transform": "^28.0.3",
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.10.2",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^28.0.2",
+ "jest-environment-node": "^28.0.2",
+ "jest-haste-map": "^28.0.2",
+ "jest-leak-detector": "^28.0.2",
+ "jest-message-util": "^28.0.2",
+ "jest-resolve": "^28.0.3",
+ "jest-runtime": "^28.0.3",
+ "jest-util": "^28.0.2",
+ "jest-watcher": "^28.0.2",
+ "jest-worker": "^28.0.2",
+ "source-map-support": "0.5.13",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/source-map-support": {
+ "version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.0.3.tgz",
+ "integrity": "sha512-7FtPUmvbZEHLOdjsF6dyHg5Pe4E0DU+f3Vvv8BPzVR7mQA6nFR4clQYLAPyJGnsUvN8WRWn+b5a5SVwnj1WaGg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^28.0.2",
+ "@jest/fake-timers": "^28.0.2",
+ "@jest/globals": "^28.0.3",
+ "@jest/source-map": "^28.0.2",
+ "@jest/test-result": "^28.0.2",
+ "@jest/transform": "^28.0.3",
+ "@jest/types": "^28.0.2",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "execa": "^5.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.0.2",
+ "jest-message-util": "^28.0.2",
+ "jest-mock": "^28.0.2",
+ "jest-regex-util": "^28.0.2",
+ "jest-resolve": "^28.0.3",
+ "jest-snapshot": "^28.0.3",
+ "jest-util": "^28.0.2",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "28.0.3",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.0.3.tgz",
+ "integrity": "sha512-nVzAAIlAbrMuvVUrS1YxmAeo1TfSsDDU+K5wv/Ow56MBp+L+Y71ksAbwRp3kGCgZAz4oOXcAMPAwtT9Yh1hlQQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/traverse": "^7.7.2",
+ "@babel/types": "^7.3.3",
+ "@jest/expect-utils": "^28.0.2",
+ "@jest/transform": "^28.0.3",
+ "@jest/types": "^28.0.2",
+ "@types/babel__traverse": "^7.0.6",
+ "@types/prettier": "^2.1.5",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^28.0.2",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "jest-haste-map": "^28.0.2",
+ "jest-matcher-utils": "^28.0.2",
+ "jest-message-util": "^28.0.2",
+ "jest-util": "^28.0.2",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^28.0.2",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/diff-sequences": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz",
+ "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/jest-diff": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.0.2.tgz",
+ "integrity": "sha512-33Rnf821Y54OAloav0PGNWHlbtEorXpjwchnToyyWbec10X74FOW7hGfvrXLGz7xOe2dz0uo9JVFAHHj/2B5pg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/jest-matcher-utils": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.0.2.tgz",
+ "integrity": "sha512-SxtTiI2qLJHFtOz/bySStCnwCvISAuxQ/grS+74dfTy5AuJw3Sgj9TVUvskcnImTfpzLoMCDJseRaeRrVYbAOA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.0.2",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-util": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.0.2.tgz",
+ "integrity": "sha512-EVdpIRCC8lzqhp9A0u0aAKlsFIzufK6xKxNK7awsnebTdOP4hpyQW5o6Ox2qPl8gbeUKYF+POLyItaND53kpGA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.0.2.tgz",
+ "integrity": "sha512-nr0UOvCTtxP0YPdsk01Gk7e7c0xIiEe2nncAe3pj0wBfUvAykTVrMrdeASlAJnlEQCBuwN/GF4hKoCzbkGNCNw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.0.2",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^28.0.2",
+ "leven": "^3.1.0",
+ "pretty-format": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-validate/node_modules/pretty-format": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.0.2.tgz",
+ "integrity": "sha512-UmGZ1IERwS3yY35LDMTaBUYI1w4udZDdJGGT/DqQeKG9ZLDn7/K2Jf/JtYSRiHCCKMHvUA+zsEGSmHdpaVp1yw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.0.2",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/react-is": {
+ "version": "18.1.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
+ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
+ "dev": true
+ },
+ "node_modules/jest-watcher": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.0.2.tgz",
+ "integrity": "sha512-uIVJLpQ/5VTGQWBiBatHsi7jrCqHjHl0e0dFHMWzwuIfUbdW/muk0DtSr0fteY2T7QTFylv+7a5Rm8sBKrE12Q==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^28.0.2",
+ "@jest/types": "^28.0.2",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.10.2",
+ "jest-util": "^28.0.2",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.0.2.tgz",
+ "integrity": "sha512-pijNxfjxT0tGAx+8+OzZ+eayVPCwy/rsZFhebmC0F4YnXu1EHPEPxg7utL3m5uX3EaFH1/jwDxGa1EbjJCST2g==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/joi": {
+ "version": "17.6.0",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz",
+ "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0",
+ "@hapi/topo": "^5.0.0",
+ "@sideway/address": "^4.1.3",
+ "@sideway/formula": "^3.0.0",
+ "@sideway/pinpoint": "^2.0.0"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
+ "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==",
+ "dev": true
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.6.tgz",
+ "integrity": "sha512-mmMlAFwZnCBk7QDA23I49T5VP2NdSsbaT4yrm14cwnlQ67t+wHWPtYj+/gbzeAbcprGbUSzWP3jBE1WKfSERnQ==",
+ "dependencies": {
+ "compress-brotli": "^1.3.8",
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/kuler": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
+ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/libphonenumber-js": {
+ "version": "1.10.30",
+ "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.30.tgz",
+ "integrity": "sha512-PLGc+xfrQrkya/YK2/5X+bPpxRmyJBHM+xxz9krUdSgk4Vs2ZwxX5/Ow0lv3r9PDlDtNWb4u+it8MY5rZ0IyGw=="
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ },
+ "node_modules/loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "engines": {
+ "node": ">=6.11.5"
+ }
+ },
+ "node_modules/loading-cli": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loading-cli/-/loading-cli-1.1.0.tgz",
+ "integrity": "sha512-r6Kj0Y3d3isT4vvJ0tFlND1CcLkpatWmlgQs/PEfnSofJSHZwAbsqexnpQEDj4nlxSXEqFWh/Wu2iQXAAZRPNQ==",
+ "dependencies": {
+ "colors-cli": "^1.0.26"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
+ },
+ "node_modules/lodash.defaultsdeep": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
+ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
+ "dev": true
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/logform": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz",
+ "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==",
+ "dependencies": {
+ "@colors/colors": "1.5.0",
+ "fecha": "^4.2.0",
+ "ms": "^2.1.1",
+ "safe-stable-stringify": "^2.3.1",
+ "triple-beam": "^1.3.0"
+ }
+ },
+ "node_modules/lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/macos-release": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz",
+ "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dev": true,
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memfs": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
+ "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
+ "dependencies": {
+ "fs-monkey": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
+ },
+ "node_modules/minipass": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
+ "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mixme": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz",
+ "integrity": "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==",
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/multer": {
+ "version": "1.4.4-lts.1",
+ "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz",
+ "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==",
+ "dependencies": {
+ "append-field": "^1.0.0",
+ "busboy": "^1.0.0",
+ "concat-stream": "^1.5.2",
+ "mkdirp": "^0.5.4",
+ "object-assign": "^4.1.1",
+ "type-is": "^1.6.4",
+ "xtend": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/multer/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
+ },
+ "node_modules/nest-commander": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/nest-commander/-/nest-commander-3.8.0.tgz",
+ "integrity": "sha512-iG9x3uhm+OQ+w+HWusJjJShsrQ75Z8uUiKeZbZsCUZQ1nQenuQdGwin9gjh9IL9MDlH1/8DWLFXGjuKkD1AdnA==",
+ "dependencies": {
+ "@golevelup/nestjs-discovery": "3.0.0",
+ "commander": "10.0.1",
+ "cosmiconfig": "8.2.0",
+ "inquirer": "8.2.5"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^8.0.0 || ^9.0.0",
+ "@nestjs/core": "^8.0.0 || ^9.0.0",
+ "@types/inquirer": "^8.1.3"
+ }
+ },
+ "node_modules/nest-commander/node_modules/commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/nest-commander/node_modules/cosmiconfig": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz",
+ "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==",
+ "dependencies": {
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ }
+ },
+ "node_modules/nest-winston": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/nest-winston/-/nest-winston-1.7.0.tgz",
+ "integrity": "sha512-FJ94dJ++8BEjQfK5TuqiY5g7pP48RLRss41Bm6bCCfzYgywymEI6m+HPHW9K/q2i7wO5TU6Sva51/Rvmmhxddw==",
+ "dependencies": {
+ "fast-safe-stringify": "^2.1.1"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^5.0.0 || ^6.6.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
+ "winston": "^3.0.0"
+ }
+ },
+ "node_modules/ngrok": {
+ "version": "5.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-5.0.0-beta.2.tgz",
+ "integrity": "sha512-UzsyGiJ4yTTQLCQD11k1DQaMwq2/SsztBg2b34zAqcyjS25qjDpogMKPaCKHwe/APRTHeel3iDXcVctk5CNaCQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "extract-zip": "^2.0.1",
+ "got": "^11.8.5",
+ "lodash.clonedeep": "^4.5.0",
+ "uuid": "^7.0.0 || ^8.0.0",
+ "yaml": "^2.2.2"
+ },
+ "bin": {
+ "ngrok": "bin/ngrok"
+ },
+ "engines": {
+ "node": ">=14.2"
+ },
+ "optionalDependencies": {
+ "hpagent": "^0.1.2"
+ }
+ },
+ "node_modules/ngrok/node_modules/yaml": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
+ "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/node-abort-controller": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz",
+ "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ=="
+ },
+ "node_modules/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "node_modules/node-emoji": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
+ "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "3.2.10",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.10.tgz",
+ "integrity": "sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
+ "node_modules/node-fetch2": {
+ "name": "node-fetch",
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ }
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+ "dev": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
+ "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ=="
+ },
+ "node_modules/nodejs-base64": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nodejs-base64/-/nodejs-base64-2.0.0.tgz",
+ "integrity": "sha512-rf83teAz8f251P+HQW0nZyIhIIKrTs8wz11n5+Dp1b+/oWCYSeCfNfbUqda5B0DhspBVXwJ7SPk8aghv/TFsjQ=="
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+ "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/objects-to-csv": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/objects-to-csv/-/objects-to-csv-1.3.6.tgz",
+ "integrity": "sha512-383eSpS3hmgCksW85KIqBtcbgSW5DDVsCmzLoM6C3q4yzOX2rmtWxF4pbLJ76fz+ufA+4/SwAT4QdaY6IUWmAg==",
+ "dependencies": {
+ "async-csv": "^2.1.3"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/one-time": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
+ "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
+ "dependencies": {
+ "fn.name": "1.x.x"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/os-name": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz",
+ "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==",
+ "dependencies": {
+ "macos-release": "^2.5.0",
+ "windows-release": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/p-cancelable": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
+ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "node_modules/path-scurry": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz",
+ "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==",
+ "dependencies": {
+ "lru-cache": "^9.1.1",
+ "minipass": "^5.0.0 || ^6.0.2"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz",
+ "integrity": "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==",
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
+ "node_modules/path-scurry/node_modules/minipass": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
+ "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz",
+ "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA=="
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
+ "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "dev": true,
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/qss": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/qss/-/qss-2.0.3.tgz",
+ "integrity": "sha512-j48ZBT5IZbSqJiSU8EX4XrN8nXiflHvmMvv2XpFc31gh7n6EpSs75bNr6+oj3FOLWyT8m09pTmqLNl34L7/uPQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/querystring": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
+ "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
+ "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+ "dependencies": {
+ "resolve": "^1.1.6"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/reflect-metadata": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
+ "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
+ },
+ "node_modules/regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "dependencies": {
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-alpn": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
+ "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-cwd/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve.exports": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz",
+ "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/responselike": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
+ "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
+ "dependencies": {
+ "lowercase-keys": "^2.0.0"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-stable-stringify": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
+ "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/schema-utils": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
+ "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/schema-utils/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/schema-utils/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/schema-utils/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
+ "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shelljs": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
+ "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
+ "dependencies": {
+ "glob": "^7.0.0",
+ "interpret": "^1.0.0",
+ "rechoir": "^0.6.2"
+ },
+ "bin": {
+ "shjs": "bin/shjs"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "node_modules/simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+ "dependencies": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "node_modules/spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg=="
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/stack-trace": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
+ "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz",
+ "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/stream-transform": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
+ "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==",
+ "dependencies": {
+ "mixme": "^0.5.1"
+ }
+ },
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/string-length": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+ "dev": true,
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/superagent": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz",
+ "integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==",
+ "dev": true,
+ "dependencies": {
+ "component-emitter": "^1.3.0",
+ "cookiejar": "^2.1.3",
+ "debug": "^4.3.4",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.0",
+ "formidable": "^2.0.1",
+ "methods": "^1.1.2",
+ "mime": "^2.5.0",
+ "qs": "^6.10.3",
+ "readable-stream": "^3.6.0",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": ">=6.4.0 <13 || >=14"
+ }
+ },
+ "node_modules/superagent/node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/superagent/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/superagent/node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/supertest": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.3.tgz",
+ "integrity": "sha512-3GSdMYTMItzsSYjnIcljxMVZKPW1J9kYHZY+7yLfD0wpPwww97GeImZC1oOk0S5+wYl2niJwuFusBJqwLqYM3g==",
+ "dev": true,
+ "dependencies": {
+ "methods": "^1.1.2",
+ "superagent": "^7.1.3"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
+ "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/symbol-observable": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+ "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser": {
+ "version": "5.17.3",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz",
+ "integrity": "sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==",
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.8",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz",
+ "integrity": "sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.16.8"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ "dev": true,
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-hex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
+ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/throat": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
+ "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
+ "dev": true
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
+ },
+ "node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "bin": {
+ "tree-kill": "cli.js"
+ }
+ },
+ "node_modules/triple-beam": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
+ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
+ },
+ "node_modules/ts-jest": {
+ "version": "28.0.1",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.1.tgz",
+ "integrity": "sha512-PbkbitaT/9ZYAqqzk3UYTvCq080Seo46T3m/AdwcZ0D8WH2uBhG6PvA8oOAWsZIknzPQU66fYobvFCL8IqIhmg==",
+ "dev": true,
+ "dependencies": {
+ "bs-logger": "0.x",
+ "fast-json-stable-stringify": "2.x",
+ "jest-util": "^28.0.0",
+ "json5": "2.x",
+ "lodash.memoize": "4.x",
+ "make-error": "1.x",
+ "semver": "7.x",
+ "yargs-parser": "^20.x"
+ },
+ "bin": {
+ "ts-jest": "cli.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": ">=7.0.0-beta.0 <8",
+ "@types/jest": "^27.0.0",
+ "babel-jest": "^28.0.0",
+ "jest": "^28.0.0",
+ "typescript": ">=4.3"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@types/jest": {
+ "optional": true
+ },
+ "babel-jest": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ts-loader": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz",
+ "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^5.0.0",
+ "micromatch": "^4.0.0",
+ "semver": "^7.3.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "typescript": "*",
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/ts-node": {
+ "version": "10.7.0",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz",
+ "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==",
+ "dev": true,
+ "dependencies": {
+ "@cspotcode/source-map-support": "0.7.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.0",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "peerDependencies": {
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/wasm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.0.0.tgz",
+ "integrity": "sha512-SLBg2GBKlR6bVtMgJJlud/o3waplKtL7skmLkExomIiaAtLGtVsoXIqP3SYdjbcH9lq/KVv7pMZeCBpLYOit6Q==",
+ "dev": true,
+ "dependencies": {
+ "json5": "^2.2.1",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.1.tgz",
+ "integrity": "sha512-m5//KzLoKmqu2MVix+dgLKq70MnFi8YL8sdzQZ6DblmCdfuq/y3OqvJd5vMndg2KEVCOeNz8Es4WVZhYInteLw==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^5.7.0",
+ "tsconfig-paths": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+ "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w=="
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "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"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
+ },
+ "node_modules/typescript": {
+ "version": "4.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/uid": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz",
+ "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==",
+ "dependencies": {
+ "@lukeed/csprng": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "node_modules/v8-compile-cache-lib": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+ "dev": true
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz",
+ "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.7",
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/validator": {
+ "version": "13.7.0",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
+ "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dev": true,
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/web-streams-polyfill": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
+ "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/webpack": {
+ "version": "5.86.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz",
+ "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==",
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.9.0",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.14.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.2",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.7",
+ "watchpack": "^2.4.0",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-node-externals": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz",
+ "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/windows-release": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz",
+ "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==",
+ "dependencies": {
+ "execa": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/windows-release/node_modules/execa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/windows-release/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/windows-release/node_modules/human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "engines": {
+ "node": ">=8.12.0"
+ }
+ },
+ "node_modules/winston": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz",
+ "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==",
+ "dependencies": {
+ "@dabh/diagnostics": "^2.0.2",
+ "async": "^3.2.3",
+ "is-stream": "^2.0.0",
+ "logform": "^2.4.0",
+ "one-time": "^1.0.0",
+ "readable-stream": "^3.4.0",
+ "safe-stable-stringify": "^2.3.1",
+ "stack-trace": "0.0.x",
+ "triple-beam": "^1.3.0",
+ "winston-transport": "^4.5.0"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/winston-transport": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
+ "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
+ "dependencies": {
+ "logform": "^2.3.2",
+ "readable-stream": "^3.6.0",
+ "triple-beam": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 6.4.0"
+ }
+ },
+ "node_modules/winston-transport/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/winston/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/write-file-atomic": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
+ "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ }
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
+ "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs/node_modules/yargs-parser": {
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ }
+ }
+}
diff --git a/voucherify-service/package.json b/voucherify-service/package.json
new file mode 100644
index 00000000..6d9b130d
--- /dev/null
+++ b/voucherify-service/package.json
@@ -0,0 +1,107 @@
+{
+ "name": "commerce-tools-integration",
+ "version": "6.0.5",
+ "description": "",
+ "author": "",
+ "private": true,
+ "license": "MIT",
+ "scripts": {
+ "gcp-build": "nest build",
+ "prebuild": "rimraf dist",
+ "build": "nest build",
+ "command": "nest start --config nest-commander.json --",
+ "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
+ "dev": "nest start --watch",
+ "dev:attach": "nest start --watch --config nest-dev-attached.json",
+ "dev:debug": "nest start --debug --watch",
+ "start": "node dist/main",
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
+ "test": "jest",
+ "test:watch": "jest --watch",
+ "test:cov": "jest --coverage",
+ "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
+ "test:e2e": "jest --config ./test/jest-e2e.json",
+ "config": "nest start --config nest-commander.json -- config",
+ "api-extension-list": "nest start --config nest-commander.json -- integration-list",
+ "api-extension-add": "nest start --config nest-commander.json -- integration-add",
+ "api-extension-update": "nest start --config nest-commander.json -- integration-update",
+ "api-extension-delete": "nest start --config nest-commander.json -- integration-delete",
+ "migrate": "nest start --config nest-commander.json -- migrate",
+ "ct-connect-post-deploy": "npm run build && npm run config && npm run api-extension-add",
+ "ct-connect-pre-undeploy": "npm run api-extension-delete"
+ },
+ "dependencies": {
+ "@commercetools/platform-sdk": "2.7.0",
+ "@commercetools/sdk-auth": "3.0.13",
+ "@commercetools/sdk-client-v2": "1.4.0",
+ "@nestjs/cli": "9.5.0",
+ "@nestjs/common": "9.4.3",
+ "@nestjs/config": "2.3.3",
+ "@nestjs/core": "9.4.3",
+ "@nestjs/platform-express": "9.4.3",
+ "@voucherify/sdk": "2.7.0",
+ "async": "3.2.3",
+ "class-transformer": "0.5.1",
+ "class-validator": "0.14.0",
+ "cli-table": "0.3.11",
+ "concurrently": "7.1.0",
+ "flat": "5.0.2",
+ "form-data": "4.0.0",
+ "install": "0.13.0",
+ "joi": "17.6.0",
+ "loading-cli": "1.1.0",
+ "mkdirp": "1.0.4",
+ "nest-commander": "3.8.0",
+ "nest-winston": "1.7.0",
+ "ngrok": "5.0.0-beta.2",
+ "node-fetch": "3.2.10",
+ "node-fetch2": "npm:node-fetch@2.6.7",
+ "nodejs-base64": "2.0.0",
+ "objects-to-csv": "1.3.6",
+ "reflect-metadata": "0.1.13",
+ "rimraf": "3.0.2",
+ "rxjs": "7.8.1",
+ "winston": "3.8.1"
+ },
+ "devDependencies": {
+ "@nestjs/schematics": "8.0.11",
+ "@nestjs/testing": "9.4.3",
+ "@types/express": "4.17.13",
+ "@types/flat": "5.0.2",
+ "@types/jest": "27.5.0",
+ "@types/node": "16.11.33",
+ "@types/supertest": "2.0.12",
+ "@typescript-eslint/eslint-plugin": "5.22.0",
+ "@typescript-eslint/parser": "5.22.0",
+ "eslint": "8.14.0",
+ "eslint-config-prettier": "8.5.0",
+ "eslint-plugin-prettier": "4.0.0",
+ "jest": "28.0.3",
+ "prettier": "2.6.2",
+ "source-map-support": "0.5.21",
+ "supertest": "6.2.3",
+ "ts-jest": "28.0.1",
+ "ts-loader": "9.3.0",
+ "ts-node": "10.7.0",
+ "tsconfig-paths": "4.0.0",
+ "typescript": "4.9.5",
+ "webpack": "5.86.0"
+ },
+ "jest": {
+ "clearMocks": true,
+ "moduleFileExtensions": [
+ "js",
+ "json",
+ "ts"
+ ],
+ "testRegex": "test.*\\.spec\\.ts$",
+ "transform": {
+ "^.+\\.(t|j)s$": "ts-jest"
+ },
+ "collectCoverageFrom": [
+ "src/**/*.(t|j)s"
+ ],
+ "coverageDirectory": "coverage",
+ "testEnvironment": "node"
+ }
+}
diff --git a/public/ct-order-custom-fields.png b/voucherify-service/public/ct-order-custom-fields.png
similarity index 100%
rename from public/ct-order-custom-fields.png
rename to voucherify-service/public/ct-order-custom-fields.png
diff --git a/public/ct-order.png b/voucherify-service/public/ct-order.png
similarity index 100%
rename from public/ct-order.png
rename to voucherify-service/public/ct-order.png
diff --git a/public/ct-shipping-config.png b/voucherify-service/public/ct-shipping-config.png
similarity index 100%
rename from public/ct-shipping-config.png
rename to voucherify-service/public/ct-shipping-config.png
diff --git a/public/integration-flow.jpeg b/voucherify-service/public/integration-flow.jpeg
similarity index 100%
rename from public/integration-flow.jpeg
rename to voucherify-service/public/integration-flow.jpeg
diff --git a/public/voucherify-freeshipping-config.png b/voucherify-service/public/voucherify-freeshipping-config.png
similarity index 100%
rename from public/voucherify-freeshipping-config.png
rename to voucherify-service/public/voucherify-freeshipping-config.png
diff --git a/public/voucherify-logo.svg b/voucherify-service/public/voucherify-logo.svg
similarity index 100%
rename from public/voucherify-logo.svg
rename to voucherify-service/public/voucherify-logo.svg
diff --git a/public/voucherify-redemption.png b/voucherify-service/public/voucherify-redemption.png
similarity index 100%
rename from public/voucherify-redemption.png
rename to voucherify-service/public/voucherify-redemption.png
diff --git a/public/voucherify.png b/voucherify-service/public/voucherify.png
similarity index 100%
rename from public/voucherify.png
rename to voucherify-service/public/voucherify.png
diff --git a/src/app.controller.ts b/voucherify-service/src/app.controller.ts
similarity index 100%
rename from src/app.controller.ts
rename to voucherify-service/src/app.controller.ts
diff --git a/src/app.module.ts b/voucherify-service/src/app.module.ts
similarity index 99%
rename from src/app.module.ts
rename to voucherify-service/src/app.module.ts
index 2ee001c7..3de3a54f 100644
--- a/src/app.module.ts
+++ b/voucherify-service/src/app.module.ts
@@ -1,6 +1,5 @@
import { Module, Logger } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
-
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { VoucherifyConnectorService } from './voucherify/voucherify-connector.service';
diff --git a/src/app.service.ts b/voucherify-service/src/app.service.ts
similarity index 100%
rename from src/app.service.ts
rename to voucherify-service/src/app.service.ts
diff --git a/src/cli.ts b/voucherify-service/src/cli.ts
similarity index 100%
rename from src/cli.ts
rename to voucherify-service/src/cli.ts
diff --git a/src/cli/api-extension-add.command.ts b/voucherify-service/src/cli/api-extension-add.command.ts
similarity index 77%
rename from src/cli/api-extension-add.command.ts
rename to voucherify-service/src/cli/api-extension-add.command.ts
index 6bf9bbdc..4b1f72fb 100644
--- a/src/cli/api-extension-add.command.ts
+++ b/voucherify-service/src/cli/api-extension-add.command.ts
@@ -8,19 +8,24 @@ import loadingCli from 'loading-cli';
description:
'Add commercetools API Extension pointing to your server (server url is taken from APP_URL environment variable)',
})
-export class ApiExtensionAddCommand implements CommandRunner {
+export class ApiExtensionAddCommand extends CommandRunner {
constructor(
private readonly registerService: ApiExtensionService,
private readonly configService: ConfigService,
- ) {}
+ ) {
+ super();
+ }
async run(): Promise {
- const url = this.configService.get('APP_URL');
+ const url =
+ this.configService.get('APP_URL') ||
+ this.configService.get('CONNECT_SERVICE_URL');
+
const apiExtensionKey = this.configService.get(
'COMMERCE_TOOLS_API_EXTENSION_KEY',
);
if (!url) {
- loadingCli(`Missing APP_URL configuration`).fail();
+ loadingCli(`Missing APP_URL or CONNECT_SERVICE_URL configuration`).fail();
return;
}
diff --git a/src/cli/api-extension-delete.command.ts b/voucherify-service/src/cli/api-extension-delete.command.ts
similarity index 96%
rename from src/cli/api-extension-delete.command.ts
rename to voucherify-service/src/cli/api-extension-delete.command.ts
index a895a20c..60086a78 100644
--- a/src/cli/api-extension-delete.command.ts
+++ b/voucherify-service/src/cli/api-extension-delete.command.ts
@@ -13,11 +13,13 @@ type ApiExtensionDeleteCommandOptions = {
description:
'Delete commercetools API Extension by "Key" value configured in COMMERCE_TOOLS_API_EXTENSION_KEY environment variable',
})
-export class ApiExtensionDeleteCommand implements CommandRunner {
+export class ApiExtensionDeleteCommand extends CommandRunner {
constructor(
private readonly registerService: ApiExtensionService,
private readonly configService: ConfigService,
- ) {}
+ ) {
+ super();
+ }
async run(
passedParam: string[],
options?: ApiExtensionDeleteCommandOptions,
diff --git a/src/cli/api-extension-list.command.ts b/voucherify-service/src/cli/api-extension-list.command.ts
similarity index 94%
rename from src/cli/api-extension-list.command.ts
rename to voucherify-service/src/cli/api-extension-list.command.ts
index 7aa3377c..2618fed9 100644
--- a/src/cli/api-extension-list.command.ts
+++ b/voucherify-service/src/cli/api-extension-list.command.ts
@@ -7,8 +7,10 @@ import Table from 'cli-table';
name: 'integration-list',
description: 'List registered commercetools API Extension',
})
-export class ApiExtensionListCommand implements CommandRunner {
- constructor(private readonly registerService: ApiExtensionService) {}
+export class ApiExtensionListCommand extends CommandRunner {
+ constructor(private readonly registerService: ApiExtensionService) {
+ super();
+ }
async run(): Promise {
const spinner = loadingCli('List registered API Extensions').start();
const extensions = await this.registerService.list();
diff --git a/src/cli/api-extension-update.command.ts b/voucherify-service/src/cli/api-extension-update.command.ts
similarity index 65%
rename from src/cli/api-extension-update.command.ts
rename to voucherify-service/src/cli/api-extension-update.command.ts
index c38e2776..4784488f 100644
--- a/src/cli/api-extension-update.command.ts
+++ b/voucherify-service/src/cli/api-extension-update.command.ts
@@ -6,15 +6,20 @@ import loadingCli from 'loading-cli';
@Command({
name: 'integration-update',
description:
- 'Remove old and add new API Extension pointing to your server. Url is taken from APP_URL environment variable. Old API Extension is recognized by API Extension "key" attribute configured by COMMERCE_TOOLS_API_EXTENSION_KEY environment variable',
+ 'Remove old and add new API Extension pointing to your server. Url is taken from APP_URL or CONNECT_SERVICE_URL environment variables. Old API Extension is recognized by API Extension "key" attribute configured by COMMERCE_TOOLS_API_EXTENSION_KEY environment variable',
})
-export class ApiExtensionUpdateCommand implements CommandRunner {
+export class ApiExtensionUpdateCommand extends CommandRunner {
constructor(
private readonly apiExtensionService: ApiExtensionService,
private readonly configService: ConfigService,
- ) {}
+ ) {
+ super();
+ }
async run(): Promise {
- const url = this.configService.get('APP_URL');
+ const url =
+ this.configService.get('APP_URL') ||
+ this.configService.get('CONNECT_SERVICE_URL');
+
const spinner = loadingCli(`Add API Extension for ${url}`).start();
const result = await this.apiExtensionService.update(url);
if (result) {
diff --git a/src/cli/config.command.ts b/voucherify-service/src/cli/config.command.ts
similarity index 95%
rename from src/cli/config.command.ts
rename to voucherify-service/src/cli/config.command.ts
index a379224f..e5f76251 100644
--- a/src/cli/config.command.ts
+++ b/voucherify-service/src/cli/config.command.ts
@@ -10,11 +10,13 @@ import { CustomTypesService } from '../commercetools/custom-types/custom-types.s
2. coupon tax category - needed for any coupon or gift card with a fixed amount discount
`,
})
-export class ConfigCommand implements CommandRunner {
+export class ConfigCommand extends CommandRunner {
constructor(
private readonly typesService: CustomTypesService,
private readonly taxCategoriesService: TaxCategoriesService,
- ) {}
+ ) {
+ super();
+ }
async run(): Promise {
const spinnerCouponsTypes = loadingCli(
`[1/2] Attempt to configure required coupon types in Commercetools`,
diff --git a/src/cli/migrate.command.ts b/voucherify-service/src/cli/migrate.command.ts
similarity index 96%
rename from src/cli/migrate.command.ts
rename to voucherify-service/src/cli/migrate.command.ts
index 0e1c9f6b..45eed338 100644
--- a/src/cli/migrate.command.ts
+++ b/voucherify-service/src/cli/migrate.command.ts
@@ -4,6 +4,7 @@ import loadingCli from 'loading-cli';
import { ProductImportService } from '../import/product-import.service';
import { OrderImportService } from '../import/order-import.service';
import { CustomerImportService } from '../import/customer-import.service';
+import { CommandMetadata } from 'nest-commander/src/command-runner.interface';
type ResourceTypeArg = {
name: 'products' | 'orders' | 'customers';
@@ -24,13 +25,14 @@ interface MigrateCommandInterface {
description:
'Sync resources from commercetools to Voucherify. You can add optional argument to sync not all resources, but from specific time',
})
-export class MigrateCommand implements CommandRunner {
+export class MigrateCommand extends CommandRunner {
constructor(
private readonly productImportService: ProductImportService,
private readonly orderImportService: OrderImportService,
private readonly customerImportService: CustomerImportService,
- private readonly logger: Logger,
- ) {}
+ ) {
+ super();
+ }
@Option({
flags: '--type [string]',
diff --git a/src/commercetools/api-extension.controller.ts b/voucherify-service/src/commercetools/api-extension.controller.ts
similarity index 100%
rename from src/commercetools/api-extension.controller.ts
rename to voucherify-service/src/commercetools/api-extension.controller.ts
diff --git a/src/commercetools/api-extension.guard.ts b/voucherify-service/src/commercetools/api-extension.guard.ts
similarity index 100%
rename from src/commercetools/api-extension.guard.ts
rename to voucherify-service/src/commercetools/api-extension.guard.ts
diff --git a/src/commercetools/api-extension.service.ts b/voucherify-service/src/commercetools/api-extension.service.ts
similarity index 100%
rename from src/commercetools/api-extension.service.ts
rename to voucherify-service/src/commercetools/api-extension.service.ts
diff --git a/src/commercetools/commercetools-connector.service.ts b/voucherify-service/src/commercetools/commercetools-connector.service.ts
similarity index 100%
rename from src/commercetools/commercetools-connector.service.ts
rename to voucherify-service/src/commercetools/commercetools-connector.service.ts
diff --git a/src/commercetools/commercetools.service.ts b/voucherify-service/src/commercetools/commercetools.service.ts
similarity index 97%
rename from src/commercetools/commercetools.service.ts
rename to voucherify-service/src/commercetools/commercetools.service.ts
index 3cecf042..87b35dc7 100644
--- a/src/commercetools/commercetools.service.ts
+++ b/voucherify-service/src/commercetools/commercetools.service.ts
@@ -129,7 +129,8 @@ export class CommercetoolsService implements StoreInterface {
});
return;
}
- await this.cartUpdateHandler(translateCtCartToCart(cart)); //dropping sessions from coupons that are not included in cart (because of API extension timeout)
+ //dropping sessions from coupons that are not included in cart (because of API extension timeout)
+ await this.cartUpdateHandler(translateCtCartToCart(cart));
this.logger.debug('Coupons changes were rolled back successfully');
return;
}
diff --git a/src/commercetools/custom-types/coupon-type-definition.ts b/voucherify-service/src/commercetools/custom-types/coupon-type-definition.ts
similarity index 100%
rename from src/commercetools/custom-types/coupon-type-definition.ts
rename to voucherify-service/src/commercetools/custom-types/coupon-type-definition.ts
diff --git a/src/commercetools/custom-types/custom-types.service.ts b/voucherify-service/src/commercetools/custom-types/custom-types.service.ts
similarity index 100%
rename from src/commercetools/custom-types/custom-types.service.ts
rename to voucherify-service/src/commercetools/custom-types/custom-types.service.ts
diff --git a/src/commercetools/dto/CartOrder.dto.ts b/voucherify-service/src/commercetools/dto/CartOrder.dto.ts
similarity index 100%
rename from src/commercetools/dto/CartOrder.dto.ts
rename to voucherify-service/src/commercetools/dto/CartOrder.dto.ts
diff --git a/src/commercetools/handle-timeout-interceptor.service.ts b/voucherify-service/src/commercetools/handle-timeout-interceptor.service.ts
similarity index 94%
rename from src/commercetools/handle-timeout-interceptor.service.ts
rename to voucherify-service/src/commercetools/handle-timeout-interceptor.service.ts
index 9edf9b77..8faf9de0 100644
--- a/src/commercetools/handle-timeout-interceptor.service.ts
+++ b/voucherify-service/src/commercetools/handle-timeout-interceptor.service.ts
@@ -22,7 +22,7 @@ export class HandleTimeoutInterceptor implements NestInterceptor {
next: CallHandler,
): Promise> {
const body = context?.switchToHttp()?.getRequest()?.body;
- if (!(body.action === 'Update' && body.resource.typeId === 'cart')) {
+ if (!(body?.action === 'Update' && body?.resource.typeId === 'cart')) {
return next.handle();
}
const now = Date.now();
diff --git a/src/commercetools/store-actions/cart-update-actions.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/CartAction.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/CartAction.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/CartAction.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/CartAction.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/addDirectDiscountWithDiscountSummary.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/addDirectDiscountWithDiscountSummary.ts
similarity index 89%
rename from src/commercetools/store-actions/cart-update-actions/addDirectDiscountWithDiscountSummary.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/addDirectDiscountWithDiscountSummary.ts
index 5897d7b2..a3e6cc20 100644
--- a/src/commercetools/store-actions/cart-update-actions/addDirectDiscountWithDiscountSummary.ts
+++ b/voucherify-service/src/commercetools/store-actions/cart-update-actions/addDirectDiscountWithDiscountSummary.ts
@@ -5,6 +5,12 @@ import {
} from './CartAction';
import { FREE_SHIPPING_UNIT_TYPE } from '../../../consts/voucherify';
+const sortDiscounts = (discounts) =>
+ discounts.sort((discount1, discount2) => {
+ if (discount1?.target?.predicate === 'true') return 1;
+ return -1;
+ });
+
export default function addDirectDiscountWithDiscountSummary(
cart: Cart,
dataToRunCartActionsBuilder: DataToRunCartActionsBuilder,
@@ -74,11 +80,7 @@ export default function addDirectDiscountWithDiscountSummary(
return [
{
action: 'setDirectDiscounts',
- discounts: discounts.sort((discount1, discount2) => {
- if (discount1?.target?.predicate === 'true') return 1;
- if (discount2?.target?.predicate === 'true') return -1;
- return -1;
- }),
+ discounts: sortDiscounts(discounts),
},
];
}
diff --git a/src/commercetools/store-actions/cart-update-actions/builderActions/applyDiscounts.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/applyDiscounts.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/builderActions/applyDiscounts.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/applyDiscounts.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/builderActions/lineItemsAndTheirCustomFields.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/lineItemsAndTheirCustomFields.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/builderActions/lineItemsAndTheirCustomFields.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/lineItemsAndTheirCustomFields.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/builderActions/setCustomFields.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/setCustomFields.ts
similarity index 86%
rename from src/commercetools/store-actions/cart-update-actions/builderActions/setCustomFields.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/setCustomFields.ts
index f93c6327..19b024f6 100644
--- a/src/commercetools/store-actions/cart-update-actions/builderActions/setCustomFields.ts
+++ b/voucherify-service/src/commercetools/store-actions/cart-update-actions/builderActions/setCustomFields.ts
@@ -1,4 +1,4 @@
-import { Coupon, availablePromotion } from '../../../../integration/types';
+import { Coupon } from '../../../../integration/types';
import {
CartAction,
CartActionSetCustomFieldFreeShipping,
@@ -78,12 +78,9 @@ function setCouponsLimit(
function updateDiscountsCodes(
dataToRunCartActionsBuilder: DataToRunCartActionsBuilder,
-):
- | CartActionSetCustomFieldWithCoupons[]
- | CartActionSetCustomFieldWithValidationFailed[] {
+): CartActionSetCustomFieldWithCoupons {
const { availablePromotions, applicableCoupons, inapplicableCoupons } =
dataToRunCartActionsBuilder;
- const validationFailedAction = [];
const oldCouponsCodes: Coupon[] = (
dataToRunCartActionsBuilder.commerceToolsCart.custom?.fields
?.discount_codes ?? []
@@ -123,21 +120,16 @@ function updateDiscountsCodes(
({
code: coupon.id,
status: 'NOT_APPLIED',
- errMsg: coupon.result?.error?.error?.message
- ? coupon.result?.error?.error.message
- : coupon.result?.error?.message,
+ errMsg: coupon.result?.error?.message || 'Unknown error',
} as Coupon),
),
];
- return [
- {
- action: 'setCustomField',
- name: 'discount_codes',
- value: coupons.map((coupon) => JSON.stringify(coupon)) as string[],
- },
- ...validationFailedAction,
- ];
+ return {
+ action: 'setCustomField',
+ name: 'discount_codes',
+ value: coupons.map((coupon) => JSON.stringify(coupon)) as string[],
+ };
}
export default function setCustomFields(
@@ -146,7 +138,7 @@ export default function setCustomFields(
const cartActions = [] as CartAction[];
cartActions.push(setSessionAsCustomField(dataToRunCartActionsBuilder));
- cartActions.push(...updateDiscountsCodes(dataToRunCartActionsBuilder));
+ cartActions.push(updateDiscountsCodes(dataToRunCartActionsBuilder));
cartActions.push(addShippingProductSourceIds(dataToRunCartActionsBuilder));
cartActions.push(setCouponsLimit(dataToRunCartActionsBuilder));
diff --git a/src/commercetools/store-actions/cart-update-actions/getCartActionBuilders.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/getCartActionBuilders.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/getCartActionBuilders.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/getCartActionBuilders.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/helpers/addFreeLineItems.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/helpers/addFreeLineItems.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/helpers/addFreeLineItems.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/helpers/addFreeLineItems.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/helpers/fixedPrice.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/helpers/fixedPrice.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/helpers/fixedPrice.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/helpers/fixedPrice.ts
diff --git a/src/commercetools/store-actions/cart-update-actions/helpers/removeFreeLineItemsForNonApplicableCoupon.ts b/voucherify-service/src/commercetools/store-actions/cart-update-actions/helpers/removeFreeLineItemsForNonApplicableCoupon.ts
similarity index 100%
rename from src/commercetools/store-actions/cart-update-actions/helpers/removeFreeLineItemsForNonApplicableCoupon.ts
rename to voucherify-service/src/commercetools/store-actions/cart-update-actions/helpers/removeFreeLineItemsForNonApplicableCoupon.ts
diff --git a/voucherify-service/src/commercetools/store-actions/order-paid-actions.ts b/voucherify-service/src/commercetools/store-actions/order-paid-actions.ts
new file mode 100644
index 00000000..a02d5493
--- /dev/null
+++ b/voucherify-service/src/commercetools/store-actions/order-paid-actions.ts
@@ -0,0 +1,101 @@
+import { Payment } from '@commercetools/platform-sdk';
+import { ByProjectKeyRequestBuilder } from '@commercetools/platform-sdk/dist/declarations/src/generated/client/by-project-key-request-builder';
+import { Order as CommerceToolsOrder } from '@commercetools/platform-sdk/dist/declarations/src/generated/models/order';
+import { CUSTOM_FIELD_PREFIX } from '../../consts/voucherify';
+import { deleteObjectsFromObject } from '../utils/deleteObjectsFromObject';
+import flatten from 'flat';
+
+const CUSTOM_FIELD_PREFIX_LENGTH = CUSTOM_FIELD_PREFIX.length;
+
+const addToMetadataReduceFunction = (accumulator, key, variable) => {
+ if (typeof variable !== 'object') {
+ accumulator[key] = variable;
+ } else if (Array.isArray(variable)) {
+ accumulator[key] = variable.map((element) => {
+ if (typeof element !== 'object') {
+ return element;
+ }
+ return deleteObjectsFromObject(flatten(element));
+ });
+ } else if (typeof variable === 'object') {
+ accumulator[key] = deleteObjectsFromObject(flatten(variable));
+ }
+ return accumulator;
+};
+
+const getOrderMetadataFromCustomFields = (
+ order,
+ orderMetadataSchemaProperties,
+) => {
+ const customMetadataProperties = orderMetadataSchemaProperties.filter(
+ (key) =>
+ key.length > CUSTOM_FIELD_PREFIX_LENGTH &&
+ key.slice(0, CUSTOM_FIELD_PREFIX_LENGTH) === CUSTOM_FIELD_PREFIX,
+ );
+ if (!(order?.custom?.fields && customMetadataProperties.length)) {
+ return {};
+ }
+ return customMetadataProperties
+ .filter(
+ (key) => order.custom.fields?.[key.slice(CUSTOM_FIELD_PREFIX_LENGTH)],
+ )
+ .reduce(
+ (accumulator, key) =>
+ addToMetadataReduceFunction(
+ accumulator,
+ key,
+ order.custom.fields[key.slice(CUSTOM_FIELD_PREFIX_LENGTH)],
+ ),
+ {},
+ );
+};
+
+const getOrderMetadata = (order, metadataProperties) => {
+ return metadataProperties
+ .filter(
+ (key) =>
+ key !== 'payments' &&
+ key.slice(0, CUSTOM_FIELD_PREFIX_LENGTH) !== CUSTOM_FIELD_PREFIX,
+ )
+ .reduce(
+ (accumulator, key) =>
+ addToMetadataReduceFunction(accumulator, key, order[key]),
+ {},
+ );
+};
+
+export class OrderPaidActions implements OrderPaidActions {
+ private ctClient: ByProjectKeyRequestBuilder;
+
+ public setCtClient(value: ByProjectKeyRequestBuilder) {
+ this.ctClient = value;
+ }
+
+ public async findPayment(id: string): Promise {
+ return (await this.ctClient.payments().withId({ ID: id }).get().execute())
+ ?.body;
+ }
+
+ public async getCustomMetadataForOrder(
+ order: CommerceToolsOrder,
+ orderMetadataSchemaProperties: string[],
+ ): Promise<{ [key: string]: string }> {
+ const metadata = {
+ ...getOrderMetadataFromCustomFields(order, orderMetadataSchemaProperties),
+ ...getOrderMetadata(order, orderMetadataSchemaProperties),
+ };
+
+ if (orderMetadataSchemaProperties.includes('payments')) {
+ const payments = [];
+ const paymentReferences = order?.paymentInfo?.payments ?? [];
+ for await (const paymentReference of paymentReferences) {
+ payments.push(await this.findPayment(paymentReference.id));
+ }
+ metadata['payments'] = payments
+ .filter((payment) => payment?.id)
+ .map((payment) => deleteObjectsFromObject(flatten(payment)));
+ }
+
+ return metadata;
+ }
+}
diff --git a/src/commercetools/tax-categories/tax-categories.service.ts b/voucherify-service/src/commercetools/tax-categories/tax-categories.service.ts
similarity index 99%
rename from src/commercetools/tax-categories/tax-categories.service.ts
rename to voucherify-service/src/commercetools/tax-categories/tax-categories.service.ts
index bf05695c..70a16808 100644
--- a/src/commercetools/tax-categories/tax-categories.service.ts
+++ b/voucherify-service/src/commercetools/tax-categories/tax-categories.service.ts
@@ -154,6 +154,7 @@ export class TaxCategoriesService {
},
})
.execute();
+
const success = [200, 201].includes(response.statusCode);
if (success) {
this.logger.debug({ msg: 'Updated countries for coupon tax category' });
diff --git a/src/commercetools/types.ts b/voucherify-service/src/commercetools/types.ts
similarity index 100%
rename from src/commercetools/types.ts
rename to voucherify-service/src/commercetools/types.ts
diff --git a/src/commercetools/utils/deleteObjectsFromObject.ts b/voucherify-service/src/commercetools/utils/deleteObjectsFromObject.ts
similarity index 100%
rename from src/commercetools/utils/deleteObjectsFromObject.ts
rename to voucherify-service/src/commercetools/utils/deleteObjectsFromObject.ts
diff --git a/src/commercetools/utils/deserializeCoupons.ts b/voucherify-service/src/commercetools/utils/deserializeCoupons.ts
similarity index 100%
rename from src/commercetools/utils/deserializeCoupons.ts
rename to voucherify-service/src/commercetools/utils/deserializeCoupons.ts
diff --git a/src/commercetools/utils/getCommercetoolstCurrentPriceAmount.ts b/voucherify-service/src/commercetools/utils/getCommercetoolstCurrentPriceAmount.ts
similarity index 52%
rename from src/commercetools/utils/getCommercetoolstCurrentPriceAmount.ts
rename to voucherify-service/src/commercetools/utils/getCommercetoolstCurrentPriceAmount.ts
index 08ee0389..fbbf12af 100644
--- a/src/commercetools/utils/getCommercetoolstCurrentPriceAmount.ts
+++ b/voucherify-service/src/commercetools/utils/getCommercetoolstCurrentPriceAmount.ts
@@ -1,6 +1,34 @@
import { Product } from '@commercetools/platform-sdk';
import { PriceSelector } from '../types';
+const filterByDistributionChannels = (priceVariant, distributionChannels) => {
+ if (!(distributionChannels?.length > 0) && !priceVariant?.channel) {
+ return true;
+ }
+ if (distributionChannels.length > 0 && !priceVariant?.channel) {
+ return false;
+ }
+ for (const currentChannel of distributionChannels) {
+ if (
+ priceVariant.channel.typeId === currentChannel.typeId &&
+ priceVariant.channel.id === currentChannel.id
+ ) {
+ return true;
+ }
+ }
+ return false;
+};
+
+const filterByCustomerGroup = (priceVariant, customerGroup) => {
+ if (customerGroup) {
+ return !!(
+ priceVariant?.customerGroup?.typeId === customerGroup.typeId &&
+ priceVariant?.customerGroup?.id === customerGroup.id
+ );
+ }
+ return !priceVariant?.customerGroup;
+};
+
export function getCommercetoolstCurrentPriceAmount(
ctProduct: Product,
productSkuSourceId: string,
@@ -27,34 +55,12 @@ export function getCommercetoolstCurrentPriceAmount(
//country
return priceVariant?.country === country;
})
- .filter((priceVariant) => {
- //customerGroup
- if (customerGroup) {
- return (
- priceVariant?.customerGroup?.typeId === customerGroup.typeId &&
- priceVariant?.customerGroup?.id === customerGroup.id
- );
- }
- return !priceVariant?.customerGroup;
- })
- .filter((priceVariant) => {
- //distributionChannels
- if (!(distributionChannels?.length > 0) && !priceVariant?.channel) {
- return true;
- }
- if (distributionChannels.length > 0 && !priceVariant?.channel) {
- return false;
- }
- distributionChannels.forEach((currentChannel) => {
- if (
- priceVariant.channel.typeId === currentChannel.typeId &&
- priceVariant.channel.id === currentChannel.id
- ) {
- return true;
- }
- });
- return false;
- });
+ .filter((priceVariant) =>
+ filterByCustomerGroup(priceVariant, customerGroup),
+ )
+ .filter((priceVariant) =>
+ filterByDistributionChannels(priceVariant, distributionChannels),
+ );
})?.[0]?.value?.centAmount || 0
);
}
diff --git a/src/commercetools/utils/getCouponsFromCartOrOrder.ts b/voucherify-service/src/commercetools/utils/getCouponsFromCartOrOrder.ts
similarity index 100%
rename from src/commercetools/utils/getCouponsFromCartOrOrder.ts
rename to voucherify-service/src/commercetools/utils/getCouponsFromCartOrOrder.ts
diff --git a/src/commercetools/utils/mappers/getCustomerFromCtOrder.ts b/voucherify-service/src/commercetools/utils/mappers/getCustomerFromCtOrder.ts
similarity index 100%
rename from src/commercetools/utils/mappers/getCustomerFromCtOrder.ts
rename to voucherify-service/src/commercetools/utils/mappers/getCustomerFromCtOrder.ts
diff --git a/src/commercetools/utils/mappers/getPriceSelectorFromCtCart.ts b/voucherify-service/src/commercetools/utils/mappers/getPriceSelectorFromCtCart.ts
similarity index 100%
rename from src/commercetools/utils/mappers/getPriceSelectorFromCtCart.ts
rename to voucherify-service/src/commercetools/utils/mappers/getPriceSelectorFromCtCart.ts
diff --git a/src/commercetools/utils/mappers/getSessionFromCtCart.ts b/voucherify-service/src/commercetools/utils/mappers/getSessionFromCtCart.ts
similarity index 100%
rename from src/commercetools/utils/mappers/getSessionFromCtCart.ts
rename to voucherify-service/src/commercetools/utils/mappers/getSessionFromCtCart.ts
diff --git a/src/commercetools/utils/mappers/getSimpleMetadataForOrder.ts b/voucherify-service/src/commercetools/utils/mappers/getSimpleMetadataForOrder.ts
similarity index 100%
rename from src/commercetools/utils/mappers/getSimpleMetadataForOrder.ts
rename to voucherify-service/src/commercetools/utils/mappers/getSimpleMetadataForOrder.ts
diff --git a/src/commercetools/utils/mappers/mapLineItemsToIntegrationType.ts b/voucherify-service/src/commercetools/utils/mappers/mapLineItemsToIntegrationType.ts
similarity index 100%
rename from src/commercetools/utils/mappers/mapLineItemsToIntegrationType.ts
rename to voucherify-service/src/commercetools/utils/mappers/mapLineItemsToIntegrationType.ts
diff --git a/src/commercetools/utils/mappers/translateCtCartToCart.ts b/voucherify-service/src/commercetools/utils/mappers/translateCtCartToCart.ts
similarity index 100%
rename from src/commercetools/utils/mappers/translateCtCartToCart.ts
rename to voucherify-service/src/commercetools/utils/mappers/translateCtCartToCart.ts
diff --git a/src/commercetools/utils/mappers/translateCtOrderToOrder.ts b/voucherify-service/src/commercetools/utils/mappers/translateCtOrderToOrder.ts
similarity index 100%
rename from src/commercetools/utils/mappers/translateCtOrderToOrder.ts
rename to voucherify-service/src/commercetools/utils/mappers/translateCtOrderToOrder.ts
diff --git a/src/configs/appValidationPipe.ts b/voucherify-service/src/configs/appValidationPipe.ts
similarity index 100%
rename from src/configs/appValidationPipe.ts
rename to voucherify-service/src/configs/appValidationPipe.ts
diff --git a/src/configs/requestJsonLogger.ts b/voucherify-service/src/configs/requestJsonLogger.ts
similarity index 100%
rename from src/configs/requestJsonLogger.ts
rename to voucherify-service/src/configs/requestJsonLogger.ts
diff --git a/src/configs/validationSchema.ts b/voucherify-service/src/configs/validationSchema.ts
similarity index 81%
rename from src/configs/validationSchema.ts
rename to voucherify-service/src/configs/validationSchema.ts
index 7b0ebc91..b19a72f1 100644
--- a/src/configs/validationSchema.ts
+++ b/voucherify-service/src/configs/validationSchema.ts
@@ -1,7 +1,12 @@
import * as Joi from 'joi';
+const getRemoveTrailingSlashRegexp = () => /\/+$/;
+
export const ValidationSchema = Joi.object({
- APP_URL: Joi.string(),
+ APP_URL: Joi.string().replace(getRemoveTrailingSlashRegexp(), '').uri(),
+ CONNECT_SERVICE_URL: Joi.string()
+ .replace(getRemoveTrailingSlashRegexp(), '')
+ .uri(),
VOUCHERIFY_APP_ID: Joi.string().required(),
VOUCHERIFY_SECRET_KEY: Joi.string().required(),
VOUCHERIFY_API_URL: Joi.string().required(),
diff --git a/src/consts/voucherify.ts b/voucherify-service/src/consts/voucherify.ts
similarity index 100%
rename from src/consts/voucherify.ts
rename to voucherify-service/src/consts/voucherify.ts
diff --git a/src/devAttached.ts b/voucherify-service/src/devAttached.ts
similarity index 100%
rename from src/devAttached.ts
rename to voucherify-service/src/devAttached.ts
diff --git a/src/import/customer-import.service.ts b/voucherify-service/src/import/customer-import.service.ts
similarity index 95%
rename from src/import/customer-import.service.ts
rename to voucherify-service/src/import/customer-import.service.ts
index 3a035c5c..2dad9326 100644
--- a/src/import/customer-import.service.ts
+++ b/voucherify-service/src/import/customer-import.service.ts
@@ -3,12 +3,12 @@ import { ConfigService } from '@nestjs/config';
import { createReadStream, unlink } from 'fs';
import FormData from 'form-data';
import fetch from 'node-fetch2';
-import { CommercetoolsConnectorService } from 'src/commercetools/commercetools-connector.service';
import { Customer } from '@commercetools/platform-sdk';
import ObjectsToCsv from 'objects-to-csv';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import crypto = require('crypto');
import { OrderImportService } from './order-import.service';
+import { VoucherifyConnectorService } from '../voucherify/voucherify-connector.service';
+import { CommercetoolsConnectorService } from '../commercetools/commercetools-connector.service';
const sleep = (time: number) => {
return new Promise((resolve) => {
@@ -84,7 +84,7 @@ export class CustomerImportService {
});
}
- for await (const ordersBatch of this.orderImportService.getAllOrders(
+ for await (const ordersBatch of this.orderImportService.getPartialOrders(
period,
)) {
ordersBatch.forEach((order) => {
diff --git a/src/import/import.controller.ts b/voucherify-service/src/import/import.controller.ts
similarity index 100%
rename from src/import/import.controller.ts
rename to voucherify-service/src/import/import.controller.ts
diff --git a/src/import/order-import.service.ts b/voucherify-service/src/import/order-import.service.ts
similarity index 91%
rename from src/import/order-import.service.ts
rename to voucherify-service/src/import/order-import.service.ts
index fae0ee65..300b1dfc 100644
--- a/src/import/order-import.service.ts
+++ b/voucherify-service/src/import/order-import.service.ts
@@ -1,12 +1,12 @@
import { Injectable, Logger } from '@nestjs/common';
import { Order } from '@commercetools/platform-sdk';
import { CommercetoolsConnectorService } from '../commercetools/commercetools-connector.service';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { OrderMapper } from '../integration/utils/mappers/order';
import { CommercetoolsService } from '../commercetools/commercetools.service';
import { getSimpleMetadataForOrder } from '../commercetools/utils/mappers/getSimpleMetadataForOrder';
import { OrderPaidActions } from '../commercetools/store-actions/order-paid-actions';
import { mergeTwoObjectsIntoOne } from '../integration/utils/mergeTwoObjectsIntoOne';
+import { VoucherifyConnectorService } from '../voucherify/voucherify-connector.service';
const sleep = (time: number) => {
return new Promise((resolve) => {
@@ -23,7 +23,9 @@ export class OrderImportService {
private readonly commercetoolsService: CommercetoolsService,
) {}
- public async *getAllOrders(minDateTime?: string): AsyncGenerator {
+ public async *getPartialOrders(
+ minDateTime?: string,
+ ): AsyncGenerator {
const ctClient = this.commerceToolsConnectorService.getClient();
const limit = 100;
let page = 0;
@@ -58,7 +60,7 @@ export class OrderImportService {
} while (!allOrdersCollected);
}
- public async migrateOrders(period?: string) {
+ private async getAllOrders(period?: string) {
const orders = [];
const orderMetadataSchemaProperties =
await this.voucherifyClient.getMetadataSchemaProperties('order');
@@ -66,7 +68,7 @@ export class OrderImportService {
const orderActions = new OrderPaidActions();
orderActions.setCtClient(this.commerceToolsConnectorService.getClient());
- for await (const ordersBatch of this.getAllOrders(period)) {
+ for await (const ordersBatch of this.getPartialOrders(period)) {
for (const order of ordersBatch) {
if (order.paymentState !== 'Paid') {
continue;
@@ -89,7 +91,11 @@ export class OrderImportService {
);
}
}
+ return orders;
+ }
+ public async migrateOrders(period?: string) {
+ const orders = await this.getAllOrders(period);
console.log(`Sending ${orders.length} orders to Voucherify\n`);
const client = this.voucherifyClient.getClient();
diff --git a/src/import/product-import.service.ts b/voucherify-service/src/import/product-import.service.ts
similarity index 91%
rename from src/import/product-import.service.ts
rename to voucherify-service/src/import/product-import.service.ts
index 2df19413..fa50b4a4 100644
--- a/src/import/product-import.service.ts
+++ b/voucherify-service/src/import/product-import.service.ts
@@ -3,13 +3,12 @@ import { ConfigService } from '@nestjs/config';
import { createReadStream, unlink } from 'fs';
import FormData from 'form-data';
import fetch from 'node-fetch2';
-import { CommercetoolsConnectorService } from 'src/commercetools/commercetools-connector.service';
import { Product } from '@commercetools/platform-sdk';
import ObjectsToCsv from 'objects-to-csv';
-
import crypto = require('crypto');
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { getMetadata } from '../integration/utils/mappers/product';
+import { CommercetoolsConnectorService } from '../commercetools/commercetools-connector.service';
+import { VoucherifyConnectorService } from '../voucherify/voucherify-connector.service';
const sleep = (time: number) => {
return new Promise((resolve) => {
@@ -82,8 +81,19 @@ export class ProductImportService {
for await (const productsBatch of this.getAllProducts(period)) {
productsBatch.forEach((product) => {
+ const productNameCountry = this.configService.get(
+ 'COMMERCE_TOOLS_PRODUCT_NAME_COUNTRY',
+ );
+ const names = product.masterData.current.name;
+ const namesKeys = Object.keys(names);
+ const name = productNameCountry
+ ? names[productNameCountry]
+ : namesKeys.length > 0
+ ? names[namesKeys[0]]
+ : undefined;
+
products.push({
- name: product.masterData.current.name.en,
+ name,
source_id: product.id,
...getMetadata(
product.masterData.current.masterVariant.attributes,
@@ -95,7 +105,7 @@ export class ProductImportService {
product.masterData.current.variants.forEach((variant) => {
skus.push({
product_id: product.id,
- sku: product.masterData.current.name.en,
+ sku: name,
source_id: variant.sku,
price: product.masterData.current.masterVariant.price
? product.masterData.current.masterVariant.price.value
@@ -107,7 +117,7 @@ export class ProductImportService {
} else {
skus.push({
product_id: product.id,
- sku: product.masterData.current.name.en,
+ sku: name,
source_id: product.masterData.current.masterVariant.sku,
price: product.masterData.current.masterVariant.price
? product.masterData.current.masterVariant.price.value
diff --git a/src/integration/integration.service.ts b/voucherify-service/src/integration/integration.service.ts
similarity index 91%
rename from src/integration/integration.service.ts
rename to voucherify-service/src/integration/integration.service.ts
index 743895c6..1bba6218 100644
--- a/src/integration/integration.service.ts
+++ b/voucherify-service/src/integration/integration.service.ts
@@ -45,6 +45,7 @@ import { getIncorrectPrices } from './utils/getIncorrectPrices';
import { getCodesIfProductNotFoundIn } from './utils/getCodesIfProductNotFoundIn';
import { getItemsWithCorrectedPrices } from './utils/getItemsWithPricesCorrected';
import { getProductsToAdd } from './utils/getProductsToAddWithPricesCorrected';
+import { getOrderMetadata } from './utils/getOrderMetadata';
@Injectable()
export class IntegrationService {
@@ -125,7 +126,7 @@ export class IntegrationService {
this.configService.get('COMMERCE_TOOLS_COUPONS_LIMIT'),
);
- let validatedCoupons: ValidationValidateStackableResponse =
+ let validatedCoupons =
await this.voucherifyConnectorService.validateStackableVouchers(
buildValidationsValidateStackableParamsForVoucherify(
couponsAppliedAndNewLimitedByConfig,
@@ -135,17 +136,27 @@ export class IntegrationService {
);
const inapplicableRedeemables = getRedeemablesByStatus(
- validatedCoupons.redeemables,
+ [
+ ...validatedCoupons.redeemables,
+ ...(validatedCoupons?.inapplicable_redeemables || []),
+ ],
'INAPPLICABLE',
);
+ if (typeof cartUpdateActions?.setInapplicableCoupons === 'function') {
+ cartUpdateActions.setInapplicableCoupons(inapplicableRedeemables);
+ }
+
const inapplicableCodes = redeemablesToCodes(inapplicableRedeemables);
- if (validatedCoupons.valid === false) {
+ if (
+ //Checking if project uses partial redeemables
+ !Array.isArray(validatedCoupons?.inapplicable_redeemables) &&
+ validatedCoupons.valid === false
+ ) {
const applicableCodes = couponsAppliedAndNewLimitedByConfig.filter(
(coupon) => !inapplicableCodes.includes(coupon.code),
);
if (applicableCodes.length === 0) {
- cartUpdateActions.setInapplicableCoupons(inapplicableRedeemables);
return;
}
//We need to do another call to V% if there is any applicable coupon in the cart
@@ -223,10 +234,9 @@ export class IntegrationService {
);
}
- const productsToAdd: ProductToAdd[] = getProductsToAdd(
- validatedCoupons,
- currentPricesOfProducts,
- );
+ const productsToAdd: ProductToAdd[] = validatedCoupons.order
+ ? getProductsToAdd(validatedCoupons, currentPricesOfProducts)
+ : [];
this.logger.debug({
validatedCoupons,
@@ -269,7 +279,7 @@ export class IntegrationService {
) {
const { id, customerId } = order;
- //products metadata
+ //schema of product metadata
const productMetadataSchemaProperties =
await this.voucherifyConnectorService.getMetadataSchemaProperties(
'product',
@@ -280,38 +290,17 @@ export class IntegrationService {
productMetadataSchemaProperties,
);
- //order metadata
+ //schema of order metadata
const orderMetadataSchemaProperties =
await this.voucherifyConnectorService.getMetadataSchemaProperties(
'order',
);
- let orderMetadata = {};
-
- if (
- typeof order?.rawOrder === 'object' &&
- order?.rawOrder !== undefined &&
- orderMetadataSchemaProperties.length > 0
- ) {
- const simpleMetadata = getSimpleMetadataForOrder(
- order.rawOrder,
- orderMetadataSchemaProperties,
- );
- if (typeof orderPaidActions?.getCustomMetadataForOrder !== 'function') {
- orderMetadata = simpleMetadata;
- } else {
- const customMetadata = await orderPaidActions.getCustomMetadataForOrder(
- order.rawOrder,
- orderMetadataSchemaProperties,
- );
- if (Object.keys(customMetadata).length > 0) {
- orderMetadata = mergeTwoObjectsIntoOne(
- customMetadata,
- simpleMetadata,
- );
- }
- }
- }
+ const orderMetadata = await getOrderMetadata(
+ order?.rawOrder,
+ orderMetadataSchemaProperties,
+ orderPaidActions.getCustomMetadataForOrder,
+ );
const coupons: Coupon[] = (order.coupons ?? []).filter(
(coupon) =>
diff --git a/src/integration/types.ts b/voucherify-service/src/integration/types.ts
similarity index 99%
rename from src/integration/types.ts
rename to voucherify-service/src/integration/types.ts
index a6421b61..f1c70854 100644
--- a/src/integration/types.ts
+++ b/voucherify-service/src/integration/types.ts
@@ -10,7 +10,7 @@ import { CustomerRequest } from '@voucherify/sdk/dist/types/Customers';
export type CartUpdateHandler = (
cart: Cart,
storeActions?: CartUpdateActionsInterface,
-) => void;
+) => Promise;
export type OrderRedeemHandler = (
order: Order,
diff --git a/src/integration/utils/couponsOperationFunctions.ts b/voucherify-service/src/integration/utils/couponsOperationFunctions.ts
similarity index 100%
rename from src/integration/utils/couponsOperationFunctions.ts
rename to voucherify-service/src/integration/utils/couponsOperationFunctions.ts
diff --git a/src/integration/utils/getCodesIfProductNotFoundIn.ts b/voucherify-service/src/integration/utils/getCodesIfProductNotFoundIn.ts
similarity index 100%
rename from src/integration/utils/getCodesIfProductNotFoundIn.ts
rename to voucherify-service/src/integration/utils/getCodesIfProductNotFoundIn.ts
diff --git a/src/integration/utils/getIncorrectPrices.ts b/voucherify-service/src/integration/utils/getIncorrectPrices.ts
similarity index 100%
rename from src/integration/utils/getIncorrectPrices.ts
rename to voucherify-service/src/integration/utils/getIncorrectPrices.ts
diff --git a/src/integration/utils/getItemsWithPricesCorrected.ts b/voucherify-service/src/integration/utils/getItemsWithPricesCorrected.ts
similarity index 100%
rename from src/integration/utils/getItemsWithPricesCorrected.ts
rename to voucherify-service/src/integration/utils/getItemsWithPricesCorrected.ts
diff --git a/voucherify-service/src/integration/utils/getOrderMetadata.ts b/voucherify-service/src/integration/utils/getOrderMetadata.ts
new file mode 100644
index 00000000..378c8873
--- /dev/null
+++ b/voucherify-service/src/integration/utils/getOrderMetadata.ts
@@ -0,0 +1,30 @@
+import { getSimpleMetadataForOrder } from '../../commercetools/utils/mappers/getSimpleMetadataForOrder';
+import { mergeTwoObjectsIntoOne } from './mergeTwoObjectsIntoOne';
+
+export const getOrderMetadata = async (
+ rawCtOrder,
+ orderMetadataSchemaProperties,
+ getCustomMetadataForOrder = undefined,
+) => {
+ if (
+ !(rawCtOrder instanceof Object) ||
+ !orderMetadataSchemaProperties?.length
+ ) {
+ return {};
+ }
+ const simpleMetadata = getSimpleMetadataForOrder(
+ rawCtOrder,
+ orderMetadataSchemaProperties,
+ );
+ if (typeof getCustomMetadataForOrder !== 'function') {
+ return simpleMetadata;
+ } else {
+ const customMetadata = await getCustomMetadataForOrder(
+ rawCtOrder,
+ orderMetadataSchemaProperties,
+ );
+ if (Object.keys(customMetadata).length > 0) {
+ return mergeTwoObjectsIntoOne(customMetadata, simpleMetadata);
+ }
+ }
+};
diff --git a/src/integration/utils/getProductsToAddWithPricesCorrected.ts b/voucherify-service/src/integration/utils/getProductsToAddWithPricesCorrected.ts
similarity index 100%
rename from src/integration/utils/getProductsToAddWithPricesCorrected.ts
rename to voucherify-service/src/integration/utils/getProductsToAddWithPricesCorrected.ts
diff --git a/src/integration/utils/helperFunctions.ts b/voucherify-service/src/integration/utils/helperFunctions.ts
similarity index 100%
rename from src/integration/utils/helperFunctions.ts
rename to voucherify-service/src/integration/utils/helperFunctions.ts
diff --git a/src/integration/utils/mappers/buildRedeemStackableRequestForVoucherify.ts b/voucherify-service/src/integration/utils/mappers/buildRedeemStackableRequestForVoucherify.ts
similarity index 100%
rename from src/integration/utils/mappers/buildRedeemStackableRequestForVoucherify.ts
rename to voucherify-service/src/integration/utils/mappers/buildRedeemStackableRequestForVoucherify.ts
diff --git a/src/integration/utils/mappers/buildValidationsValidateStackableParamsForVoucherify.ts b/voucherify-service/src/integration/utils/mappers/buildValidationsValidateStackableParamsForVoucherify.ts
similarity index 100%
rename from src/integration/utils/mappers/buildValidationsValidateStackableParamsForVoucherify.ts
rename to voucherify-service/src/integration/utils/mappers/buildValidationsValidateStackableParamsForVoucherify.ts
diff --git a/src/integration/utils/mappers/order.ts b/voucherify-service/src/integration/utils/mappers/order.ts
similarity index 100%
rename from src/integration/utils/mappers/order.ts
rename to voucherify-service/src/integration/utils/mappers/order.ts
diff --git a/src/integration/utils/mappers/product.ts b/voucherify-service/src/integration/utils/mappers/product.ts
similarity index 100%
rename from src/integration/utils/mappers/product.ts
rename to voucherify-service/src/integration/utils/mappers/product.ts
diff --git a/src/integration/utils/mergeTwoObjectsIntoOne.ts b/voucherify-service/src/integration/utils/mergeTwoObjectsIntoOne.ts
similarity index 100%
rename from src/integration/utils/mergeTwoObjectsIntoOne.ts
rename to voucherify-service/src/integration/utils/mergeTwoObjectsIntoOne.ts
diff --git a/src/integration/utils/redeemableOperationFunctions.ts b/voucherify-service/src/integration/utils/redeemableOperationFunctions.ts
similarity index 100%
rename from src/integration/utils/redeemableOperationFunctions.ts
rename to voucherify-service/src/integration/utils/redeemableOperationFunctions.ts
diff --git a/src/integration/utils/replaceCodesWithInapplicableCoupons.ts b/voucherify-service/src/integration/utils/replaceCodesWithInapplicableCoupons.ts
similarity index 100%
rename from src/integration/utils/replaceCodesWithInapplicableCoupons.ts
rename to voucherify-service/src/integration/utils/replaceCodesWithInapplicableCoupons.ts
diff --git a/src/main.ts b/voucherify-service/src/main.ts
similarity index 100%
rename from src/main.ts
rename to voucherify-service/src/main.ts
diff --git a/src/misc/elapsedTime.ts b/voucherify-service/src/misc/elapsedTime.ts
similarity index 100%
rename from src/misc/elapsedTime.ts
rename to voucherify-service/src/misc/elapsedTime.ts
diff --git a/src/misc/request-json-file-logger.ts b/voucherify-service/src/misc/request-json-file-logger.ts
similarity index 79%
rename from src/misc/request-json-file-logger.ts
rename to voucherify-service/src/misc/request-json-file-logger.ts
index 4c4a7476..8560f305 100644
--- a/src/misc/request-json-file-logger.ts
+++ b/voucherify-service/src/misc/request-json-file-logger.ts
@@ -1,5 +1,4 @@
import * as fs from 'fs';
-import * as path from 'path';
import { RequestJsonLoggerInterface } from './request-json-logger-interface';
export class RequestJsonFileLogger implements RequestJsonLoggerInterface {
@@ -11,11 +10,9 @@ export class RequestJsonFileLogger implements RequestJsonLoggerInterface {
response: unknown,
additional?: Record,
) {
- const fileName = path.join(
- process.cwd(),
- this.loggingDirectory,
- `${label}-${Date.now()}.json`,
- );
+ const fileName = `${process.cwd()}${
+ this.loggingDirectory ? `/${this.loggingDirectory}` : ''
+ }/${label}-${Date.now()}.json`;
return fs.promises.writeFile(
fileName,
diff --git a/src/misc/request-json-logger-interface.ts b/voucherify-service/src/misc/request-json-logger-interface.ts
similarity index 100%
rename from src/misc/request-json-logger-interface.ts
rename to voucherify-service/src/misc/request-json-logger-interface.ts
diff --git a/src/misc/sleep.ts b/voucherify-service/src/misc/sleep.ts
similarity index 100%
rename from src/misc/sleep.ts
rename to voucherify-service/src/misc/sleep.ts
diff --git a/src/voucherify/voucherify-connector.service.ts b/voucherify-service/src/voucherify/voucherify-connector.service.ts
similarity index 89%
rename from src/voucherify/voucherify-connector.service.ts
rename to voucherify-service/src/voucherify/voucherify-connector.service.ts
index c31f6780..b3bedc47 100644
--- a/src/voucherify/voucherify-connector.service.ts
+++ b/voucherify-service/src/voucherify/voucherify-connector.service.ts
@@ -5,6 +5,8 @@ import {
RedemptionsRedeemStackableParams,
ValidationsValidateStackableParams,
VoucherifyServerSide,
+ ValidationValidateStackableResponse,
+ StackableRedeemableResponse,
} from '@voucherify/sdk';
import { ConfigService } from '@nestjs/config';
import {
@@ -32,12 +34,14 @@ export class VoucherifyConnectorService {
);
private readonly apiUrl: string =
this.configService.get('VOUCHERIFY_API_URL');
+
getClient(): ReturnType {
const start = performance.now();
const voucherify = VoucherifyServerSide({
applicationId: this.applicationId,
secretKey: this.secretKey,
apiUrl: this.apiUrl,
+ channel: `Commercetools integration-v${process.env.npm_package_version}`,
});
const end = performance.now();
this.logger.debug(`V% getClient creation: ${end - start}ms`);
@@ -45,7 +49,14 @@ export class VoucherifyConnectorService {
return voucherify;
}
- async validateStackableVouchers(request: ValidationsValidateStackableParams) {
+ async validateStackableVouchers(
+ request: ValidationsValidateStackableParams,
+ ): Promise<
+ ValidationValidateStackableResponse & {
+ // At the momement of the implementation, Voucherifyu SDK do not recognize Partial Redeem API.
+ inapplicable_redeemables?: StackableRedeemableResponse[];
+ }
+ > {
const start = performance.now();
const response = await this.getClient().validations.validateStackable(
request,
@@ -100,7 +111,6 @@ export class VoucherifyConnectorService {
elapsedTime: elapsedTime(start, end),
},
);
-
return response;
}
diff --git a/src/voucherify/voucherify.service.ts b/voucherify-service/src/voucherify/voucherify.service.ts
similarity index 98%
rename from src/voucherify/voucherify.service.ts
rename to voucherify-service/src/voucherify/voucherify.service.ts
index bf53aca7..f5af2d37 100644
--- a/src/voucherify/voucherify.service.ts
+++ b/voucherify-service/src/voucherify/voucherify.service.ts
@@ -61,9 +61,9 @@ export class VoucherifyService {
return redeemable;
});
- return (redeemables = [
+ return [
...redeemables.filter((element) => element.object !== 'promotion_tier'),
...promotionTiersWithBanner,
- ]);
+ ];
}
}
diff --git a/voucherify-service/test/__mocks__/commerce-tools-connector.service.ts b/voucherify-service/test/__mocks__/commerce-tools-connector.service.ts
new file mode 100644
index 00000000..8a6c73de
--- /dev/null
+++ b/voucherify-service/test/__mocks__/commerce-tools-connector.service.ts
@@ -0,0 +1,511 @@
+import { CommercetoolsConnectorService } from '../../src/commercetools/commercetools-connector.service';
+import { ConfigService } from '@nestjs/config';
+
+export const getCommerceToolsConnectorServiceMockWithEmptyProductResponse =
+ () => {
+ const commerceToolsConnectoService = jest.createMockFromModule(
+ '../../src/commercetools/commercetools-connector.service',
+ ) as CommercetoolsConnectorService & { getProductMock: jest.Mock };
+ const products: any = {
+ body: {
+ results: [],
+ },
+ };
+
+ commerceToolsConnectoService.getProductMock = jest
+ .fn()
+ .mockReturnValue(products);
+
+ commerceToolsConnectoService.getClient = jest.fn().mockReturnValue({
+ products: jest.fn().mockReturnValue({
+ get: jest.fn().mockReturnValue({
+ execute: commerceToolsConnectoService.getProductMock,
+ }),
+ }),
+ });
+
+ return commerceToolsConnectoService;
+ };
+
+type Product = {
+ sku: string;
+ price: number;
+ id: string;
+};
+export const getCommerceToolsConnectorServiceMockWithProductResponse = (
+ product: Product,
+) => {
+ const commerceToolsConnectorService = jest.createMockFromModule(
+ '../../src/commercetools/commercetools-connector.service',
+ ) as CommercetoolsConnectorService;
+
+ const products: any = {
+ body: {
+ results: [
+ {
+ id: product.id,
+ masterData: {
+ current: {
+ variants: [
+ {
+ sku: product.sku,
+ prices: [
+ {
+ value: {
+ centAmount: product.price,
+ currencyCode: 'EUR',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ },
+ },
+ ],
+ },
+ };
+
+ const getTaxCategories = jest.fn().mockReturnValue({
+ statusCode: 200,
+ body: {
+ limit: 20,
+ offset: 0,
+ count: 1,
+ total: 1,
+ results: [
+ {
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ version: 5,
+ versionModifiedAt: '2023-05-31T16:04:06.867Z',
+ createdAt: '2023-05-31T16:04:06.656Z',
+ lastModifiedAt: '2023-05-31T16:04:06.867Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ name: 'coupon',
+ rates: [
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'AT',
+ id: 'lRz7jEYP',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'US',
+ id: 'Uw-uqD9r',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'NL',
+ id: 'StiKGNhA',
+ subRates: [],
+ },
+ ],
+ },
+ ],
+ },
+ });
+ const getClientResponse = {
+ body: {
+ key: 'ct-voucherify-piotr',
+ name: 'ct-voucherify-piotr',
+ countries: ['DE', 'AT', 'US', 'NL'],
+ currencies: ['EUR', 'USD'],
+ languages: ['en', 'de'],
+ createdAt: '2023-05-31T15:50:11.972Z',
+ createdBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ lastModifiedAt: '2023-06-01T13:49:43.819Z',
+ lastModifiedBy: { isPlatformClient: true },
+ trialUntil: '2023-07',
+ messages: { enabled: false, deleteDaysAfterCreation: 15 },
+ carts: {
+ deleteDaysAfterLastModification: 90,
+ allowAddingUnpublishedProducts: false,
+ countryTaxRateFallbackEnabled: false,
+ },
+ shoppingLists: { deleteDaysAfterLastModification: 360 },
+ version: 9,
+ searchIndexing: {
+ products: {
+ status: 'Activated',
+ lastModifiedAt: '2023-05-31T16:05:30.570Z',
+ lastModifiedBy: { isPlatformClient: true },
+ },
+ orders: {
+ status: 'Activated',
+ lastModifiedAt: '2023-06-01T13:49:43.817Z',
+ lastModifiedBy: { isPlatformClient: true },
+ },
+ },
+ },
+ statusCode: 200,
+ };
+ const get = jest.fn().mockReturnValue({ execute: getTaxCategories });
+ const taxCategories = jest.fn().mockReturnValue({ get });
+ commerceToolsConnectorService.getClient = jest.fn().mockReturnValue({
+ products: jest.fn().mockReturnValue({
+ get: jest.fn().mockReturnValue({
+ execute: jest.fn().mockReturnValue(products),
+ }),
+ }),
+ taxCategories,
+ get: jest.fn().mockReturnValue({
+ execute: jest.fn().mockReturnValue(getClientResponse),
+ }),
+ });
+
+ return commerceToolsConnectorService;
+};
+
+export const getCommerceToolsConnectorServiceMockWithCouponTypes = () => {
+ const commerceToolsConnectoService = jest.createMockFromModule(
+ '../../src/commercetools/commercetools-connector.service',
+ ) as CommercetoolsConnectorService;
+
+ const get = (payload) => {
+ if (payload?.queryArgs?.where === 'key="couponCodes"') {
+ return {
+ execute: jest.fn().mockReturnValue({
+ body: {
+ limit: 20,
+ offset: 0,
+ count: 1,
+ total: 1,
+ results: [
+ {
+ id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01',
+ version: 1,
+ versionModifiedAt: '2023-05-31T16:04:06.194Z',
+ createdAt: '2023-05-31T16:04:06.194Z',
+ lastModifiedAt: '2023-05-31T16:04:06.194Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ key: 'couponCodes',
+ name: { en: 'couponCodes' },
+ description: { en: 'couponCodes' },
+ resourceTypeIds: ['order'],
+ fieldDefinitions: [
+ {
+ name: 'discount_codes',
+ label: { en: 'discount_codes' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'used_codes',
+ label: { en: 'used_codes' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'session',
+ label: { en: 'session' },
+ required: false,
+ type: { name: 'String' },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'shippingProductSourceIds',
+ label: { en: 'shippingProductSourceIds' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'isValidationFailed',
+ label: { en: 'isValidationFailed' },
+ required: false,
+ type: { name: 'Boolean' },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'couponsLimit',
+ label: { en: 'couponsLimit' },
+ required: false,
+ type: { name: 'Number' },
+ inputHint: 'SingleLine',
+ },
+ ],
+ },
+ ],
+ },
+ statusCode: 200,
+ }),
+ };
+ }
+ return {
+ execute: jest.fn().mockReturnValue({
+ body: {
+ limit: 20,
+ offset: 0,
+ count: 1,
+ total: 1,
+ results: [
+ {
+ id: '69840f60-bd39-4958-b3fc-85bf6c492791',
+ version: 1,
+ versionModifiedAt: '2023-05-31T16:04:06.433Z',
+ createdAt: '2023-05-31T16:04:06.433Z',
+ lastModifiedAt: '2023-05-31T16:04:06.433Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ key: 'lineItemCodesType',
+ name: { en: 'lineItemCodesType' },
+ description: { en: 'lineItemCodesType' },
+ resourceTypeIds: ['line-item'],
+ fieldDefinitions: [
+ {
+ name: 'applied_codes',
+ label: { en: 'applied_codes' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'coupon_fixed_price',
+ label: { en: 'coupon_fixed_price' },
+ required: false,
+ type: { name: 'Number' },
+ inputHint: 'SingleLine',
+ },
+ ],
+ },
+ ],
+ },
+ statusCode: 200,
+ }),
+ };
+ };
+
+ commerceToolsConnectoService.getClient = jest.fn().mockReturnValue({
+ types: jest.fn().mockReturnValue({
+ get,
+ }),
+ });
+
+ return commerceToolsConnectoService;
+};
+
+export const getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest =
+ () => {
+ const commerceToolsConnectoService = jest.createMockFromModule(
+ '../../src/commercetools/commercetools-connector.service',
+ ) as CommercetoolsConnectorService;
+
+ const get = (payload) => {
+ if (payload?.queryArgs?.where === 'key="couponCodes"') {
+ return {
+ execute: jest.fn().mockReturnValue({
+ body: {
+ limit: 20,
+ offset: 0,
+ count: 1,
+ total: 1,
+ results: [
+ {
+ id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01',
+ version: 1,
+ versionModifiedAt: '2023-05-31T16:04:06.194Z',
+ createdAt: '2023-05-31T16:04:06.194Z',
+ lastModifiedAt: '2023-05-31T16:04:06.194Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ key: 'couponCodes',
+ name: { en: 'couponCodes' },
+ description: { en: 'couponCodes' },
+ resourceTypeIds: ['order'],
+ fieldDefinitions: [
+ {
+ name: 'discount_codes',
+ label: { en: 'discount_codes' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'used_codes',
+ label: { en: 'used_codes' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'session',
+ label: { en: 'session' },
+ required: false,
+ type: { name: 'String' },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'shippingProductSourceIds',
+ label: { en: 'shippingProductSourceIds' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'isValidationFailed',
+ label: { en: 'isValidationFailed' },
+ required: false,
+ type: { name: 'Boolean' },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'couponsLimit',
+ label: { en: 'couponsLimit' },
+ required: false,
+ type: { name: 'Number' },
+ inputHint: 'SingleLine',
+ },
+ ],
+ },
+ ],
+ },
+ statusCode: 200,
+ }),
+ };
+ }
+ return {
+ execute: jest.fn().mockReturnValue({
+ body: {
+ limit: 20,
+ offset: 0,
+ count: 1,
+ total: 1,
+ results: [
+ {
+ id: '69840f60-bd39-4958-b3fc-85bf6c492791',
+ version: 1,
+ versionModifiedAt: '2023-05-31T16:04:06.433Z',
+ createdAt: '2023-05-31T16:04:06.433Z',
+ lastModifiedAt: '2023-05-31T16:04:06.433Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ key: 'lineItemCodesType',
+ name: { en: 'lineItemCodesType' },
+ description: { en: 'lineItemCodesType' },
+ resourceTypeIds: ['line-item'],
+ fieldDefinitions: [
+ {
+ name: 'applied_codes',
+ label: { en: 'applied_codes' },
+ required: false,
+ type: { name: 'Set', elementType: { name: 'String' } },
+ inputHint: 'SingleLine',
+ },
+ {
+ name: 'coupon_fixed_price',
+ label: { en: 'coupon_fixed_price' },
+ required: false,
+ type: { name: 'Number' },
+ inputHint: 'SingleLine',
+ },
+ ],
+ },
+ ],
+ },
+ statusCode: 200,
+ }),
+ };
+ };
+
+ const extensions = jest.fn().mockReturnValue({
+ get: jest.fn().mockReturnValue({
+ execute: jest.fn().mockReturnValue({ body: { results: [] } }),
+ }),
+ withId: jest.fn().mockReturnValue({
+ delete: jest
+ .fn()
+ .mockReturnValue({ execute: jest.fn().mockResolvedValue({}) }),
+ }),
+ post: jest.fn().mockReturnValue({
+ execute: jest.fn().mockReturnValue({ body: { id: undefined } }),
+ }),
+ });
+
+ commerceToolsConnectoService.getClient = jest.fn().mockReturnValue({
+ extensions,
+ types: jest.fn().mockReturnValue({
+ get,
+ }),
+ });
+
+ return commerceToolsConnectoService;
+ };
+
+export const getCommerceToolsConnectorServiceMockForCommerceToolsServiceTest = (
+ cart,
+) => {
+ const commerceToolsConnectoService = jest.createMockFromModule(
+ '../../src/commercetools/commercetools-connector.service',
+ ) as CommercetoolsConnectorService;
+
+ commerceToolsConnectoService.findCart = jest.fn().mockResolvedValue(cart);
+ commerceToolsConnectoService.getClient = jest.fn().mockReturnValue({});
+
+ return commerceToolsConnectoService;
+};
+
+export const getConfigForAPIExtensionServiceTest = () => {
+ const configService =
+ jest.createMockFromModule('@nestjs/config');
+ configService.get = jest.fn((key) => {
+ if (key === 'COMMERCE_TOOLS_API_EXTENSION_KEY') {
+ return '12345';
+ }
+ return null;
+ });
+
+ return configService;
+};
diff --git a/voucherify-service/test/__mocks__/commercetools.service.ts b/voucherify-service/test/__mocks__/commercetools.service.ts
new file mode 100644
index 00000000..73d3e23f
--- /dev/null
+++ b/voucherify-service/test/__mocks__/commercetools.service.ts
@@ -0,0 +1,19 @@
+import { CommercetoolsService } from '../../src/commercetools/commercetools.service';
+
+export const getCommerceToolsServiceMockWithMockedResponse = (
+ response?: any,
+) => {
+ const commerceToolsConnectoService = jest.createMockFromModule(
+ '../../src/commercetools/commercetools.service',
+ ) as CommercetoolsService & { getProductMock: jest.Mock };
+
+ commerceToolsConnectoService.handleCartUpdate = jest
+ .fn()
+ .mockReturnValue(response);
+
+ commerceToolsConnectoService.checkIfCartStatusIsPaidAndRedeem = jest
+ .fn()
+ .mockReturnValue(response);
+
+ return commerceToolsConnectoService;
+};
diff --git a/src/integration/__tests__/__mocks__/config-service.service.ts b/voucherify-service/test/__mocks__/config-service.service.ts
similarity index 100%
rename from src/integration/__tests__/__mocks__/config-service.service.ts
rename to voucherify-service/test/__mocks__/config-service.service.ts
diff --git a/src/commercetools/tax-categories/__mocks__/tax-categories.service.ts b/voucherify-service/test/__mocks__/tax-categories.service.ts
similarity index 87%
rename from src/commercetools/tax-categories/__mocks__/tax-categories.service.ts
rename to voucherify-service/test/__mocks__/tax-categories.service.ts
index 973494f9..25aa4c6f 100644
--- a/src/commercetools/tax-categories/__mocks__/tax-categories.service.ts
+++ b/voucherify-service/test/__mocks__/tax-categories.service.ts
@@ -1,5 +1,5 @@
import { TaxCategory } from '@commercetools/platform-sdk';
-import { TaxCategoriesService } from '../tax-categories.service';
+import { TaxCategoriesService } from '../../src/commercetools/tax-categories/tax-categories.service';
const taxRateForCountry = (country) => ({
name: 'coupon',
@@ -62,7 +62,7 @@ export const defaultGetCouponTaxCategoryResponse = {
export const getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse =
() => {
const taxCategoriesService = jest.createMockFromModule(
- '../tax-categories.service',
+ '../../src/commercetools/tax-categories/tax-categories.service',
) as TaxCategoriesService;
taxCategoriesService.getCouponTaxCategoryAndUpdateItIfNeeded = jest
@@ -77,7 +77,7 @@ export const getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse =
export const getTaxCategoryServiceMockWithNotDefinedTaxCategoryResponse =
() => {
const taxCategoriesService = jest.createMockFromModule(
- '../tax-categories.service',
+ '../../src/commercetools/tax-categories/tax-categories.service',
) as TaxCategoriesService;
taxCategoriesService.addCountryToCouponTaxCategory = jest.fn();
diff --git a/src/commercetools/custom-types/__mocks__/types.service.ts b/voucherify-service/test/__mocks__/types.service.ts
similarity index 89%
rename from src/commercetools/custom-types/__mocks__/types.service.ts
rename to voucherify-service/test/__mocks__/types.service.ts
index f2017e8b..eee6afcb 100644
--- a/src/commercetools/custom-types/__mocks__/types.service.ts
+++ b/voucherify-service/test/__mocks__/types.service.ts
@@ -1,5 +1,5 @@
import { Type } from '@commercetools/platform-sdk';
-import { CustomTypesService } from '../custom-types.service';
+import { CustomTypesService } from '../../src/commercetools/custom-types/custom-types.service';
export const defaultTypeId = '5aa76235-9d61-41c7-9d57-278b2bcc2f75';
@@ -73,7 +73,7 @@ const defaultGetTypeResponse = {
export const getTypesServiceMockWithConfiguredCouponTypeResponse = () => {
const typesService = jest.createMockFromModule(
- '../custom-types.service',
+ '../../src/commercetools/custom-types/custom-types.service',
) as CustomTypesService;
typesService.findCouponType = jest
@@ -85,7 +85,7 @@ export const getTypesServiceMockWithConfiguredCouponTypeResponse = () => {
export const getTypesServiceMockWithNotDefinedCouponTypeResponse = () => {
const typesService = jest.createMockFromModule(
- '../custom-types.service',
+ '../../src/commercetools/custom-types/custom-types.service',
) as CustomTypesService;
typesService.findCouponType = jest.fn().mockResolvedValue(null);
diff --git a/src/voucherify/__mocks__/voucherify-connector.service.ts b/voucherify-service/test/__mocks__/voucherify-connector.service.ts
similarity index 78%
rename from src/voucherify/__mocks__/voucherify-connector.service.ts
rename to voucherify-service/test/__mocks__/voucherify-connector.service.ts
index 6597876d..414a17ba 100644
--- a/src/voucherify/__mocks__/voucherify-connector.service.ts
+++ b/voucherify-service/test/__mocks__/voucherify-connector.service.ts
@@ -1,11 +1,11 @@
-import { VoucherifyConnectorService } from '../voucherify-connector.service';
+import { VoucherifyConnectorService } from '../../src/voucherify/voucherify-connector.service';
export const getVoucherifyConnectorServiceMockWithDefinedResponse = (
response: any,
promotions: any[] = [],
) => {
const voucherifyConnectorService = jest.createMockFromModule(
- '../voucherify-connector.service',
+ '../../src/voucherify/voucherify-connector.service',
) as VoucherifyConnectorService;
voucherifyConnectorService.releaseValidationSession = jest
diff --git a/src/integration/__tests__/README.md b/voucherify-service/test/__tests__/README.md
similarity index 100%
rename from src/integration/__tests__/README.md
rename to voucherify-service/test/__tests__/README.md
diff --git a/src/integration/__tests__/addAmountCouponAfterPercentageCoupon/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addAmountCouponAfterPercentageCoupon/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/addAmountCouponAfterPercentageCoupon/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addAmountCouponAfterPercentageCoupon/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/addAmountCouponAfterPercentageCoupon/test.spec.ts b/voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/test.spec.ts
similarity index 89%
rename from src/integration/__tests__/addAmountCouponAfterPercentageCoupon/test.spec.ts
rename to voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/test.spec.ts
index 16cd9474..4f675ef9 100644
--- a/src/integration/__tests__/addAmountCouponAfterPercentageCoupon/test.spec.ts
+++ b/voucherify-service/test/__tests__/add-amount-coupon-after-percentage-coupon/test.spec.ts
@@ -1,15 +1,15 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('When another -20€ amount voucher is provided after -10% coupon in one session', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/test.spec.ts b/voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/test.spec.ts
similarity index 90%
rename from src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/test.spec.ts
rename to voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/test.spec.ts
index f4baa2fb..c49a874f 100644
--- a/src/integration/__tests__/addFreeProductWhenProductAlreadyInCart/test.spec.ts
+++ b/voucherify-service/test/__tests__/add-free-product-when-product-already-in-cart/test.spec.ts
@@ -1,15 +1,15 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('when adding new product to the cart with free product already applied (via coupon)', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/addFreeProduct/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/add-free-product-with-direct-discount/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addFreeProduct/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/add-free-product-with-direct-discount/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/addFreeProduct/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/add-free-product-with-direct-discount/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addFreeProduct/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/add-free-product-with-direct-discount/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/addFreeProductWithDirectDiscount/test.spec.ts b/voucherify-service/test/__tests__/add-free-product-with-direct-discount/test.spec.ts
similarity index 90%
rename from src/integration/__tests__/addFreeProductWithDirectDiscount/test.spec.ts
rename to voucherify-service/test/__tests__/add-free-product-with-direct-discount/test.spec.ts
index 4f28e41d..981dfbb7 100644
--- a/src/integration/__tests__/addFreeProductWithDirectDiscount/test.spec.ts
+++ b/voucherify-service/test/__tests__/add-free-product-with-direct-discount/test.spec.ts
@@ -1,14 +1,14 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { getConfigServiceMockWithConfiguredDirectDiscount } from '../__mocks__/config-service.service';
+import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../__mocks__/config-service.service';
import { ConfigService } from '@nestjs/config';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('when applying discount code which adds free product to the cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/addFreeProductWithDirectDiscount/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/add-free-product/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addFreeProductWithDirectDiscount/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/add-free-product/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/addFreeProductWithDirectDiscount/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/add-free-product/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addFreeProductWithDirectDiscount/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/add-free-product/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/addFreeProduct/test.spec.ts b/voucherify-service/test/__tests__/add-free-product/test.spec.ts
similarity index 91%
rename from src/integration/__tests__/addFreeProduct/test.spec.ts
rename to voucherify-service/test/__tests__/add-free-product/test.spec.ts
index f8d4261b..32de5679 100644
--- a/src/integration/__tests__/addFreeProduct/test.spec.ts
+++ b/voucherify-service/test/__tests__/add-free-product/test.spec.ts
@@ -1,15 +1,15 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('when applying discount code which adds free product to the cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/addMissingItems/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/add-missing-items/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addMissingItems/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/add-missing-items/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/addMissingItems/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/add-missing-items/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/addMissingItems/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/add-missing-items/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/addMissingItems/test.spec.ts b/voucherify-service/test/__tests__/add-missing-items/test.spec.ts
similarity index 92%
rename from src/integration/__tests__/addMissingItems/test.spec.ts
rename to voucherify-service/test/__tests__/add-missing-items/test.spec.ts
index 77b433e8..4566a844 100644
--- a/src/integration/__tests__/addMissingItems/test.spec.ts
+++ b/voucherify-service/test/__tests__/add-missing-items/test.spec.ts
@@ -1,15 +1,15 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('when applying coupon code for a free product with `ADD_MISSING_ITEMS` effect and having that product already in cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/cart-service.factory.ts b/voucherify-service/test/__tests__/cart-service.factory.ts
similarity index 54%
rename from src/integration/__tests__/cart-service.factory.ts
rename to voucherify-service/test/__tests__/cart-service.factory.ts
index 88235fce..206ace2d 100644
--- a/src/integration/__tests__/cart-service.factory.ts
+++ b/voucherify-service/test/__tests__/cart-service.factory.ts
@@ -1,14 +1,14 @@
import { Test } from '@nestjs/testing';
-import { IntegrationService } from '../integration.service';
-import { CustomTypesService } from '../../commercetools/custom-types/custom-types.service';
-import { TaxCategoriesService } from '../../commercetools/tax-categories/tax-categories.service';
-import { VoucherifyConnectorService } from '../../voucherify/voucherify-connector.service';
-import { CommercetoolsConnectorService } from '../../commercetools/commercetools-connector.service';
+import { IntegrationService } from '../../src/integration/integration.service';
+import { CustomTypesService } from '../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../src/commercetools/tax-categories/tax-categories.service';
+import { VoucherifyConnectorService } from '../../src/voucherify/voucherify-connector.service';
+import { CommercetoolsConnectorService } from '../../src/commercetools/commercetools-connector.service';
import { ConfigService } from '@nestjs/config';
import { ModuleMocker, MockFunctionMetadata } from 'jest-mock';
-import { CommercetoolsService } from '../../commercetools/commercetools.service';
-import { VoucherifyService } from '../../voucherify/voucherify.service';
+import { CommercetoolsService } from '../../src/commercetools/commercetools.service';
+import { VoucherifyService } from '../../src/voucherify/voucherify.service';
const moduleMocker = new ModuleMocker(global);
@@ -27,33 +27,38 @@ export async function buildCartServiceWithMockedDependencies({
commerceToolsConnectorService,
configService,
}: BuildCartServiceWithMockedDependenciesProps) {
+ const baseProviders = [
+ CommercetoolsService,
+ VoucherifyService,
+ IntegrationService,
+ {
+ provide: TaxCategoriesService,
+ useValue: taxCategoriesService,
+ },
+ {
+ provide: CustomTypesService,
+ useValue: typesService,
+ },
+ {
+ provide: VoucherifyConnectorService,
+ useValue: voucherifyConnectorService || {},
+ },
+ {
+ provide: CommercetoolsConnectorService,
+ useValue: commerceToolsConnectorService || {},
+ },
+ ];
const module = await Test.createTestingModule({
controllers: [],
- providers: [
- CommercetoolsService,
- VoucherifyService,
- IntegrationService,
- {
- provide: TaxCategoriesService,
- useValue: taxCategoriesService,
- },
- {
- provide: CustomTypesService,
- useValue: typesService,
- },
- {
- provide: VoucherifyConnectorService,
- useValue: voucherifyConnectorService || {},
- },
- {
- provide: CommercetoolsConnectorService,
- useValue: commerceToolsConnectorService || {},
- },
- {
- provide: ConfigService,
- useValue: configService,
- },
- ],
+ providers: configService
+ ? [
+ ...baseProviders,
+ {
+ provide: ConfigService,
+ useValue: configService,
+ },
+ ]
+ : [...baseProviders, ConfigService],
})
.useMocker((token) => {
if (typeof token === 'function') {
diff --git a/src/integration/__tests__/customTypes/test.spec.ts b/voucherify-service/test/__tests__/custom-types/test.spec.ts
similarity index 91%
rename from src/integration/__tests__/customTypes/test.spec.ts
rename to voucherify-service/test/__tests__/custom-types/test.spec.ts
index c274634e..ae769b7e 100644
--- a/src/integration/__tests__/customTypes/test.spec.ts
+++ b/voucherify-service/test/__tests__/custom-types/test.spec.ts
@@ -1,8 +1,8 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
import {
getTypesServiceMockWithConfiguredCouponTypeResponse,
getTypesServiceMockWithNotDefinedCouponTypeResponse,
-} from '../../../commercetools/custom-types/__mocks__/types.service';
+} from '../../__mocks__/types.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
describe('Cart custom custom-types', () => {
it('Should add custom coupon type for initialized cart', async () => {
diff --git a/src/integration/__tests__/discountForSpecificProduct/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/discount-for-specific-product/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/discountForSpecificProduct/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/discount-for-specific-product/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/discountForSpecificProduct/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/discount-for-specific-product/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/discountForSpecificProduct/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/discount-for-specific-product/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/discountForSpecificProduct/test.spec.ts b/voucherify-service/test/__tests__/discount-for-specific-product/test.spec.ts
similarity index 89%
rename from src/integration/__tests__/discountForSpecificProduct/test.spec.ts
rename to voucherify-service/test/__tests__/discount-for-specific-product/test.spec.ts
index 64c8c426..7c0a90e8 100644
--- a/src/integration/__tests__/discountForSpecificProduct/test.spec.ts
+++ b/voucherify-service/test/__tests__/discount-for-specific-product/test.spec.ts
@@ -1,15 +1,15 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('when applying discount code on a specific product in the cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/inexistentCoupon/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/inexistent-coupon/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/inexistentCoupon/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/inexistent-coupon/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/inexistentCoupon/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/inexistent-coupon/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/inexistentCoupon/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/inexistent-coupon/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/inexistentCoupon/test.spec.ts b/voucherify-service/test/__tests__/inexistent-coupon/test.spec.ts
similarity index 86%
rename from src/integration/__tests__/inexistentCoupon/test.spec.ts
rename to voucherify-service/test/__tests__/inexistent-coupon/test.spec.ts
index 4b2a6672..dbc7c172 100644
--- a/src/integration/__tests__/inexistentCoupon/test.spec.ts
+++ b/voucherify-service/test/__tests__/inexistent-coupon/test.spec.ts
@@ -1,13 +1,13 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('When trying to apply inexistent coupon code', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/test.spec.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/test.spec.ts
similarity index 89%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/test.spec.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/test.spec.ts
index d76c435b..985a7bd1 100644
--- a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedOneUnitType/test.spec.ts
+++ b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedOneUnitType/test.spec.ts
@@ -1,15 +1,15 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../../commerceTools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../__mocks__/config-service.service';
+import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../../__mocks__/config-service.service';
import { ConfigService } from '@nestjs/config';
import { Cart } from '@commercetools/platform-sdk';
-import { CommercetoolsService } from '../../../../commercetools/commercetools.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../../commercetools/custom-types/__mocks__/types.service';
+import { CommercetoolsService } from '../../../../src/commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../__mocks__/types.service';
+import { VoucherifyConnectorService } from '../../../../src/voucherify/voucherify-connector.service';
describe('when applying discount code which adds free product to the cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/test.spec.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/test.spec.ts
similarity index 90%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/test.spec.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/test.spec.ts
index 43e8cd93..6142d7ac 100644
--- a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTenPercentCoupon/test.spec.ts
+++ b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTenPercentCoupon/test.spec.ts
@@ -1,15 +1,15 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../../commerceTools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../__mocks__/config-service.service';
+import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../../__mocks__/config-service.service';
import { ConfigService } from '@nestjs/config';
import { Cart } from '@commercetools/platform-sdk';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../../commercetools/custom-types/__mocks__/types.service';
-import { CommercetoolsService } from '../../../../commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../__mocks__/types.service';
+import { CommercetoolsService } from '../../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../../src/voucherify/voucherify-connector.service';
describe('when applying discount code which adds free product to the cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/test.spec.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/test.spec.ts
similarity index 90%
rename from src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/test.spec.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/test.spec.ts
index d1057cdd..4bd939a1 100644
--- a/src/integration/__tests__/multipleCouponsAppliedWithDirectDiscount/couponsWithAddedTwoUnitType/test.spec.ts
+++ b/voucherify-service/test/__tests__/multiple-coupons-applied-with-direct-discount/couponsWithAddedTwoUnitType/test.spec.ts
@@ -1,15 +1,15 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../../commerceTools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../__mocks__/config-service.service';
+import { getConfigServiceMockWithConfiguredDirectDiscount } from '../../../__mocks__/config-service.service';
import { ConfigService } from '@nestjs/config';
import { Cart } from '@commercetools/platform-sdk';
-import { CommercetoolsService } from '../../../../commercetools/commercetools.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../../commercetools/custom-types/__mocks__/types.service';
+import { CommercetoolsService } from '../../../../src/commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../__mocks__/types.service';
+import { VoucherifyConnectorService } from '../../../../src/voucherify/voucherify-connector.service';
describe('when applying discount code which adds free product to the cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/test.spec.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/test.spec.ts
similarity index 87%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/test.spec.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/test.spec.ts
index e17a4039..0ba99530 100644
--- a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedOneUnitType/test.spec.ts
+++ b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedOneUnitType/test.spec.ts
@@ -1,12 +1,12 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../../commerceTools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../../commercetools/commercetools.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../../commercetools/custom-types/__mocks__/types.service';
+import { CommercetoolsService } from '../../../../src/commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../__mocks__/types.service';
+import { VoucherifyConnectorService } from '../../../../src/voucherify/voucherify-connector.service';
describe('when adding new product to the cart with free product already applied (via coupon)', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/test.spec.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/test.spec.ts
similarity index 89%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/test.spec.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/test.spec.ts
index 14e7e6d1..7564de70 100644
--- a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTenPercentCoupon/test.spec.ts
+++ b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTenPercentCoupon/test.spec.ts
@@ -1,15 +1,15 @@
import {
defaultGetCouponTaxCategoryResponse,
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
-} from '../../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../../commerceTools/__mocks__/commerce-tools-connector.service';
+} from '../../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../../commercetools/commercetools.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../../commercetools/custom-types/__mocks__/types.service';
+import { CommercetoolsService } from '../../../../src/commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../__mocks__/types.service';
+import { VoucherifyConnectorService } from '../../../../src/voucherify/voucherify-connector.service';
describe('when adding new product to the cart with free product already applied (via coupon)', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/test.spec.ts b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/test.spec.ts
similarity index 90%
rename from src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/test.spec.ts
rename to voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/test.spec.ts
index 73905fdb..75073f1f 100644
--- a/src/integration/__tests__/multipleCouponsAppliedWithLineItem/couponsWithAddedTwoUnitType/test.spec.ts
+++ b/voucherify-service/test/__tests__/multiple-coupons-applied-with-line-item/couponsWithAddedTwoUnitType/test.spec.ts
@@ -1,15 +1,15 @@
import {
defaultGetCouponTaxCategoryResponse,
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
-} from '../../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../../commerceTools/__mocks__/commerce-tools-connector.service';
+} from '../../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsService } from '../../../../commercetools/commercetools.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../../commercetools/custom-types/__mocks__/types.service';
+import { CommercetoolsService } from '../../../../src/commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../__mocks__/types.service';
+import { VoucherifyConnectorService } from '../../../../src/voucherify/voucherify-connector.service';
describe('when adding new product to the cart with free product already applied (via coupon)', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/newAmountCouponInNewSession/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/new-amount-coupon-in-new-session/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/newAmountCouponInNewSession/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/new-amount-coupon-in-new-session/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/newAmountCouponInNewSession/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/new-amount-coupon-in-new-session/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/newAmountCouponInNewSession/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/new-amount-coupon-in-new-session/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/newAmountCouponInNewSession/test.spec.ts b/voucherify-service/test/__tests__/new-amount-coupon-in-new-session/test.spec.ts
similarity index 88%
rename from src/integration/__tests__/newAmountCouponInNewSession/test.spec.ts
rename to voucherify-service/test/__tests__/new-amount-coupon-in-new-session/test.spec.ts
index ad17904c..0f913d33 100644
--- a/src/integration/__tests__/newAmountCouponInNewSession/test.spec.ts
+++ b/voucherify-service/test/__tests__/new-amount-coupon-in-new-session/test.spec.ts
@@ -1,16 +1,16 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
-import { CommercetoolsConnectorService } from 'src/commercetools/commercetools-connector.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
describe('When one -20€ amount voucher is provided in new session', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/cart-with-custom-line-item.snapshot.ts b/voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/cart-with-custom-line-item.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/cart-with-custom-line-item.snapshot.ts
rename to voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/cart-with-custom-line-item.snapshot.ts
diff --git a/src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/cart-with-unknown-custom-line-item.snapshot.ts b/voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/cart-with-unknown-custom-line-item.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/cart-with-unknown-custom-line-item.snapshot.ts
rename to voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/cart-with-unknown-custom-line-item.snapshot.ts
diff --git a/src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/noCouponCodesNorPreviousSession/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/noCouponCodesNorPreviousSession/test.spec.ts b/voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/test.spec.ts
similarity index 94%
rename from src/integration/__tests__/noCouponCodesNorPreviousSession/test.spec.ts
rename to voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/test.spec.ts
index 8153fb4d..312076c8 100644
--- a/src/integration/__tests__/noCouponCodesNorPreviousSession/test.spec.ts
+++ b/voucherify-service/test/__tests__/no-coupon-codes-nor-previous-session/test.spec.ts
@@ -1,7 +1,7 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
diff --git a/src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/test.spec.ts b/voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/test.spec.ts
similarity index 85%
rename from src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/test.spec.ts
rename to voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/test.spec.ts
index f99bdf47..d77d4ed2 100644
--- a/src/integration/__tests__/oneTimeCoupoinUsedInAnotherSession/test.spec.ts
+++ b/voucherify-service/test/__tests__/one-time-coupon-used-in-another-session/test.spec.ts
@@ -1,12 +1,12 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('When one-time -20€ amount voucher is provided in another cart within another session', () => {
let commercetoolsService: CommercetoolsService;
diff --git a/src/integration/__tests__/customTypes/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/partial-redeem/snapshots/cart.snapshot.ts
similarity index 87%
rename from src/integration/__tests__/customTypes/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/partial-redeem/snapshots/cart.snapshot.ts
index b2703c02..2cf00a9f 100644
--- a/src/integration/__tests__/customTypes/snapshots/cart.snapshot.ts
+++ b/voucherify-service/test/__tests__/partial-redeem/snapshots/cart.snapshot.ts
@@ -1,22 +1,24 @@
import {
CartOrigin,
CartState,
+ CustomFields,
LineItem,
RoundingMode,
TaxCalculationMode,
TaxMode,
Cart,
} from '@commercetools/platform-sdk';
+
export const cart = {
id: 'cart-id',
type: 'Cart',
createdAt: new Date().toISOString(),
- version: 1,
+ version: 2,
lastModifiedAt: new Date().toISOString(),
country: 'DE',
lineItems: [
{
- id: 'line-item-id-1',
+ id: 'line-item-id-3',
productId: 'product-id',
name: { en: 'Some product' },
productType: { typeId: 'product-type', id: 'product-type-id' },
@@ -85,8 +87,8 @@ export const cart = {
},
},
lineItemMode: 'Standard',
- },
- ] as LineItem[],
+ } as LineItem,
+ ],
customLineItems: [],
totalPrice: {
type: 'centPrecision',
@@ -100,8 +102,15 @@ export const cart = {
taxCalculationMode: {},
refusedGifts: [],
origin: {},
- custom: {
+ custom: {
type: { typeId: 'type', id: '5aa76235-9d61-41c7-9d57-278b2bcc2f75' },
- fields: {},
+ fields: {
+ discount_codes: [
+ '{"code":"PERC10","status":"APPLIED","value":2650}',
+ '{"code":"AMOUNT20","status":"NEW"}',
+ '{"code":"NOT-EXISTING","status":"NEW"}',
+ ],
+ session: 'existing-session-id',
+ },
},
} as Cart;
diff --git a/voucherify-service/test/__tests__/partial-redeem/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/partial-redeem/snapshots/voucherifyResponse.snapshot.ts
new file mode 100644
index 00000000..0f6100c7
--- /dev/null
+++ b/voucherify-service/test/__tests__/partial-redeem/snapshots/voucherifyResponse.snapshot.ts
@@ -0,0 +1,136 @@
+export const voucherifyResponse = {
+ valid: true,
+ redeemables: [
+ {
+ order: {
+ id: 'e66e763f-589a-4cb8-b478-7bac59f75814',
+ source_id: 'cart-id',
+ created_at: '2022-07-07T11:26:37.521Z',
+ amount: 26500,
+ discount_amount: 2650,
+ total_discount_amount: 2650,
+ initial_amount: 26500,
+ applied_discount_amount: 2650,
+ total_applied_discount_amount: 2650,
+ items: [
+ {
+ sku_id: 'product-sku1',
+ product_id: 'product-id',
+ related_object: 'product',
+ quantity: 1,
+ price: 26500,
+ amount: 26500,
+ object: 'order_item',
+ },
+ ],
+ metadata: {},
+ object: 'order',
+ items_discount_amount: 0,
+ items_applied_discount_amount: 0,
+ },
+ applicable_to: { data: [], total: 0, object: 'list' },
+ inapplicable_to: { data: [], total: 0, object: 'list' },
+ metadata: {},
+ id: 'PERC10',
+ status: 'APPLICABLE',
+ object: 'voucher',
+ result: {
+ discount: {
+ type: 'PERCENT',
+ effect: 'APPLY_TO_ORDER',
+ percent_off: 10,
+ },
+ },
+ },
+ {
+ order: {
+ id: 'e66e763f-589a-4cb8-b478-7bac59f75814',
+ source_id: 'cart-id',
+ created_at: '2022-07-07T11:26:37.521Z',
+ amount: 26500,
+ discount_amount: 4650,
+ total_discount_amount: 4650,
+ initial_amount: 26500,
+ applied_discount_amount: 2000,
+ total_applied_discount_amount: 4650,
+ items: [
+ {
+ sku_id: 'product-sku1',
+ product_id: 'product-id',
+ related_object: 'product',
+ quantity: 1,
+ price: 26500,
+ amount: 26500,
+ object: 'order_item',
+ },
+ ],
+ metadata: {},
+ object: 'order',
+ items_discount_amount: 0,
+ items_applied_discount_amount: 0,
+ },
+ applicable_to: { data: [], total: 0, object: 'list' },
+ inapplicable_to: { data: [], total: 0, object: 'list' },
+ metadata: {},
+ id: 'AMOUNT20',
+ status: 'APPLICABLE',
+ object: 'voucher',
+ result: {
+ discount: {
+ type: 'AMOUNT',
+ effect: 'APPLY_TO_ORDER',
+ amount_off: 2000,
+ },
+ },
+ },
+ ],
+ inapplicable_redeemables: [
+ {
+ status: 'INAPPLICABLE',
+ id: 'NOT-EXISTING',
+ object: 'voucher',
+ result: {
+ error: {
+ code: 404,
+ key: 'not_found',
+ message: 'Resource not found',
+ details: 'Cannot find voucher with id NOT-EXISTING',
+ request_id: 'v-123123123123',
+ },
+ },
+ },
+ ],
+ order: {
+ id: 'e66e763f-589a-4cb8-b478-7bac59f75814',
+ source_id: 'cart-id',
+ created_at: '2022-07-07T11:26:37.521Z',
+ amount: 26500,
+ discount_amount: 4650,
+ total_discount_amount: 4650,
+ initial_amount: 26500,
+ applied_discount_amount: 4650,
+ total_applied_discount_amount: 4650,
+ items: [
+ {
+ sku_id: 'product-sku1',
+ product_id: 'product-id',
+ related_object: 'product',
+ quantity: 1,
+ price: 26500,
+ amount: 26500,
+ object: 'order_item',
+ },
+ ],
+ metadata: {},
+ object: 'order',
+ items_discount_amount: 0,
+ items_applied_discount_amount: 0,
+ },
+ tracking_id: 'track_zTa+v4d+mc0ixHNURqEvtCLxvdT5orvdtWeqzafQxfA5XDblMYxS/w==',
+ session: {
+ key: 'existing-session-id',
+ type: 'LOCK',
+ ttl: 7,
+ ttl_unit: 'DAYS',
+ },
+};
diff --git a/voucherify-service/test/__tests__/partial-redeem/test.spec.ts b/voucherify-service/test/__tests__/partial-redeem/test.spec.ts
new file mode 100644
index 00000000..c666a5e6
--- /dev/null
+++ b/voucherify-service/test/__tests__/partial-redeem/test.spec.ts
@@ -0,0 +1,58 @@
+import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
+import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
+import { cart } from './snapshots/cart.snapshot';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
+
+describe('When partial redeem is enabled and trying to apply inexistent coupon code', () => {
+ let commercetoolsService: CommercetoolsService;
+ let voucherifyConnectorService: VoucherifyConnectorService;
+
+ beforeEach(async () => {
+ const typesService = getTypesServiceMockWithConfiguredCouponTypeResponse();
+ const taxCategoriesService =
+ getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse();
+ voucherifyConnectorService =
+ getVoucherifyConnectorServiceMockWithDefinedResponse(voucherifyResponse);
+ const commerceToolsConnectorService =
+ getCommerceToolsConnectorServiceMockWithEmptyProductResponse();
+
+ ({ commercetoolsService } = await buildCartServiceWithMockedDependencies({
+ typesService,
+ taxCategoriesService,
+ voucherifyConnectorService,
+ commerceToolsConnectorService,
+ }));
+ });
+
+ it('should call voucherify exactly once', async () => {
+ await commercetoolsService.handleCartUpdate(cart);
+
+ expect(
+ voucherifyConnectorService.validateStackableVouchers,
+ ).toBeCalledTimes(1);
+ });
+
+ it('Should return only one `setCustomField` action with information about failure', async () => {
+ const result = await commercetoolsService.handleCartUpdate(cart);
+ expect(
+ result.actions.find(
+ (actionItem) =>
+ actionItem.action === 'setCustomField' &&
+ actionItem.name === 'discount_codes',
+ ),
+ ).toEqual({
+ action: 'setCustomField',
+ name: 'discount_codes',
+ value: [
+ '{"code":"PERC10","status":"APPLIED","type":"voucher","value":2650}',
+ '{"code":"AMOUNT20","status":"APPLIED","type":"voucher","value":2000}',
+ '{"code":"NOT-EXISTING","status":"NOT_APPLIED","errMsg":"Resource not found"}',
+ ],
+ });
+ });
+});
diff --git a/src/integration/__tests__/promotions/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/promotions/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/promotions/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/promotions/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/promotions/snapshots/voucherify-promotions.snapshot.ts b/voucherify-service/test/__tests__/promotions/snapshots/voucherify-promotions.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/promotions/snapshots/voucherify-promotions.snapshot.ts
rename to voucherify-service/test/__tests__/promotions/snapshots/voucherify-promotions.snapshot.ts
diff --git a/src/integration/__tests__/promotions/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/promotions/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/promotions/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/promotions/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/promotions/test.spec.ts b/voucherify-service/test/__tests__/promotions/test.spec.ts
similarity index 81%
rename from src/integration/__tests__/promotions/test.spec.ts
rename to voucherify-service/test/__tests__/promotions/test.spec.ts
index 9cc9fcaf..2fbce47e 100644
--- a/src/integration/__tests__/promotions/test.spec.ts
+++ b/voucherify-service/test/__tests__/promotions/test.spec.ts
@@ -1,14 +1,15 @@
-import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../../commerceTools/tax-categories/__mocks__/tax-categories.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../../commerceTools/__mocks__/commerce-tools-connector.service';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../../__mocks__/tax-categories.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
import { promotions } from './snapshots/voucherify-promotions.snapshot';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-describe('when adding a promottion to a cart', () => {
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+
+describe('when adding a promotion to a cart', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
const SKU_ID = 'gift-sku-id';
diff --git a/src/integration/__tests__/updatedItemsQuantity/snapshots/cart.snapshot.ts b/voucherify-service/test/__tests__/updated-items-quantity/snapshots/cart.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/updatedItemsQuantity/snapshots/cart.snapshot.ts
rename to voucherify-service/test/__tests__/updated-items-quantity/snapshots/cart.snapshot.ts
diff --git a/src/integration/__tests__/updatedItemsQuantity/snapshots/voucherifyResponse.snapshot.ts b/voucherify-service/test/__tests__/updated-items-quantity/snapshots/voucherifyResponse.snapshot.ts
similarity index 100%
rename from src/integration/__tests__/updatedItemsQuantity/snapshots/voucherifyResponse.snapshot.ts
rename to voucherify-service/test/__tests__/updated-items-quantity/snapshots/voucherifyResponse.snapshot.ts
diff --git a/src/integration/__tests__/updatedItemsQuantity/test.spec.ts b/voucherify-service/test/__tests__/updated-items-quantity/test.spec.ts
similarity index 90%
rename from src/integration/__tests__/updatedItemsQuantity/test.spec.ts
rename to voucherify-service/test/__tests__/updated-items-quantity/test.spec.ts
index 79322694..611d7675 100644
--- a/src/integration/__tests__/updatedItemsQuantity/test.spec.ts
+++ b/voucherify-service/test/__tests__/updated-items-quantity/test.spec.ts
@@ -1,15 +1,15 @@
import {
getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse,
defaultGetCouponTaxCategoryResponse,
-} from '../../../commercetools/tax-categories/__mocks__/tax-categories.service';
-import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../../commercetools/custom-types/__mocks__/types.service';
-import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../../voucherify/__mocks__/voucherify-connector.service';
-import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../../commercetools/__mocks__/commerce-tools-connector.service';
+} from '../../__mocks__/tax-categories.service';
+import { getTypesServiceMockWithConfiguredCouponTypeResponse } from '../../__mocks__/types.service';
+import { getVoucherifyConnectorServiceMockWithDefinedResponse } from '../../__mocks__/voucherify-connector.service';
+import { getCommerceToolsConnectorServiceMockWithEmptyProductResponse } from '../../__mocks__/commerce-tools-connector.service';
import { buildCartServiceWithMockedDependencies } from '../cart-service.factory';
-import { CommercetoolsService } from '../../../commercetools/commercetools.service';
-import { VoucherifyConnectorService } from 'src/voucherify/voucherify-connector.service';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
import { voucherifyResponse } from './snapshots/voucherifyResponse.snapshot';
import { cart } from './snapshots/cart.snapshot';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
describe('When two discount codes (percentage and amount) are already applied and quantity of items have been updated', () => {
let commercetoolsService: CommercetoolsService;
let voucherifyConnectorService: VoucherifyConnectorService;
diff --git a/voucherify-service/test/__unit_tests__/api-extension.service.spec.ts b/voucherify-service/test/__unit_tests__/api-extension.service.spec.ts
new file mode 100644
index 00000000..b1189ab1
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/api-extension.service.spec.ts
@@ -0,0 +1,89 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigService } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../src/commercetools/api-extension.service';
+import {
+ getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest,
+ getConfigForAPIExtensionServiceTest,
+} from '../__mocks__/commerce-tools-connector.service';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('ApiExtensionService', () => {
+ let service: ApiExtensionService;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ApiExtensionService,
+ {
+ provide: CommercetoolsConnectorService,
+ useValue:
+ getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest(),
+ },
+ Logger,
+ RequestJsonLogger,
+ {
+ provide: ConfigService,
+ useValue: getConfigForAPIExtensionServiceTest(),
+ },
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ service = module.get(ApiExtensionService);
+ });
+
+ it('should be defined', () => {
+ expect(service).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ expect(service.list).toBeDefined();
+ expect(service.removeById).toBeDefined();
+ expect(service.removeByAttr).toBeDefined();
+ expect(service.add).toBeDefined();
+ expect(service.update).toBeDefined();
+ });
+
+ it('should be defined', async () => {
+ const result = await service.list();
+ expect(result).toBeDefined();
+ });
+
+ it('should be pass with no error', async () => {
+ const result1 = await service.removeById('1234');
+ expect(result1).toBeFalsy();
+ const result2 = await service.removeById('123');
+ expect(result2).toBeFalsy();
+ });
+
+ it('should be pass with no error', async () => {
+ const result1 = await service.removeByAttr('key', '1234');
+ expect(result1).toBeFalsy();
+ const result2 = await service.removeByAttr('key', '123');
+ expect(result2).toBeFalsy();
+ });
+
+ it('should be pass with no error', async () => {
+ const result = await service.add('sss.sss/ss', '1234');
+ expect(result).toBeFalsy();
+ });
+
+ it('should be pass with no error', async () => {
+ const result = await service.update('sss.sss/ss');
+ expect(result).toBeFalsy();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/api-extension/api-extension-1.controller.spec.ts b/voucherify-service/test/__unit_tests__/api-extension/api-extension-1.controller.spec.ts
new file mode 100644
index 00000000..47c84d83
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/api-extension/api-extension-1.controller.spec.ts
@@ -0,0 +1,61 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { Logger } from '@nestjs/common';
+import { ApiExtensionController } from '../../../src/commercetools/api-extension.controller';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { getCommerceToolsServiceMockWithMockedResponse } from '../../__mocks__/commercetools.service';
+import { cart } from '../payloads/api-extension.controller.spec.payloads';
+
+describe('ApiExtensionController', () => {
+ let controller: ApiExtensionController;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ApiExtensionController,
+ Logger,
+ {
+ provide: CommercetoolsService,
+ useValue: getCommerceToolsServiceMockWithMockedResponse(),
+ },
+ ],
+ }).compile();
+
+ controller = module.get(ApiExtensionController);
+ });
+
+ it('should be defined', () => {
+ expect(controller).toBeDefined();
+ });
+
+ it('should handleApiExtensionRequest with cart payload with no errors', async () => {
+ const responseExpress = {
+ status: jest
+ .fn()
+ .mockReturnValue({ json: jest.fn().mockReturnValue(undefined) }),
+ };
+
+ expect(
+ await controller.handleApiExtensionRequest(
+ cart as any,
+ responseExpress as any,
+ ),
+ ).toEqual(undefined);
+ });
+
+ it('should handleApiExtensionRequest with order payload with no errors', async () => {
+ const responseExpress = {
+ status: jest
+ .fn()
+ .mockReturnValue({ json: jest.fn().mockReturnValue(undefined) }),
+ };
+ const order = { ...cart };
+ order.resource.typeId = 'order';
+
+ expect(
+ await controller.handleApiExtensionRequest(
+ order as any,
+ responseExpress as any,
+ ),
+ ).toEqual(undefined);
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/api-extension/api-extension-2.controller.spec.ts b/voucherify-service/test/__unit_tests__/api-extension/api-extension-2.controller.spec.ts
new file mode 100644
index 00000000..2a64211d
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/api-extension/api-extension-2.controller.spec.ts
@@ -0,0 +1,94 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { Logger } from '@nestjs/common';
+import { ApiExtensionController } from '../../../src/commercetools/api-extension.controller';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { getCommerceToolsServiceMockWithMockedResponse } from '../../__mocks__/commercetools.service';
+import { cart } from '../payloads/api-extension.controller.spec.payloads';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('ApiExtensionController2', () => {
+ it('should execute responseExpress with { actions: [] }', async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ApiExtensionController,
+ Logger,
+ {
+ provide: CommercetoolsService,
+ useValue: getCommerceToolsServiceMockWithMockedResponse({
+ actions: [],
+ }),
+ },
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ const controller = module.get(
+ ApiExtensionController,
+ );
+
+ const json = jest.fn().mockReturnValue(undefined);
+
+ const responseExpress = {
+ status: jest.fn().mockReturnValue({ json }),
+ };
+
+ await controller.handleApiExtensionRequest(
+ cart as any,
+ responseExpress as any,
+ );
+ expect(json).toBeCalledWith({});
+ });
+
+ it('should execute responseExpress with { actions: [1, 23] }', async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ApiExtensionController,
+ Logger,
+ {
+ provide: CommercetoolsService,
+ useValue: getCommerceToolsServiceMockWithMockedResponse({
+ status: 200,
+ actions: [1, 23],
+ }),
+ },
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ const controller = module.get(
+ ApiExtensionController,
+ );
+
+ const json = jest.fn().mockReturnValue(undefined);
+
+ const responseExpress = {
+ status: jest.fn().mockReturnValue({ json }),
+ };
+
+ await controller.handleApiExtensionRequest(
+ cart as any,
+ responseExpress as any,
+ );
+ expect(json).toBeCalledWith({ actions: [1, 23] });
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/api-extension/api-extension-3.controller.spec.ts b/voucherify-service/test/__unit_tests__/api-extension/api-extension-3.controller.spec.ts
new file mode 100644
index 00000000..5d5a576f
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/api-extension/api-extension-3.controller.spec.ts
@@ -0,0 +1,37 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { Logger } from '@nestjs/common';
+import { ApiExtensionController } from '../../../src/commercetools/api-extension.controller';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { cart } from '../payloads/api-extension.controller.spec.payloads';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+describe('ApiExtensionController', () => {
+ it('should execute responseExpress with { actions: [] } after an error occurs', async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ApiExtensionController,
+ Logger,
+ {
+ provide: CommercetoolsService,
+ useValue: {},
+ },
+ ],
+ }).compile();
+
+ const controller = module.get(
+ ApiExtensionController,
+ );
+
+ const json = jest.fn().mockReturnValue(undefined);
+
+ const responseExpress = {
+ status: jest.fn().mockReturnValue({ json }),
+ };
+
+ await controller.handleApiExtensionRequest(
+ cart as any,
+ responseExpress as any,
+ );
+ expect(json).toBeCalledWith({ actions: [] });
+ });
+});
diff --git a/src/__tests__/app.controller.spec.ts b/voucherify-service/test/__unit_tests__/app.controller.spec.ts
similarity index 84%
rename from src/__tests__/app.controller.spec.ts
rename to voucherify-service/test/__unit_tests__/app.controller.spec.ts
index 6375c475..88fdc9ff 100644
--- a/src/__tests__/app.controller.spec.ts
+++ b/voucherify-service/test/__unit_tests__/app.controller.spec.ts
@@ -1,6 +1,6 @@
import { Test, TestingModule } from '@nestjs/testing';
-import { AppController } from '../app.controller';
-import { AppService } from '../app.service';
+import { AppController } from '../../src/app.controller';
+import { AppService } from '../../src/app.service';
describe('AppController', () => {
let appController: AppController;
diff --git a/voucherify-service/test/__unit_tests__/cli/api-extension-add.command.spec.ts b/voucherify-service/test/__unit_tests__/cli/api-extension-add.command.spec.ts
new file mode 100644
index 00000000..1ce45102
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/cli/api-extension-add.command.spec.ts
@@ -0,0 +1,55 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../../src/commercetools/api-extension.service';
+import { MigrateCommand } from '../../../src/cli/migrate.command';
+import { ProductImportService } from '../../../src/import/product-import.service';
+import { OrderImportService } from '../../../src/import/order-import.service';
+import { CustomerImportService } from '../../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../../src/commercetools/tax-categories/tax-categories.service';
+import { ApiExtensionUpdateCommand } from '../../../src/cli/api-extension-update.command';
+import { ApiExtensionListCommand } from '../../../src/cli/api-extension-list.command';
+import { ApiExtensionDeleteCommand } from '../../../src/cli/api-extension-delete.command';
+import { ApiExtensionAddCommand } from '../../../src/cli/api-extension-add.command';
+
+describe('ApiExtensionAddCommand', () => {
+ let command: ApiExtensionAddCommand;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ imports: [ConfigModule.forRoot()],
+ providers: [
+ ApiExtensionAddCommand,
+ ApiExtensionService,
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ CommercetoolsConnectorService,
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ }).compile();
+
+ command = module.get(ApiExtensionAddCommand);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ expect(command.run).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/cli/api-extension-delete.command.spec.ts b/voucherify-service/test/__unit_tests__/cli/api-extension-delete.command.spec.ts
new file mode 100644
index 00000000..ec773c64
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/cli/api-extension-delete.command.spec.ts
@@ -0,0 +1,79 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../../src/commercetools/api-extension.service';
+import { MigrateCommand } from '../../../src/cli/migrate.command';
+import { ProductImportService } from '../../../src/import/product-import.service';
+import { OrderImportService } from '../../../src/import/order-import.service';
+import { CustomerImportService } from '../../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../../src/commercetools/tax-categories/tax-categories.service';
+import { ApiExtensionUpdateCommand } from '../../../src/cli/api-extension-update.command';
+import { ApiExtensionListCommand } from '../../../src/cli/api-extension-list.command';
+import { ApiExtensionDeleteCommand } from '../../../src/cli/api-extension-delete.command';
+import {
+ getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest,
+ getConfigForAPIExtensionServiceTest,
+} from '../../__mocks__/commerce-tools-connector.service';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('ApiExtensionDeleteCommand', () => {
+ let command: ApiExtensionDeleteCommand;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ {
+ provide: ConfigModule,
+ useValue: getConfigForAPIExtensionServiceTest(),
+ },
+ ApiExtensionDeleteCommand,
+ ApiExtensionService,
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ {
+ provide: CommercetoolsConnectorService,
+ useValue:
+ getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest(),
+ },
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ command = module.get(ApiExtensionDeleteCommand);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', async () => {
+ await command.run([], { id: '123' });
+ expect(command.run).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/cli/api-extension-list.command.spec.ts b/voucherify-service/test/__unit_tests__/cli/api-extension-list.command.spec.ts
new file mode 100644
index 00000000..42f36725
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/cli/api-extension-list.command.spec.ts
@@ -0,0 +1,79 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../../src/commercetools/api-extension.service';
+import { MigrateCommand } from '../../../src/cli/migrate.command';
+import { ProductImportService } from '../../../src/import/product-import.service';
+import { OrderImportService } from '../../../src/import/order-import.service';
+import { CustomerImportService } from '../../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../../src/commercetools/tax-categories/tax-categories.service';
+import { ApiExtensionUpdateCommand } from '../../../src/cli/api-extension-update.command';
+import { ApiExtensionListCommand } from '../../../src/cli/api-extension-list.command';
+import {
+ getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest,
+ getConfigForAPIExtensionServiceTest,
+} from '../../__mocks__/commerce-tools-connector.service';
+import { ApiExtensionDeleteCommand } from '../../../src/cli/api-extension-delete.command';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('ApiExtensionListCommand', () => {
+ let command: ApiExtensionListCommand;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ {
+ provide: ConfigModule,
+ useValue: getConfigForAPIExtensionServiceTest(),
+ },
+ ApiExtensionListCommand,
+ ApiExtensionService,
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ {
+ provide: CommercetoolsConnectorService,
+ useValue:
+ getCommerceToolsConnectorServiceMockForAPIExtensionServiceTest(),
+ },
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ command = module.get(ApiExtensionListCommand);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ command.run();
+ expect(command.run).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/cli/api-extension-update.command.spec.ts b/voucherify-service/test/__unit_tests__/cli/api-extension-update.command.spec.ts
new file mode 100644
index 00000000..c8b7f2b3
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/cli/api-extension-update.command.spec.ts
@@ -0,0 +1,65 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../../src/commercetools/api-extension.service';
+import { MigrateCommand } from '../../../src/cli/migrate.command';
+import { ProductImportService } from '../../../src/import/product-import.service';
+import { OrderImportService } from '../../../src/import/order-import.service';
+import { CustomerImportService } from '../../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../../src/commercetools/tax-categories/tax-categories.service';
+import { ApiExtensionUpdateCommand } from '../../../src/cli/api-extension-update.command';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('ApiExtensionUpdateCommand', () => {
+ let command: ApiExtensionUpdateCommand;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ConfigModule,
+ ApiExtensionUpdateCommand,
+ ApiExtensionService,
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ CommercetoolsConnectorService,
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ command = module.get(ApiExtensionUpdateCommand);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ expect(command.run).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/cli/config.command.spec.ts b/voucherify-service/test/__unit_tests__/cli/config.command.spec.ts
new file mode 100644
index 00000000..b59330af
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/cli/config.command.spec.ts
@@ -0,0 +1,51 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../../src/commercetools/api-extension.service';
+import { MigrateCommand } from '../../../src/cli/migrate.command';
+import { ProductImportService } from '../../../src/import/product-import.service';
+import { OrderImportService } from '../../../src/import/order-import.service';
+import { CustomerImportService } from '../../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../../src/commercetools/tax-categories/tax-categories.service';
+import { ConfigCommand } from '../../../src/cli/config.command';
+
+describe('ConfigCommand', () => {
+ let command: ConfigCommand;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ imports: [ConfigModule.forRoot()],
+ providers: [
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ CommercetoolsConnectorService,
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ ConfigCommand,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ }).compile();
+
+ command = module.get(ConfigCommand);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ expect(command.run).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/cli/migrate.command.spec.ts b/voucherify-service/test/__unit_tests__/cli/migrate.command.spec.ts
new file mode 100644
index 00000000..0654a5c1
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/cli/migrate.command.spec.ts
@@ -0,0 +1,69 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../../src/commercetools/commercetools-connector.service';
+import { ApiExtensionService } from '../../../src/commercetools/api-extension.service';
+import { MigrateCommand } from '../../../src/cli/migrate.command';
+import { ProductImportService } from '../../../src/import/product-import.service';
+import { OrderImportService } from '../../../src/import/order-import.service';
+import { CustomerImportService } from '../../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../../src/commercetools/tax-categories/tax-categories.service';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('MigrateCommand', () => {
+ let command: MigrateCommand;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ConfigModule,
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ CommercetoolsConnectorService,
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ command = module.get(MigrateCommand);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ expect(command.parseType).toBeDefined();
+ expect(command.parseDays).toBeDefined();
+ expect(command.parseDays('1')).toString();
+ expect(command.parseHours('1')).toBeDefined();
+ expect(command.parseMs('1')).toBeDefined();
+ expect(command.parseDate('2022-02-02')).toBeDefined();
+ expect(command.parseLongDate('2022-02-02T10:10:10')).toBeDefined();
+ expect(command.run).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/commercetools.service.spec.ts b/voucherify-service/test/__unit_tests__/commercetools.service.spec.ts
new file mode 100644
index 00000000..177957c5
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/commercetools.service.spec.ts
@@ -0,0 +1,261 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigService } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../src/configs/requestJsonLogger';
+import { CustomTypesService } from '../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../src/commercetools/tax-categories/tax-categories.service';
+import { CommercetoolsConnectorService } from '../../src/commercetools/commercetools-connector.service';
+import { CommercetoolsService } from '../../src/commercetools/commercetools.service';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+import { getCommerceToolsConnectorServiceMockForCommerceToolsServiceTest } from '../__mocks__/commerce-tools-connector.service';
+import { cart } from './payloads/commercetools.service.spec.payloads';
+import { getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse } from '../__mocks__/tax-categories.service';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('CommerceToolsService', () => {
+ let service: CommercetoolsService;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ {
+ provide: ConfigService,
+ useValue: getConfigForCommerceToolsServiceTest(),
+ },
+ CommercetoolsService,
+ {
+ provide: CommercetoolsConnectorService,
+ useValue:
+ getCommerceToolsConnectorServiceMockForCommerceToolsServiceTest(
+ cart,
+ ),
+ },
+ { provide: Logger, useValue: getLoggerForCommerceToolsServiceTest() },
+ CustomTypesService,
+ {
+ provide: TaxCategoriesService,
+ useValue:
+ getTaxCategoryServiceMockWithConfiguredTaxCategoryResponse(),
+ },
+ RequestJsonLogger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ service = module.get(CommercetoolsService);
+ service.setCartUpdateListener(jest.fn().mockReturnValue(undefined));
+ service.setOrderPaidListener(jest.fn().mockReturnValue(undefined));
+ });
+
+ it('all service methods should be defined', () => {
+ expect(service.handleCartUpdate).toBeDefined();
+ expect(service.handleAPIExtensionTimeoutOnCartUpdate).toBeDefined();
+ expect(service.checkIfCartStatusIsPaidAndRedeem).toBeDefined();
+ expect(service.setCustomTypeForInitializedCart).toBeDefined();
+ });
+
+ it('expect to return undefined when building response time is lower than maxCartUpdateResponseTimeWithoutCheckingIfApiExtensionTimedOut', async () => {
+ const result = await service.handleAPIExtensionTimeoutOnCartUpdate(
+ cart as any,
+ 0,
+ );
+ expect(result).toBeUndefined();
+ });
+
+ it('expect to return undefined when higher version of cart was found', async () => {
+ const copyOfCart = { ...cart };
+ copyOfCart.version = 5;
+ const result = await service.handleAPIExtensionTimeoutOnCartUpdate(
+ cart as any,
+ 2,
+ );
+ expect(result).toBeUndefined();
+ });
+
+ it('expect to return undefined when cartUpdateHandler is not a function', async () => {
+ service.setCartUpdateListener(undefined);
+ const result = await service.handleAPIExtensionTimeoutOnCartUpdate(
+ cart as any,
+ 2,
+ );
+ expect(result).toBeUndefined();
+ });
+
+ it('expect to return undefined when cartUpdateHandler is a function, this.cartUpdateHandler to be called 1 time', async () => {
+ const mockFunction = jest.fn().mockResolvedValue(undefined);
+ service.setCartUpdateListener(mockFunction);
+ const result = await service.handleAPIExtensionTimeoutOnCartUpdate(
+ cart as any,
+ 2,
+ );
+ expect(result).toBeUndefined();
+ });
+
+ it('Expect to return empty actions and return status false when setCartUpdateListener is not configured', async () => {
+ service.setCartUpdateListener(undefined);
+ const result = await service.handleCartUpdate(cart as any);
+ expect(result).toEqual({
+ status: false,
+ actions: [],
+ });
+ });
+
+ it('Expect to build actions and return status true for correct CT cart when setCartUpdateListener is configured', async () => {
+ const mockFunction = (cart, cartUpdateActions) => {
+ cartUpdateActions.setSessionKey('ssn_7j0LyRRIH7u9NaJVNmHkCtmky7Qezmnt');
+ cartUpdateActions.setTotalDiscountAmount(1000);
+ cartUpdateActions.setApplicableCoupons([
+ {
+ status: 'APPLICABLE',
+ id: '10off',
+ object: 'voucher',
+ order: {
+ source_id: '66567cb6-68e0-44fa-9cf5-3dee728dc396',
+ amount: 37000,
+ discount_amount: 1000,
+ total_discount_amount: 1000,
+ total_amount: 36000,
+ applied_discount_amount: 1000,
+ total_applied_discount_amount: 1000,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 18500,
+ price: 18500,
+ subtotal_amount: 18500,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: {
+ sku: 'Jeans Cycle dark blue',
+ metadata: {},
+ override: true,
+ },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 18500,
+ price: 18500,
+ subtotal_amount: 18500,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: {
+ sku: 'Jeans Cycle dark blue',
+ metadata: {},
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ applicable_to: {
+ data: [],
+ total: 0,
+ data_ref: 'data',
+ object: 'list',
+ },
+ inapplicable_to: {
+ data: [],
+ total: 0,
+ data_ref: 'data',
+ object: 'list',
+ },
+ result: {
+ discount: {
+ type: 'AMOUNT',
+ effect: 'APPLY_TO_ORDER',
+ amount_off: 1000,
+ is_dynamic: false,
+ },
+ },
+ },
+ ]);
+ };
+ service.setCartUpdateListener(mockFunction as any);
+ const result = await service.handleCartUpdate(cart as any);
+ expect(result).toEqual({
+ status: true,
+ actions: [
+ {
+ action: 'setDirectDiscounts',
+ discounts: [
+ {
+ target: { type: 'lineItems', predicate: 'true' },
+ value: {
+ type: 'absolute',
+ money: [{ centAmount: 1000, currencyCode: 'USD' }],
+ },
+ },
+ ],
+ },
+ {
+ action: 'setLineItemCustomType',
+ lineItemId: 'd52307c5-1cc4-400b-9459-121da2d261e5',
+ type: { key: 'lineItemCodesType' },
+ fields: {},
+ },
+ {
+ action: 'setCustomField',
+ name: 'session',
+ value: 'ssn_7j0LyRRIH7u9NaJVNmHkCtmky7Qezmnt',
+ },
+ {
+ action: 'setCustomField',
+ name: 'discount_codes',
+ value: [
+ '{"code":"10off","status":"APPLIED","type":"voucher","value":1000}',
+ ],
+ },
+ {
+ action: 'setCustomField',
+ name: 'shippingProductSourceIds',
+ value: [],
+ },
+ { action: 'setCustomField', name: 'couponsLimit', value: 5 },
+ ],
+ });
+ });
+});
+
+const getConfigForCommerceToolsServiceTest = () => {
+ const configService =
+ jest.createMockFromModule('@nestjs/config');
+ configService.get = jest.fn((key) => {
+ if (
+ key ===
+ 'MAX_CART_UPDATE_RESPONSE_TIME_WITHOUT_CHECKING_IF_API_EXTENSION_TIMED_OUT'
+ ) {
+ return 1;
+ }
+ if (key === 'APPLY_CART_DISCOUNT_AS_CT_DIRECT_DISCOUNT') {
+ return 'true';
+ }
+ return null;
+ });
+ return configService;
+};
+
+const getLoggerForCommerceToolsServiceTest = () => {
+ const logger = jest.createMockFromModule('@nestjs/common') as Logger;
+
+ logger.error = jest.fn().mockReturnValue(undefined);
+ logger.debug = jest.fn().mockReturnValue(undefined);
+
+ return logger;
+};
diff --git a/voucherify-service/test/__unit_tests__/configs.spec.ts b/voucherify-service/test/__unit_tests__/configs.spec.ts
new file mode 100644
index 00000000..bb27cf51
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/configs.spec.ts
@@ -0,0 +1,38 @@
+import { AppValidationPipe } from '../../src/configs/appValidationPipe';
+import { ValidationSchema } from '../../src/configs/validationSchema';
+
+describe('ConfigsTest', () => {
+ it('AppValidationPipe should be defined and return value', async () => {
+ const result = AppValidationPipe;
+ expect(AppValidationPipe).toBeDefined();
+ expect(result).toBeInstanceOf(Object);
+ });
+
+ it('ValidationSchema should be defined and return value', async () => {
+ const result = ValidationSchema;
+ expect(result).toBeDefined();
+ expect(result).toBeInstanceOf(Object);
+ });
+
+ it('ValidationSchema should remove trailing slash from APP_URL and CONNECT_SERVICE_URL', async () => {
+ const exampleConfig = {
+ // required configs
+ VOUCHERIFY_APP_ID: 'someId',
+ VOUCHERIFY_SECRET_KEY: 'someSecret',
+ VOUCHERIFY_API_URL: 'https://dev.api.voucherify.io',
+ COMMERCE_TOOLS_PROJECT_KEY: 'asdasd',
+ COMMERCE_TOOLS_AUTH_URL:
+ 'https://auth.europe-west1.gcp.commercetools.com',
+ COMMERCE_TOOLS_API_URL: 'https://api.europe-west1.gcp.commercetools.com',
+ COMMERCE_TOOLS_ID: 'someId',
+ COMMERCE_TOOLS_SECRET: 'someSecret',
+ // what we test
+ APP_URL: 'https://some-domain.com/',
+ CONNECT_SERVICE_URL: 'https://some-other-domain.com/',
+ };
+ const { error, value } = ValidationSchema.validate(exampleConfig);
+ expect(error).toBeUndefined();
+ expect(value?.APP_URL).toEqual('https://some-domain.com');
+ expect(value?.CONNECT_SERVICE_URL).toEqual('https://some-other-domain.com');
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/ctMappers.spec.ts b/voucherify-service/test/__unit_tests__/ctMappers.spec.ts
new file mode 100644
index 00000000..2e660875
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/ctMappers.spec.ts
@@ -0,0 +1,51 @@
+import {
+ getSimpleMetadataForOrderAllMetadataSchemaProperties,
+ getSimpleMetadataForOrderRawOrder,
+} from './payloads/ctMappers.spec.payloads';
+import { getSimpleMetadataForOrder } from '../../src/commercetools/utils/mappers/getSimpleMetadataForOrder';
+import { mergeTwoObjectsIntoOne } from '../../src/integration/utils/mergeTwoObjectsIntoOne';
+import {
+ firstObject,
+ secondObject,
+} from './payloads/mergeTwoObjectsIntoOne.spec.payload';
+
+describe('CT Mappers Test', () => {
+ it('should map getSimpleMetadataForOrder correctly', () => {
+ const result = getSimpleMetadataForOrder(
+ getSimpleMetadataForOrderRawOrder as any,
+ getSimpleMetadataForOrderAllMetadataSchemaProperties,
+ );
+ expect(result).toEqual({
+ billingAddress: {
+ city: 'Kraków',
+ country: 'DE',
+ email: 'piotrzielinski@gmail.com',
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ phone: '+48796120506',
+ postalCode: '32-000',
+ streetName: 'Porcelanowa',
+ },
+ });
+ });
+
+ it('should merge two objects into one correctly', () => {
+ const result = mergeTwoObjectsIntoOne(firstObject, secondObject);
+ expect(result).toEqual({
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ version: '5',
+ versionModifiedAt: '2023-05-31T16:04:06.867Z',
+ createdAt: '2023-05-31T16:04:06.656Z',
+ lastModifiedAt: '2023-05-31T16:04:06.867Z',
+ name: 'coupon',
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ });
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/ctUtils.spec.ts b/voucherify-service/test/__unit_tests__/ctUtils.spec.ts
new file mode 100644
index 00000000..38d80af4
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/ctUtils.spec.ts
@@ -0,0 +1,36 @@
+import { getCommercetoolstCurrentPriceAmount } from '../../src/commercetools/utils/getCommercetoolstCurrentPriceAmount';
+import {
+ deserializeCouponsSerializedDiscountOrCode,
+ getCommercetoolstCurrentPriceAmountCtProduct,
+ getCommercetoolstCurrentPriceAmountProductPriceSelector,
+ getCommercetoolstCurrentPriceAmountProductSkuSourceId,
+ getCommercetoolstCurrentPriceAmountResult,
+} from './payloads/ctUtils.spec.payloads';
+import { deserializeCoupons } from '../../src/commercetools/utils/deserializeCoupons';
+
+describe('CT Utils Test', () => {
+ it('should getCommercetoolstCurrentPriceAmount correctly', () => {
+ const result = getCommercetoolstCurrentPriceAmount(
+ getCommercetoolstCurrentPriceAmountCtProduct as any,
+ getCommercetoolstCurrentPriceAmountProductSkuSourceId,
+ getCommercetoolstCurrentPriceAmountProductPriceSelector,
+ );
+ expect(result).toEqual(getCommercetoolstCurrentPriceAmountResult);
+ });
+
+ it('should deserializeCoupons correctly', () => {
+ expect(
+ deserializeCoupons(deserializeCouponsSerializedDiscountOrCode),
+ ).toEqual({
+ code: 'unit1',
+ status: 'APPLIED',
+ type: 'voucher',
+ value: 37375,
+ });
+
+ expect(deserializeCoupons('test')).toEqual({
+ code: 'test',
+ status: 'NEW',
+ });
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/custom-types.service.spec.ts b/voucherify-service/test/__unit_tests__/custom-types.service.spec.ts
new file mode 100644
index 00000000..4700ea64
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/custom-types.service.spec.ts
@@ -0,0 +1,70 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { ConfigModule } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../src/configs/requestJsonLogger';
+import { CommercetoolsConnectorService } from '../../src/commercetools/commercetools-connector.service';
+import { MigrateCommand } from '../../src/cli/migrate.command';
+import { ProductImportService } from '../../src/import/product-import.service';
+import { OrderImportService } from '../../src/import/order-import.service';
+import { CustomerImportService } from '../../src/import/customer-import.service';
+import { VoucherifyConnectorService } from '../../src/voucherify/voucherify-connector.service';
+import { OrderMapper } from '../../src/integration/utils/mappers/order';
+import { CommercetoolsService } from '../../src/commercetools/commercetools.service';
+import { CustomTypesService } from '../../src/commercetools/custom-types/custom-types.service';
+import { TaxCategoriesService } from '../../src/commercetools/tax-categories/tax-categories.service';
+import { ConfigCommand } from '../../src/cli/config.command';
+import { getCommerceToolsConnectorServiceMockWithCouponTypes } from '../__mocks__/commerce-tools-connector.service';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+
+const moduleMocker = new ModuleMocker(global);
+
+describe('ConfigCommand', () => {
+ let command: CustomTypesService;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ ConfigModule,
+ MigrateCommand,
+ ProductImportService,
+ OrderImportService,
+ CustomerImportService,
+ {
+ provide: CommercetoolsConnectorService,
+ useValue: getCommerceToolsConnectorServiceMockWithCouponTypes(),
+ },
+ VoucherifyConnectorService,
+ CommercetoolsService,
+ CustomTypesService,
+ TaxCategoriesService,
+ ConfigCommand,
+ OrderMapper,
+ Logger,
+ RequestJsonLogger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ command = module.get(CustomTypesService);
+ });
+
+ it('should be defined', () => {
+ expect(command).toBeDefined();
+ });
+
+ it('should be defined', () => {
+ command.findCouponType('test');
+ expect(command.findCouponType).toBeDefined();
+ command.configureCouponTypes();
+ expect(command.configureCouponTypes).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/fixedPrice.spec.ts b/voucherify-service/test/__unit_tests__/fixedPrice.spec.ts
new file mode 100644
index 00000000..904c3a3f
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/fixedPrice.spec.ts
@@ -0,0 +1,34 @@
+import { replaceCodesWithInapplicableCoupons } from '../../src/integration/utils/replaceCodesWithInapplicableCoupons';
+import mapValidateCouponsResultToLineProductsWithFixedAmount from '../../src/commercetools/store-actions/cart-update-actions/helpers/fixedPrice';
+import { dataToRunCartActionsBuilder } from './payloads/fixedPrice.spec.payloads';
+
+describe('replaceCodesWithInapplicableCoupons', () => {
+ it('should map code to result', async () => {
+ expect(
+ mapValidateCouponsResultToLineProductsWithFixedAmount(
+ dataToRunCartActionsBuilder as any,
+ ),
+ ).toEqual([
+ {
+ action: 'setLineItemCustomType',
+ lineItemId: '093db141-0a2b-472d-b520-556b8c7ac307',
+ type: { key: 'lineItemCodesType' },
+ fields: {},
+ },
+ {
+ action: 'setLineItemCustomType',
+ lineItemId: '883ca605-dcb1-4f83-84e4-d75742bd38f8',
+ type: { key: 'lineItemCodesType' },
+ fields: {},
+ },
+ {
+ action: 'setLineItemCustomType',
+ lineItemId: '86a2607b-55cb-4ea6-8d00-3cc53c4a2c33',
+ type: { key: 'lineItemCodesType' },
+ fields: {
+ coupon_fixed_price: 10000,
+ },
+ },
+ ]);
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/getOrderMetadata.spec.ts b/voucherify-service/test/__unit_tests__/getOrderMetadata.spec.ts
new file mode 100644
index 00000000..386c68b0
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/getOrderMetadata.spec.ts
@@ -0,0 +1,43 @@
+import { getOrderMetadata } from '../../src/integration/utils/getOrderMetadata';
+import { cart } from './payloads/commercetools.service.spec.payloads';
+import { OrderPaidActions } from '../../src/commercetools/store-actions/order-paid-actions';
+
+describe('Get order metadata', () => {
+ it('should getOrderMetadata correctly (while no custom function is provided)', async () => {
+ const result = await getOrderMetadata(cart as any, [
+ 'country',
+ 'shippingMode',
+ 'type',
+ ]);
+ expect(result).toEqual({
+ country: 'US',
+ shippingMode: 'Single',
+ type: 'Cart',
+ });
+ });
+
+ it('should getOrderMetadata correctly (while orderPaidActions.getCustomMetadataForOrder function is provided)', async () => {
+ const orderPaidActions = new OrderPaidActions();
+ const result = await getOrderMetadata(
+ cart as any,
+ [
+ 'country',
+ 'shippingMode',
+ 'type',
+ 'custom_filed_discount_codes',
+ 'custom_filed_session',
+ ],
+ orderPaidActions.getCustomMetadataForOrder,
+ );
+ expect(result).toEqual({
+ country: 'US',
+ shippingMode: 'Single',
+ type: 'Cart',
+ custom_filed_discount_codes: [
+ '{"code":"PERC10","status":"APPLIED","value":2650}',
+ '{"code":"AMOUNT20","status":"APPLIED","value":2000}',
+ ],
+ custom_filed_session: 'existing-session-id',
+ });
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/handle-timeout-interceptor.service.spec.ts b/voucherify-service/test/__unit_tests__/handle-timeout-interceptor.service.spec.ts
new file mode 100644
index 00000000..2452b1b7
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/handle-timeout-interceptor.service.spec.ts
@@ -0,0 +1,69 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { Logger } from '@nestjs/common';
+import { CommercetoolsService } from '../../src/commercetools/commercetools.service';
+import { getCommerceToolsServiceMockWithMockedResponse } from '../__mocks__/commercetools.service';
+import { cart } from './payloads/api-extension.controller.spec.payloads';
+import { HandleTimeoutInterceptor } from '../../src/commercetools/handle-timeout-interceptor.service';
+
+describe('CommerceToolsController', () => {
+ let interceptor: HandleTimeoutInterceptor;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ HandleTimeoutInterceptor,
+ Logger,
+ {
+ provide: CommercetoolsService,
+ useValue: getCommerceToolsServiceMockWithMockedResponse(),
+ },
+ ],
+ }).compile();
+
+ interceptor = module.get(
+ HandleTimeoutInterceptor,
+ );
+ });
+
+ it('should be defined', () => {
+ expect(interceptor).toBeDefined();
+ });
+
+ it('should intercept with cart payload with no errors', async () => {
+ const next = {
+ handle: jest
+ .fn()
+ .mockReturnValue({ pipe: jest.fn().mockReturnValue(undefined) }),
+ };
+
+ const context = {
+ switchToHttp: jest.fn().mockReturnValue({
+ getRequest: jest.fn().mockReturnValue({ body: cart }),
+ }),
+ };
+
+ expect(await interceptor.intercept(context as any, next as any)).toEqual(
+ undefined,
+ );
+ });
+
+ it('should intercept with order payload with no errors', async () => {
+ const next = {
+ handle: jest
+ .fn()
+ .mockReturnValue({ pipe: jest.fn().mockReturnValue(undefined) }),
+ };
+
+ const order = { ...cart };
+ order.resource.typeId = 'order';
+
+ const context = {
+ switchToHttp: jest.fn().mockReturnValue({
+ getRequest: jest.fn().mockReturnValue({ body: order }),
+ }),
+ };
+
+ const result = await interceptor.intercept(context as any, next as any);
+ expect(result?.pipe).toBeDefined();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/integrationMappers.spec.ts b/voucherify-service/test/__unit_tests__/integrationMappers.spec.ts
new file mode 100644
index 00000000..fdcc3a80
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/integrationMappers.spec.ts
@@ -0,0 +1,26 @@
+import {
+ getOrderObjectOrder,
+ getOrderObjectResponse,
+ buildRedeemStackableRequestForVoucherifyItems,
+ buildRedeemStackableRequestForVoucherifyOrder,
+ buildRedeemStackableRequestForVoucherifyResponse,
+} from './payloads/integrationMappers.spec.payloads';
+import { buildRedeemStackableRequestForVoucherify } from '../../src/integration/utils/mappers/buildRedeemStackableRequestForVoucherify';
+import { OrderMapper } from '../../src/integration/utils/mappers/order';
+
+describe('Integration Mappers Test', () => {
+ it('Should map order correctly', () => {
+ const orderMapper = new OrderMapper();
+ const result = orderMapper.getOrderObject(getOrderObjectOrder as any);
+ expect(result).toEqual(getOrderObjectResponse);
+ });
+
+ it('should map order with items to V% redeem', async () => {
+ const result = buildRedeemStackableRequestForVoucherify(
+ buildRedeemStackableRequestForVoucherifyOrder as any,
+ buildRedeemStackableRequestForVoucherifyItems as any,
+ {},
+ );
+ expect(result).toEqual(buildRedeemStackableRequestForVoucherifyResponse);
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/order-paid-actions.spec.ts b/voucherify-service/test/__unit_tests__/order-paid-actions.spec.ts
new file mode 100644
index 00000000..40d16e59
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/order-paid-actions.spec.ts
@@ -0,0 +1,531 @@
+import { OrderPaidActions } from '../../src/commercetools/store-actions/order-paid-actions';
+import {
+ order,
+ orderMetadataSchemaProperties,
+} from './payloads/order-paid-actions-pailoads';
+
+describe('OrderPaidActions', () => {
+ it('should getCustomMetadataForOrder correctly', async () => {
+ const orderPaidActions = new OrderPaidActions();
+ const ctClient = {
+ payments: jest.fn().mockReturnValue({
+ withId: jest.fn().mockReturnValue({
+ get: jest.fn().mockReturnValue({
+ execute: jest
+ .fn()
+ .mockResolvedValue({ body: { payments: 'found', id: 123 } }),
+ }),
+ }),
+ }),
+ };
+ orderPaidActions.setCtClient(ctClient as any);
+ const result = await orderPaidActions.getCustomMetadataForOrder(
+ order as any,
+ [...orderMetadataSchemaProperties, 'payments'],
+ );
+ expect(result).toEqual({
+ custom_filed_shippingInfo: {
+ shippingMethodName: 'Standard US',
+ 'price.type': 'centPrecision',
+ 'price.currencyCode': 'USD',
+ 'price.centAmount': 0,
+ 'price.fractionDigits': 2,
+ 'shippingRate.price.type': 'centPrecision',
+ 'shippingRate.price.currencyCode': 'USD',
+ 'shippingRate.price.centAmount': 300,
+ 'shippingRate.price.fractionDigits': 2,
+ 'shippingRate.freeAbove.type': 'centPrecision',
+ 'shippingRate.freeAbove.currencyCode': 'USD',
+ 'shippingRate.freeAbove.centAmount': 20000,
+ 'shippingRate.freeAbove.fractionDigits': 2,
+ 'taxRate.name': '10% incl.',
+ 'taxRate.amount': 0.1,
+ 'taxRate.includedInPrice': true,
+ 'taxRate.country': 'US',
+ 'taxRate.id': '_JMEWRo5',
+ 'taxCategory.typeId': 'tax-category',
+ 'taxCategory.id': '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ 'shippingMethod.typeId': 'shipping-method',
+ 'shippingMethod.id': '4ec3254f-4ce4-4338-803d-1e42e6f552c6',
+ 'taxedPrice.totalNet.type': 'centPrecision',
+ 'taxedPrice.totalNet.currencyCode': 'USD',
+ 'taxedPrice.totalNet.centAmount': 0,
+ 'taxedPrice.totalNet.fractionDigits': 2,
+ 'taxedPrice.totalGross.type': 'centPrecision',
+ 'taxedPrice.totalGross.currencyCode': 'USD',
+ 'taxedPrice.totalGross.centAmount': 0,
+ 'taxedPrice.totalGross.fractionDigits': 2,
+ 'taxedPrice.totalTax.type': 'centPrecision',
+ 'taxedPrice.totalTax.currencyCode': 'USD',
+ 'taxedPrice.totalTax.centAmount': 0,
+ 'taxedPrice.totalTax.fractionDigits': 2,
+ shippingMethodState: 'MatchesCart',
+ },
+ payments: [{ payments: 'found', id: 123 }],
+ taxedPrice: {
+ 'totalNet.type': 'centPrecision',
+ 'totalNet.currencyCode': 'USD',
+ 'totalNet.centAmount': 33636,
+ 'totalNet.fractionDigits': 2,
+ 'totalGross.type': 'centPrecision',
+ 'totalGross.currencyCode': 'USD',
+ 'totalGross.centAmount': 37000,
+ 'totalGross.fractionDigits': 2,
+ 'taxPortions.0.rate': 0.1,
+ 'taxPortions.0.amount.type': 'centPrecision',
+ 'taxPortions.0.amount.currencyCode': 'USD',
+ 'taxPortions.0.amount.centAmount': 3364,
+ 'taxPortions.0.amount.fractionDigits': 2,
+ 'taxPortions.0.name': '10% incl.',
+ 'totalTax.type': 'centPrecision',
+ 'totalTax.currencyCode': 'USD',
+ 'totalTax.centAmount': 3364,
+ 'totalTax.fractionDigits': 2,
+ },
+ lineItems: [
+ {
+ id: 'd52307c5-1cc4-400b-9459-121da2d261e5',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ 'name.en': 'Jeans Cycle dark blue',
+ 'name.de': 'Jeans Cycle dunkelblau',
+ 'productType.typeId': 'product-type',
+ 'productType.id': 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ 'productType.version': 1,
+ 'productSlug.en': 'cycle-jeans-T225B0440880-darkblue',
+ 'productSlug.de': 'cycle-jeans-T225B0440880-dunkelblau',
+ 'variant.id': 1,
+ 'variant.sku': 'M0E20000000EE54',
+ 'variant.key': 'M0E20000000EE54',
+ 'variant.prices.0.id': 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ 'variant.prices.0.value.type': 'centPrecision',
+ 'variant.prices.0.value.currencyCode': 'EUR',
+ 'variant.prices.0.value.centAmount': 18500,
+ 'variant.prices.0.value.fractionDigits': 2,
+ 'variant.prices.1.id': '3d14867a-66d2-4766-a05d-b66bfd258121',
+ 'variant.prices.1.value.type': 'centPrecision',
+ 'variant.prices.1.value.currencyCode': 'EUR',
+ 'variant.prices.1.value.centAmount': 12131,
+ 'variant.prices.1.value.fractionDigits': 2,
+ 'variant.prices.1.customerGroup.typeId': 'customer-group',
+ 'variant.prices.1.customerGroup.id':
+ '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ 'variant.prices.2.id': '1728926f-e928-4eba-8aab-8338406b0f38',
+ 'variant.prices.2.value.type': 'centPrecision',
+ 'variant.prices.2.value.currencyCode': 'USD',
+ 'variant.prices.2.value.centAmount': 18500,
+ 'variant.prices.2.value.fractionDigits': 2,
+ 'variant.prices.2.country': 'US',
+ 'variant.prices.3.id': '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ 'variant.prices.3.value.type': 'centPrecision',
+ 'variant.prices.3.value.currencyCode': 'USD',
+ 'variant.prices.3.value.centAmount': 12131,
+ 'variant.prices.3.value.fractionDigits': 2,
+ 'variant.prices.3.customerGroup.typeId': 'customer-group',
+ 'variant.prices.3.customerGroup.id':
+ '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ 'variant.prices.4.id': '268bd270-188d-480e-91ce-62f5ce36cd44',
+ 'variant.prices.4.value.type': 'centPrecision',
+ 'variant.prices.4.value.currencyCode': 'EUR',
+ 'variant.prices.4.value.centAmount': 14800,
+ 'variant.prices.4.value.fractionDigits': 2,
+ 'variant.prices.4.country': 'DE',
+ 'variant.prices.5.id': '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ 'variant.prices.5.value.type': 'centPrecision',
+ 'variant.prices.5.value.currencyCode': 'EUR',
+ 'variant.prices.5.value.centAmount': 14800,
+ 'variant.prices.5.value.fractionDigits': 2,
+ 'variant.prices.5.country': 'IT',
+ 'variant.prices.6.id': '4a76b969-9927-4499-95f3-70ba1986d792',
+ 'variant.prices.6.value.type': 'centPrecision',
+ 'variant.prices.6.value.currencyCode': 'EUR',
+ 'variant.prices.6.value.centAmount': 14800,
+ 'variant.prices.6.value.fractionDigits': 2,
+ 'variant.prices.6.country': 'GB',
+ 'variant.prices.7.id': '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ 'variant.prices.7.value.type': 'centPrecision',
+ 'variant.prices.7.value.currencyCode': 'EUR',
+ 'variant.prices.7.value.centAmount': 16132,
+ 'variant.prices.7.value.fractionDigits': 2,
+ 'variant.prices.7.country': 'DE',
+ 'variant.prices.7.channel.typeId': 'channel',
+ 'variant.prices.7.channel.id': 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ 'variant.prices.8.id': 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ 'variant.prices.8.value.type': 'centPrecision',
+ 'variant.prices.8.value.currencyCode': 'EUR',
+ 'variant.prices.8.value.centAmount': 20165,
+ 'variant.prices.8.value.fractionDigits': 2,
+ 'variant.prices.8.channel.typeId': 'channel',
+ 'variant.prices.8.channel.id': '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ 'variant.prices.9.id': '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ 'variant.prices.9.value.type': 'centPrecision',
+ 'variant.prices.9.value.currencyCode': 'EUR',
+ 'variant.prices.9.value.centAmount': 16280,
+ 'variant.prices.9.value.fractionDigits': 2,
+ 'variant.prices.9.country': 'DE',
+ 'variant.prices.9.channel.typeId': 'channel',
+ 'variant.prices.9.channel.id': '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ 'variant.prices.10.id': 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ 'variant.prices.10.value.type': 'centPrecision',
+ 'variant.prices.10.value.currencyCode': 'EUR',
+ 'variant.prices.10.value.centAmount': 13468,
+ 'variant.prices.10.value.fractionDigits': 2,
+ 'variant.prices.10.country': 'DE',
+ 'variant.prices.10.channel.typeId': 'channel',
+ 'variant.prices.10.channel.id':
+ 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ 'variant.prices.11.id': 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ 'variant.prices.11.value.type': 'centPrecision',
+ 'variant.prices.11.value.currencyCode': 'EUR',
+ 'variant.prices.11.value.centAmount': 13616,
+ 'variant.prices.11.value.fractionDigits': 2,
+ 'variant.prices.11.country': 'DE',
+ 'variant.prices.11.channel.typeId': 'channel',
+ 'variant.prices.11.channel.id':
+ 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ 'variant.prices.12.id': '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ 'variant.prices.12.value.type': 'centPrecision',
+ 'variant.prices.12.value.currencyCode': 'USD',
+ 'variant.prices.12.value.centAmount': 16132,
+ 'variant.prices.12.value.fractionDigits': 2,
+ 'variant.prices.12.country': 'US',
+ 'variant.prices.12.channel.typeId': 'channel',
+ 'variant.prices.12.channel.id':
+ '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ 'variant.prices.13.id': '33958888-3989-49db-b64e-124fd35aacc4',
+ 'variant.prices.13.value.type': 'centPrecision',
+ 'variant.prices.13.value.currencyCode': 'USD',
+ 'variant.prices.13.value.centAmount': 20165,
+ 'variant.prices.13.value.fractionDigits': 2,
+ 'variant.prices.13.channel.typeId': 'channel',
+ 'variant.prices.13.channel.id':
+ '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ 'variant.prices.14.id': '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ 'variant.prices.14.value.type': 'centPrecision',
+ 'variant.prices.14.value.currencyCode': 'USD',
+ 'variant.prices.14.value.centAmount': 16280,
+ 'variant.prices.14.value.fractionDigits': 2,
+ 'variant.prices.14.country': 'US',
+ 'variant.prices.14.channel.typeId': 'channel',
+ 'variant.prices.14.channel.id':
+ 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ 'variant.prices.15.id': 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ 'variant.prices.15.value.type': 'centPrecision',
+ 'variant.prices.15.value.currencyCode': 'USD',
+ 'variant.prices.15.value.centAmount': 13468,
+ 'variant.prices.15.value.fractionDigits': 2,
+ 'variant.prices.15.country': 'US',
+ 'variant.prices.15.channel.typeId': 'channel',
+ 'variant.prices.15.channel.id':
+ '3def0285-22e1-401c-916b-56efb977f18e',
+ 'variant.prices.16.id': 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ 'variant.prices.16.value.type': 'centPrecision',
+ 'variant.prices.16.value.currencyCode': 'USD',
+ 'variant.prices.16.value.centAmount': 13616,
+ 'variant.prices.16.value.fractionDigits': 2,
+ 'variant.prices.16.country': 'US',
+ 'variant.prices.16.channel.typeId': 'channel',
+ 'variant.prices.16.channel.id':
+ 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ 'variant.images.0.url':
+ 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ 'variant.images.0.dimensions.w': 0,
+ 'variant.images.0.dimensions.h': 0,
+ 'variant.attributes.0.name': 'articleNumberManufacturer',
+ 'variant.attributes.0.value': 'WPT492 T225 B044 0880 001',
+ 'variant.attributes.1.name': 'articleNumberMax',
+ 'variant.attributes.1.value': '81338',
+ 'variant.attributes.2.name': 'matrixId',
+ 'variant.attributes.2.value': 'M0E20000000EE54',
+ 'variant.attributes.3.name': 'baseId',
+ 'variant.attributes.3.value': '81338',
+ 'variant.attributes.4.name': 'designer',
+ 'variant.attributes.4.value.key': 'cycle',
+ 'variant.attributes.4.value.label': 'Cycle',
+ 'variant.attributes.5.name': 'madeInItaly',
+ 'variant.attributes.5.value.key': 'yes',
+ 'variant.attributes.5.value.label': 'yes',
+ 'variant.attributes.6.name': 'commonSize',
+ 'variant.attributes.6.value.key': 'xxs',
+ 'variant.attributes.6.value.label': 'XXS',
+ 'variant.attributes.7.name': 'size',
+ 'variant.attributes.7.value': '24',
+ 'variant.attributes.8.name': 'color',
+ 'variant.attributes.8.value.key': 'blue',
+ 'variant.attributes.8.value.label.de': 'blau',
+ 'variant.attributes.8.value.label.it': 'blu',
+ 'variant.attributes.8.value.label.en': 'blue',
+ 'variant.attributes.9.name': 'colorFreeDefinition',
+ 'variant.attributes.9.value.en': 'dark blue',
+ 'variant.attributes.9.value.de': 'dunkelblau',
+ 'variant.attributes.10.name': 'style',
+ 'variant.attributes.10.value.key': 'sporty',
+ 'variant.attributes.10.value.label': 'sporty',
+ 'variant.attributes.11.name': 'gender',
+ 'variant.attributes.11.value.key': 'women',
+ 'variant.attributes.11.value.label': 'Damen',
+ 'variant.attributes.12.name': 'season',
+ 'variant.attributes.12.value': 's15',
+ 'price.id': '1728926f-e928-4eba-8aab-8338406b0f38',
+ 'price.value.type': 'centPrecision',
+ 'price.value.currencyCode': 'USD',
+ 'price.value.centAmount': 18500,
+ 'price.value.fractionDigits': 2,
+ 'price.country': 'US',
+ quantity: 1,
+ 'taxRate.name': '10% incl.',
+ 'taxRate.amount': 0.1,
+ 'taxRate.includedInPrice': true,
+ 'taxRate.country': 'US',
+ 'taxRate.id': '_JMEWRo5',
+ addedAt: '2023-06-14T11:48:15.511Z',
+ lastModifiedAt: '2023-06-14T11:48:15.511Z',
+ 'state.0.quantity': 1,
+ 'state.0.state.typeId': 'state',
+ 'state.0.state.id': 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ 'totalPrice.type': 'centPrecision',
+ 'totalPrice.currencyCode': 'USD',
+ 'totalPrice.centAmount': 18500,
+ 'totalPrice.fractionDigits': 2,
+ 'taxedPrice.totalNet.type': 'centPrecision',
+ 'taxedPrice.totalNet.currencyCode': 'USD',
+ 'taxedPrice.totalNet.centAmount': 16818,
+ 'taxedPrice.totalNet.fractionDigits': 2,
+ 'taxedPrice.totalGross.type': 'centPrecision',
+ 'taxedPrice.totalGross.currencyCode': 'USD',
+ 'taxedPrice.totalGross.centAmount': 18500,
+ 'taxedPrice.totalGross.fractionDigits': 2,
+ 'taxedPrice.totalTax.type': 'centPrecision',
+ 'taxedPrice.totalTax.currencyCode': 'USD',
+ 'taxedPrice.totalTax.centAmount': 1682,
+ 'taxedPrice.totalTax.fractionDigits': 2,
+ 'custom.type.typeId': 'type',
+ 'custom.type.id': '69840f60-bd39-4958-b3fc-85bf6c492791',
+ },
+ {
+ id: '9d0b608c-f02d-43c2-8417-dcecb43ecc88',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ 'name.en': 'Jeans Cycle dark blue',
+ 'name.de': 'Jeans Cycle dunkelblau',
+ 'productType.typeId': 'product-type',
+ 'productType.id': 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ 'productType.version': 1,
+ 'productSlug.en': 'cycle-jeans-T225B0440880-darkblue',
+ 'productSlug.de': 'cycle-jeans-T225B0440880-dunkelblau',
+ 'variant.id': 1,
+ 'variant.sku': 'M0E20000000EE54',
+ 'variant.key': 'M0E20000000EE54',
+ 'variant.prices.0.id': 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ 'variant.prices.0.value.type': 'centPrecision',
+ 'variant.prices.0.value.currencyCode': 'EUR',
+ 'variant.prices.0.value.centAmount': 18500,
+ 'variant.prices.0.value.fractionDigits': 2,
+ 'variant.prices.1.id': '3d14867a-66d2-4766-a05d-b66bfd258121',
+ 'variant.prices.1.value.type': 'centPrecision',
+ 'variant.prices.1.value.currencyCode': 'EUR',
+ 'variant.prices.1.value.centAmount': 12131,
+ 'variant.prices.1.value.fractionDigits': 2,
+ 'variant.prices.1.customerGroup.typeId': 'customer-group',
+ 'variant.prices.1.customerGroup.id':
+ '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ 'variant.prices.2.id': '1728926f-e928-4eba-8aab-8338406b0f38',
+ 'variant.prices.2.value.type': 'centPrecision',
+ 'variant.prices.2.value.currencyCode': 'USD',
+ 'variant.prices.2.value.centAmount': 18500,
+ 'variant.prices.2.value.fractionDigits': 2,
+ 'variant.prices.2.country': 'US',
+ 'variant.prices.3.id': '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ 'variant.prices.3.value.type': 'centPrecision',
+ 'variant.prices.3.value.currencyCode': 'USD',
+ 'variant.prices.3.value.centAmount': 12131,
+ 'variant.prices.3.value.fractionDigits': 2,
+ 'variant.prices.3.customerGroup.typeId': 'customer-group',
+ 'variant.prices.3.customerGroup.id':
+ '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ 'variant.prices.4.id': '268bd270-188d-480e-91ce-62f5ce36cd44',
+ 'variant.prices.4.value.type': 'centPrecision',
+ 'variant.prices.4.value.currencyCode': 'EUR',
+ 'variant.prices.4.value.centAmount': 14800,
+ 'variant.prices.4.value.fractionDigits': 2,
+ 'variant.prices.4.country': 'DE',
+ 'variant.prices.5.id': '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ 'variant.prices.5.value.type': 'centPrecision',
+ 'variant.prices.5.value.currencyCode': 'EUR',
+ 'variant.prices.5.value.centAmount': 14800,
+ 'variant.prices.5.value.fractionDigits': 2,
+ 'variant.prices.5.country': 'IT',
+ 'variant.prices.6.id': '4a76b969-9927-4499-95f3-70ba1986d792',
+ 'variant.prices.6.value.type': 'centPrecision',
+ 'variant.prices.6.value.currencyCode': 'EUR',
+ 'variant.prices.6.value.centAmount': 14800,
+ 'variant.prices.6.value.fractionDigits': 2,
+ 'variant.prices.6.country': 'GB',
+ 'variant.prices.7.id': '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ 'variant.prices.7.value.type': 'centPrecision',
+ 'variant.prices.7.value.currencyCode': 'EUR',
+ 'variant.prices.7.value.centAmount': 16132,
+ 'variant.prices.7.value.fractionDigits': 2,
+ 'variant.prices.7.country': 'DE',
+ 'variant.prices.7.channel.typeId': 'channel',
+ 'variant.prices.7.channel.id': 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ 'variant.prices.8.id': 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ 'variant.prices.8.value.type': 'centPrecision',
+ 'variant.prices.8.value.currencyCode': 'EUR',
+ 'variant.prices.8.value.centAmount': 20165,
+ 'variant.prices.8.value.fractionDigits': 2,
+ 'variant.prices.8.channel.typeId': 'channel',
+ 'variant.prices.8.channel.id': '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ 'variant.prices.9.id': '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ 'variant.prices.9.value.type': 'centPrecision',
+ 'variant.prices.9.value.currencyCode': 'EUR',
+ 'variant.prices.9.value.centAmount': 16280,
+ 'variant.prices.9.value.fractionDigits': 2,
+ 'variant.prices.9.country': 'DE',
+ 'variant.prices.9.channel.typeId': 'channel',
+ 'variant.prices.9.channel.id': '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ 'variant.prices.10.id': 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ 'variant.prices.10.value.type': 'centPrecision',
+ 'variant.prices.10.value.currencyCode': 'EUR',
+ 'variant.prices.10.value.centAmount': 13468,
+ 'variant.prices.10.value.fractionDigits': 2,
+ 'variant.prices.10.country': 'DE',
+ 'variant.prices.10.channel.typeId': 'channel',
+ 'variant.prices.10.channel.id':
+ 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ 'variant.prices.11.id': 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ 'variant.prices.11.value.type': 'centPrecision',
+ 'variant.prices.11.value.currencyCode': 'EUR',
+ 'variant.prices.11.value.centAmount': 13616,
+ 'variant.prices.11.value.fractionDigits': 2,
+ 'variant.prices.11.country': 'DE',
+ 'variant.prices.11.channel.typeId': 'channel',
+ 'variant.prices.11.channel.id':
+ 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ 'variant.prices.12.id': '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ 'variant.prices.12.value.type': 'centPrecision',
+ 'variant.prices.12.value.currencyCode': 'USD',
+ 'variant.prices.12.value.centAmount': 16132,
+ 'variant.prices.12.value.fractionDigits': 2,
+ 'variant.prices.12.country': 'US',
+ 'variant.prices.12.channel.typeId': 'channel',
+ 'variant.prices.12.channel.id':
+ '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ 'variant.prices.13.id': '33958888-3989-49db-b64e-124fd35aacc4',
+ 'variant.prices.13.value.type': 'centPrecision',
+ 'variant.prices.13.value.currencyCode': 'USD',
+ 'variant.prices.13.value.centAmount': 20165,
+ 'variant.prices.13.value.fractionDigits': 2,
+ 'variant.prices.13.channel.typeId': 'channel',
+ 'variant.prices.13.channel.id':
+ '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ 'variant.prices.14.id': '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ 'variant.prices.14.value.type': 'centPrecision',
+ 'variant.prices.14.value.currencyCode': 'USD',
+ 'variant.prices.14.value.centAmount': 16280,
+ 'variant.prices.14.value.fractionDigits': 2,
+ 'variant.prices.14.country': 'US',
+ 'variant.prices.14.channel.typeId': 'channel',
+ 'variant.prices.14.channel.id':
+ 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ 'variant.prices.15.id': 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ 'variant.prices.15.value.type': 'centPrecision',
+ 'variant.prices.15.value.currencyCode': 'USD',
+ 'variant.prices.15.value.centAmount': 13468,
+ 'variant.prices.15.value.fractionDigits': 2,
+ 'variant.prices.15.country': 'US',
+ 'variant.prices.15.channel.typeId': 'channel',
+ 'variant.prices.15.channel.id':
+ '3def0285-22e1-401c-916b-56efb977f18e',
+ 'variant.prices.16.id': 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ 'variant.prices.16.value.type': 'centPrecision',
+ 'variant.prices.16.value.currencyCode': 'USD',
+ 'variant.prices.16.value.centAmount': 13616,
+ 'variant.prices.16.value.fractionDigits': 2,
+ 'variant.prices.16.country': 'US',
+ 'variant.prices.16.channel.typeId': 'channel',
+ 'variant.prices.16.channel.id':
+ 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ 'variant.images.0.url':
+ 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ 'variant.images.0.dimensions.w': 0,
+ 'variant.images.0.dimensions.h': 0,
+ 'variant.attributes.0.name': 'articleNumberManufacturer',
+ 'variant.attributes.0.value': 'WPT492 T225 B044 0880 001',
+ 'variant.attributes.1.name': 'articleNumberMax',
+ 'variant.attributes.1.value': '81338',
+ 'variant.attributes.2.name': 'matrixId',
+ 'variant.attributes.2.value': 'M0E20000000EE54',
+ 'variant.attributes.3.name': 'baseId',
+ 'variant.attributes.3.value': '81338',
+ 'variant.attributes.4.name': 'designer',
+ 'variant.attributes.4.value.key': 'cycle',
+ 'variant.attributes.4.value.label': 'Cycle',
+ 'variant.attributes.5.name': 'madeInItaly',
+ 'variant.attributes.5.value.key': 'yes',
+ 'variant.attributes.5.value.label': 'yes',
+ 'variant.attributes.6.name': 'commonSize',
+ 'variant.attributes.6.value.key': 'xxs',
+ 'variant.attributes.6.value.label': 'XXS',
+ 'variant.attributes.7.name': 'size',
+ 'variant.attributes.7.value': '24',
+ 'variant.attributes.8.name': 'color',
+ 'variant.attributes.8.value.key': 'blue',
+ 'variant.attributes.8.value.label.de': 'blau',
+ 'variant.attributes.8.value.label.it': 'blu',
+ 'variant.attributes.8.value.label.en': 'blue',
+ 'variant.attributes.9.name': 'colorFreeDefinition',
+ 'variant.attributes.9.value.en': 'dark blue',
+ 'variant.attributes.9.value.de': 'dunkelblau',
+ 'variant.attributes.10.name': 'style',
+ 'variant.attributes.10.value.key': 'sporty',
+ 'variant.attributes.10.value.label': 'sporty',
+ 'variant.attributes.11.name': 'gender',
+ 'variant.attributes.11.value.key': 'women',
+ 'variant.attributes.11.value.label': 'Damen',
+ 'variant.attributes.12.name': 'season',
+ 'variant.attributes.12.value': 's15',
+ 'price.id': '1728926f-e928-4eba-8aab-8338406b0f38',
+ 'price.value.type': 'centPrecision',
+ 'price.value.currencyCode': 'USD',
+ 'price.value.centAmount': 18500,
+ 'price.value.fractionDigits': 2,
+ 'price.country': 'US',
+ quantity: 1,
+ 'taxRate.name': '10% incl.',
+ 'taxRate.amount': 0.1,
+ 'taxRate.includedInPrice': true,
+ 'taxRate.country': 'US',
+ 'taxRate.id': '_JMEWRo5',
+ addedAt: '2023-06-15T08:20:31.622Z',
+ lastModifiedAt: '2023-06-15T08:20:31.622Z',
+ 'state.0.quantity': 1,
+ 'state.0.state.typeId': 'state',
+ 'state.0.state.id': 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ 'totalPrice.type': 'centPrecision',
+ 'totalPrice.currencyCode': 'USD',
+ 'totalPrice.centAmount': 18500,
+ 'totalPrice.fractionDigits': 2,
+ 'taxedPrice.totalNet.type': 'centPrecision',
+ 'taxedPrice.totalNet.currencyCode': 'USD',
+ 'taxedPrice.totalNet.centAmount': 16818,
+ 'taxedPrice.totalNet.fractionDigits': 2,
+ 'taxedPrice.totalGross.type': 'centPrecision',
+ 'taxedPrice.totalGross.currencyCode': 'USD',
+ 'taxedPrice.totalGross.centAmount': 18500,
+ 'taxedPrice.totalGross.fractionDigits': 2,
+ 'taxedPrice.totalTax.type': 'centPrecision',
+ 'taxedPrice.totalTax.currencyCode': 'USD',
+ 'taxedPrice.totalTax.centAmount': 1682,
+ 'taxedPrice.totalTax.fractionDigits': 2,
+ 'custom.type.typeId': 'type',
+ 'custom.type.id': '69840f60-bd39-4958-b3fc-85bf6c492791',
+ },
+ ],
+ });
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/payloads/api-extension.controller.spec.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/api-extension.controller.spec.payloads.ts
new file mode 100644
index 00000000..7c5294d2
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/api-extension.controller.spec.payloads.ts
@@ -0,0 +1,418 @@
+export const cart = {
+ action: 'Update',
+ resource: {
+ typeId: 'cart',
+ id: '4760fd36-a68a-45d1-b356-fc2b56fa4f31',
+ obj: {
+ type: 'Cart',
+ id: '4760fd36-a68a-45d1-b356-fc2b56fa4f31',
+ version: 6,
+ versionModifiedAt: '2023-06-14T11:48:15.413Z',
+ lastMessageSequenceNumber: 1,
+ createdAt: '2023-06-14T11:48:15.413Z',
+ lastModifiedAt: '2023-06-14T11:48:15.413Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ lineItems: [
+ {
+ id: 'd52307c5-1cc4-400b-9459-121da2d261e5',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-14T11:48:15.511Z',
+ lastModifiedAt: '2023-06-14T11:48:15.511Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ },
+ ],
+ cartState: 'Active',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ country: 'US',
+ shippingMode: 'Single',
+ shippingAddress: { country: 'US' },
+ shipping: [],
+ customLineItems: [],
+ discountCodes: [],
+ directDiscounts: [],
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {},
+ },
+ inventoryMode: 'None',
+ taxMode: 'Platform',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ deleteDaysAfterLastModification: 90,
+ refusedGifts: [],
+ origin: 'Customer',
+ itemShippingAddresses: [],
+ totalLineItemQuantity: 1,
+ },
+ },
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/commercetools.service.spec.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/commercetools.service.spec.payloads.ts
new file mode 100644
index 00000000..50425333
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/commercetools.service.spec.payloads.ts
@@ -0,0 +1,417 @@
+export const cart = {
+ type: 'Cart',
+ id: '4760fd36-a68a-45d1-b356-fc2b56fa4f31',
+ version: 6,
+ versionModifiedAt: '2023-06-14T11:48:15.413Z',
+ lastMessageSequenceNumber: 1,
+ createdAt: '2023-06-14T11:48:15.413Z',
+ lastModifiedAt: '2023-06-14T11:48:15.413Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ lineItems: [
+ {
+ id: 'd52307c5-1cc4-400b-9459-121da2d261e5',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-14T11:48:15.511Z',
+ lastModifiedAt: '2023-06-14T11:48:15.511Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ },
+ ],
+ cartState: 'Active',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ country: 'US',
+ shippingMode: 'Single',
+ shippingAddress: { country: 'US' },
+ shipping: [],
+ customLineItems: [],
+ discountCodes: [],
+ directDiscounts: [],
+ custom: {
+ type: { typeId: 'type', id: '5aa76235-9d61-41c7-9d57-278b2bcc2f75' },
+ fields: {
+ discount_codes: [
+ '{"code":"PERC10","status":"APPLIED","value":2650}',
+ '{"code":"AMOUNT20","status":"APPLIED","value":2000}',
+ ],
+ session: 'existing-session-id',
+ },
+ },
+ inventoryMode: 'None',
+ taxMode: 'Platform',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ deleteDaysAfterLastModification: 90,
+ refusedGifts: [],
+ origin: 'Customer',
+ itemShippingAddresses: [],
+ totalLineItemQuantity: 1,
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/ctMappers.spec.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/ctMappers.spec.payloads.ts
new file mode 100644
index 00000000..f9ccd5af
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/ctMappers.spec.payloads.ts
@@ -0,0 +1,2954 @@
+export const getSimpleMetadataForOrderRawOrder = {
+ type: 'Order',
+ id: '0e33558f-6e2e-4756-8cb0-379cf68c3ec1',
+ version: 2,
+ versionModifiedAt: '2023-06-01T16:09:40.217Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-01T16:09:40.094Z',
+ lastModifiedAt: '2023-06-01T16:09:40.094Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ },
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29600,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20100,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29600,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: 'coupon',
+ },
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 9500,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 9500,
+ fractionDigits: 2,
+ },
+ },
+ country: 'DE',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard EU',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4e09f55b-f33b-47a1-a236-a9785c8da88d',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: 'b88061f5-a3ea-44d2-aa7c-00e4e3029b78',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 2,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T16:09:20.981Z',
+ lastModifiedAt: '2023-06-01T16:09:30.359Z',
+ state: [
+ {
+ quantity: 2,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29600,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24874,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29600,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 4726,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: 'ab9ef647-7d34-4068-8dee-3d99ae551db8',
+ productId: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ productKey: '82378',
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ variant: {
+ id: 5,
+ sku: 'M0E20000000ELDF',
+ key: 'M0E20000000ELDF',
+ prices: [
+ {
+ id: '9d02d6c5-5793-4a51-a88b-b1bd3c4970e9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'cb422d9d-7527-4e1d-a0b0-ac1ff30266f5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '331e4996-09f3-4bb9-8aad-5aa4f01d1a68',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '7be70a12-5b99-4a70-953a-f83042e56619',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '9494781f-e323-4557-bcbe-cf583636a1d0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1e9fd61b-7a7e-46ad-9bb9-9d34229864f3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ddd4409a-86f8-415d-9347-88212b24019c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '4a3da5ee-4f9b-43f0-8e28-0b8ac6df763d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'fa819a8e-1661-427f-a898-d2064a986dc0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f067ab39-6d98-4634-9d93-054dd3b5e076',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '149eb570-9181-4e71-b860-701caa981009',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '9355974a-1e96-4f81-8c78-181dc74235d5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'fe5c6dd3-1ec0-4061-a516-54f28effb72f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'f7948370-f8bf-4b13-b74f-f6a1781e2593',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '90f95175-1c19-4378-9c9e-52113b16862e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'beige', de: 'beige' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T16:09:29.431Z',
+ lastModifiedAt: '2023-06-01T16:09:39.975Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25126,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 4774,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {
+ applied_codes: [
+ '{"code":"unit1","type":"UNIT","effect":"ADD_MISSING_ITEMS","quantity":1,"totalDiscountQuantity":1}',
+ ],
+ },
+ },
+ },
+ ],
+ customLineItems: [
+ {
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ id: 'ee91bc8b-6b80-4d3c-a942-c05dbdcc39c1',
+ name: { en: 'Coupon codes discount', de: 'Gutscheincodes rabatt' },
+ money: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ slug: 'Voucher, ',
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ },
+ taxRate: {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ perMethodTaxRate: [],
+ priceMode: 'Standard',
+ },
+ ],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: '4aa041de-edd2-4b65-90ca-e55ba26a1336' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"code":"unit1","status":"APPLIED","type":"voucher","value":29900}',
+ ],
+ shippingProductSourceIds: ['253ec97b-f8ac-4a14-94e2-150f5ab0510a'],
+ session: 'ssn_IU00aC1TMDiVrJSR31FqIohgxElo4uxP',
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+};
+
+export const getSimpleMetadataForOrderAllMetadataSchemaProperties = [
+ 'location_id',
+ 'payment_mean',
+ 'booking_end_date',
+ 'booking_start_date',
+ 'billingAddress',
+];
+
+export const translateCtOrderToOrderOrderObject = {
+ type: 'Order',
+ id: '9537a7d8-d982-4107-b245-a19640656c38',
+ version: 2,
+ versionModifiedAt: '2023-06-01T16:24:58.356Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-01T16:24:58.182Z',
+ lastModifiedAt: '2023-06-01T16:24:58.182Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ },
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16234,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: 'coupon',
+ },
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 8766,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 8766,
+ fractionDigits: 2,
+ },
+ },
+ country: 'DE',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard EU',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4e09f55b-f33b-47a1-a236-a9785c8da88d',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: 'ecb98d28-4fb3-4378-94bc-89bd74c2d126',
+ productId: 'd5c95d66-13c8-4729-9248-de8b7544d333',
+ productKey: '82398',
+ name: {
+ en: 'Slip-On Shoes “Olivia” Michael Kors black',
+ de: 'Slip-On Schuhe „Olivia“ Michael Kors schwarz',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-slip-on-olivia-43S5OLFP1L-black',
+ de: 'michael-kors-slip-on-olivia-43S5OLFP1L-schwarz',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000ELIV',
+ key: 'M0E20000000ELIV',
+ prices: [
+ {
+ id: '60f68239-2e2f-4c75-bff5-6e5405b11b9a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '993661a3-6e60-46c8-b71d-a2e57fac94da',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '50ecf507-a22f-4ce1-a8cf-c7f88a7a32a3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'f3a18448-4816-4b3e-90a8-6deec8479f9d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '6a7f9ffe-7da3-42ab-a2f4-222397430db1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'a5322692-49f3-4601-930f-9b5b5fcc28ea',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4cb6e207-65da-4db3-a84b-5ca805e18b18',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '8e2df96a-90e3-446c-a673-d881f27f4f9b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'deb05b45-9e7f-4740-83db-8a9e96235724',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '28958de9-a79e-42c6-9a0c-5cd7ac0d24f6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '1c307d7a-60e7-4b48-8f21-4e3e5631ef63',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '05c025de-c950-4916-9d1b-3dd903c2e362',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f22d547-b831-4124-9556-7844b1af4518',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '8a3ebd9a-834d-43ef-9f27-78f2142cce98',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b9a901b0-f5d2-424b-b854-b0eafa985ee8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'be05566e-689a-416b-886f-7a8b31559d00',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082398_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'black', de: 'schwarz' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 2,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T16:24:41.000Z',
+ lastModifiedAt: '2023-06-01T16:24:47.282Z',
+ state: [
+ {
+ quantity: 2,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 21008,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 3992,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: 'c57ecc0f-e007-4ee0-bfbe-5f94fb03f906',
+ productId: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ productKey: '82378',
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ variant: {
+ id: 5,
+ sku: 'M0E20000000ELDF',
+ key: 'M0E20000000ELDF',
+ prices: [
+ {
+ id: '9d02d6c5-5793-4a51-a88b-b1bd3c4970e9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'cb422d9d-7527-4e1d-a0b0-ac1ff30266f5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '331e4996-09f3-4bb9-8aad-5aa4f01d1a68',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '7be70a12-5b99-4a70-953a-f83042e56619',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '9494781f-e323-4557-bcbe-cf583636a1d0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1e9fd61b-7a7e-46ad-9bb9-9d34229864f3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ddd4409a-86f8-415d-9347-88212b24019c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '4a3da5ee-4f9b-43f0-8e28-0b8ac6df763d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'fa819a8e-1661-427f-a898-d2064a986dc0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f067ab39-6d98-4634-9d93-054dd3b5e076',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '149eb570-9181-4e71-b860-701caa981009',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '9355974a-1e96-4f81-8c78-181dc74235d5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'fe5c6dd3-1ec0-4061-a516-54f28effb72f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'f7948370-f8bf-4b13-b74f-f6a1781e2593',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '90f95175-1c19-4378-9c9e-52113b16862e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'beige', de: 'beige' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T16:24:46.154Z',
+ lastModifiedAt: '2023-06-01T16:24:58.058Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25126,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 4774,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {
+ applied_codes: [
+ '{"code":"unit1","type":"UNIT","effect":"ADD_MISSING_ITEMS","quantity":1,"totalDiscountQuantity":1}',
+ ],
+ },
+ },
+ },
+ ],
+ customLineItems: [
+ {
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ id: 'ab0910cb-43e9-4587-92d3-f963df002cb7',
+ name: { en: 'Coupon codes discount', de: 'Gutscheincodes rabatt' },
+ money: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ slug: 'Voucher, ',
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ },
+ taxRate: {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ perMethodTaxRate: [],
+ priceMode: 'Standard',
+ },
+ ],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: 'fae18a02-ab9c-4468-9e90-d8fb13889444' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"code":"unit1","status":"APPLIED","type":"voucher","value":29900}',
+ ],
+ shippingProductSourceIds: ['253ec97b-f8ac-4a14-94e2-150f5ab0510a'],
+ session: 'ssn_VbEtLkyW8ZSOaVlN39qUk0StMO5ZZYwJ',
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+};
+
+export const translateCtOrderToOrderResponse = {
+ id: '9537a7d8-d982-4107-b245-a19640656c38',
+ customer: {
+ source_id: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+ customerId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ status: 'PAID',
+ coupons: [
+ { code: 'unit1', status: 'APPLIED', type: 'voucher', value: 29900 },
+ ],
+ items: [
+ {
+ source_id: 'M0E20000000ELIV',
+ quantity: 2,
+ price: 12500,
+ amount: 25000,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'black', de: 'schwarz' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ },
+ {
+ source_id: 'M0E20000000ELDF',
+ quantity: 1,
+ price: 29900,
+ amount: 29900,
+ name: 'Casual jacket Michael Kors beige',
+ sku: 'Casual jacket Michael Kors beige',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'beige', de: 'beige' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ },
+ ],
+ sessionKey: 'ssn_VbEtLkyW8ZSOaVlN39qUk0StMO5ZZYwJ',
+ rawOrder: {
+ type: 'Order',
+ id: '9537a7d8-d982-4107-b245-a19640656c38',
+ version: 2,
+ versionModifiedAt: '2023-06-01T16:24:58.356Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-01T16:24:58.182Z',
+ lastModifiedAt: '2023-06-01T16:24:58.182Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ },
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16234,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: 'coupon',
+ },
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 8766,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 8766,
+ fractionDigits: 2,
+ },
+ },
+ country: 'DE',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard EU',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4e09f55b-f33b-47a1-a236-a9785c8da88d',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: 'ecb98d28-4fb3-4378-94bc-89bd74c2d126',
+ productId: 'd5c95d66-13c8-4729-9248-de8b7544d333',
+ productKey: '82398',
+ name: {
+ en: 'Slip-On Shoes “Olivia” Michael Kors black',
+ de: 'Slip-On Schuhe „Olivia“ Michael Kors schwarz',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-slip-on-olivia-43S5OLFP1L-black',
+ de: 'michael-kors-slip-on-olivia-43S5OLFP1L-schwarz',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000ELIV',
+ key: 'M0E20000000ELIV',
+ prices: [
+ {
+ id: '60f68239-2e2f-4c75-bff5-6e5405b11b9a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '993661a3-6e60-46c8-b71d-a2e57fac94da',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '50ecf507-a22f-4ce1-a8cf-c7f88a7a32a3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'f3a18448-4816-4b3e-90a8-6deec8479f9d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '6a7f9ffe-7da3-42ab-a2f4-222397430db1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'a5322692-49f3-4601-930f-9b5b5fcc28ea',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4cb6e207-65da-4db3-a84b-5ca805e18b18',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '8e2df96a-90e3-446c-a673-d881f27f4f9b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'deb05b45-9e7f-4740-83db-8a9e96235724',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '28958de9-a79e-42c6-9a0c-5cd7ac0d24f6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '1c307d7a-60e7-4b48-8f21-4e3e5631ef63',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '05c025de-c950-4916-9d1b-3dd903c2e362',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f22d547-b831-4124-9556-7844b1af4518',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '8a3ebd9a-834d-43ef-9f27-78f2142cce98',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b9a901b0-f5d2-424b-b854-b0eafa985ee8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'be05566e-689a-416b-886f-7a8b31559d00',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082398_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'black', de: 'schwarz' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 2,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T16:24:41.000Z',
+ lastModifiedAt: '2023-06-01T16:24:47.282Z',
+ state: [
+ {
+ quantity: 2,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 21008,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 3992,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: 'c57ecc0f-e007-4ee0-bfbe-5f94fb03f906',
+ productId: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ productKey: '82378',
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ variant: {
+ id: 5,
+ sku: 'M0E20000000ELDF',
+ key: 'M0E20000000ELDF',
+ prices: [
+ {
+ id: '9d02d6c5-5793-4a51-a88b-b1bd3c4970e9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'cb422d9d-7527-4e1d-a0b0-ac1ff30266f5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '331e4996-09f3-4bb9-8aad-5aa4f01d1a68',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '7be70a12-5b99-4a70-953a-f83042e56619',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '9494781f-e323-4557-bcbe-cf583636a1d0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1e9fd61b-7a7e-46ad-9bb9-9d34229864f3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ddd4409a-86f8-415d-9347-88212b24019c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '4a3da5ee-4f9b-43f0-8e28-0b8ac6df763d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'fa819a8e-1661-427f-a898-d2064a986dc0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f067ab39-6d98-4634-9d93-054dd3b5e076',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '149eb570-9181-4e71-b860-701caa981009',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '9355974a-1e96-4f81-8c78-181dc74235d5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'fe5c6dd3-1ec0-4061-a516-54f28effb72f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'f7948370-f8bf-4b13-b74f-f6a1781e2593',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '90f95175-1c19-4378-9c9e-52113b16862e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T16:24:46.154Z',
+ lastModifiedAt: '2023-06-01T16:24:58.058Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25126,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 4774,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {
+ applied_codes: [
+ '{"code":"unit1","type":"UNIT","effect":"ADD_MISSING_ITEMS","quantity":1,"totalDiscountQuantity":1}',
+ ],
+ },
+ },
+ },
+ ],
+ customLineItems: [
+ {
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ id: 'ab0910cb-43e9-4587-92d3-f963df002cb7',
+ name: { en: 'Coupon codes discount', de: 'Gutscheincodes rabatt' },
+ money: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ slug: 'Voucher, ',
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ },
+ taxRate: {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ perMethodTaxRate: [],
+ priceMode: 'Standard',
+ },
+ ],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: 'fae18a02-ab9c-4468-9e90-d8fb13889444' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"code":"unit1","status":"APPLIED","type":"voucher","value":29900}',
+ ],
+ shippingProductSourceIds: ['253ec97b-f8ac-4a14-94e2-150f5ab0510a'],
+ session: 'ssn_VbEtLkyW8ZSOaVlN39qUk0StMO5ZZYwJ',
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+ },
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/ctUtils.spec.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/ctUtils.spec.payloads.ts
new file mode 100644
index 00000000..aef5622c
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/ctUtils.spec.payloads.ts
@@ -0,0 +1,4297 @@
+export const getCommercetoolstCurrentPriceAmountCtProduct = {
+ id: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ version: 1,
+ versionModifiedAt: '2023-05-31T16:03:43.827Z',
+ lastMessageSequenceNumber: 1,
+ createdAt: '2023-05-31T16:03:43.827Z',
+ lastModifiedAt: '2023-05-31T16:03:43.827Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: { clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i', isPlatformClient: false },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ },
+ masterData: {
+ current: {
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ categories: [
+ { typeId: 'category', id: '923758a0-67a7-403a-a81c-4ee8b6d84ef1' },
+ ],
+ categoryOrderHints: {},
+ slug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ masterVariant: {
+ id: 1,
+ sku: 'M0E20000000ELDB',
+ key: 'M0E20000000ELDB',
+ prices: [
+ {
+ id: 'de3180f2-c6dd-4319-b31d-217a7a8a268c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '17956dc8-88c4-40ad-9dbe-a1e2b21d6cc6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '4bcffa01-5b4e-4331-af9c-6d8d19931ea9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '22584f6f-6459-4675-82e5-968732c1c94d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'aa5104bc-9099-414a-98a6-75d1e2a0858c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '2b1cc051-459b-4f60-8fa2-e4b8e5272c9f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'cc979341-0414-4301-86eb-4359fbfae507',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: 'ef73c32d-f2ed-46be-aba7-e21cb6588404',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '380f731a-45ab-4501-9a0d-89b8eae59ae1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 39991,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'b7d679dc-0e4a-4ff6-ba0b-c0298d86399d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '7b00db84-6a5e-46c4-a80a-9b85fb33c2de',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'b358e5d7-f0b0-4046-8e91-d2a8d067608a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '1c804f02-682a-4adc-b5f7-160856371ae7',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '933bcc1d-fc8d-4486-bd6f-32e567cfa962',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 39991,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'aa7b4957-59af-4785-bddd-e064cf50e194',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'e28f1e78-a8e7-4a44-949c-003663dfc2e2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '749f0054-cb5e-474a-9ca8-d37db2e547af',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDB' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: 'XXS' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'beige', de: 'beige' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '4bcffa01-5b4e-4331-af9c-6d8d19931ea9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ variants: [
+ {
+ id: 2,
+ sku: 'M0E20000000ELDC',
+ key: 'M0E20000000ELDC',
+ prices: [
+ {
+ id: '14dac4aa-128a-4c19-b445-65afa3eed294',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '018cc16a-96b1-49ff-b6be-a58727c33994',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '15beca8a-e45d-440f-a71f-2baeedafe283',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '64322b60-9ba4-4c83-ac4a-249cc3b40795',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '542e27bf-f4d7-4ac3-bf7e-71ef9761ca4b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: 'd149ee6c-ccd3-42f2-8a19-4e5e26250d62',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '3ddff5d2-5dd8-4464-8190-1289eecf3257',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '077ca2f1-aa79-4491-b7e8-d10908b99141',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29003,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '91573ae8-759c-466c-8d6d-e1c04828dce1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34385,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '3b183aee-d07a-43e9-99f3-feb91b3ca546',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '05f64231-4738-4b8f-aa9c-6bcae34b5b41',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31993,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '6155ca98-2021-416e-b102-beaaa8bf6e0e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '08910965-0f0d-4e6c-bee7-f7b23f64a57f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29003,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '1cd751fa-ac88-4f3b-bbf2-2775e791e903',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34385,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'ad1d4d05-93ff-4c37-b824-10363a01b464',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'a12cf98a-761f-479c-8995-47a3a600c46e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31993,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '51a392a7-2851-4eae-8371-1c7e4c50cae3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDC' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xs', label: 'XS' } },
+ { name: 'size', value: 'XS' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '15beca8a-e45d-440f-a71f-2baeedafe283',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 3,
+ sku: 'M0E20000000ELDD',
+ key: 'M0E20000000ELDD',
+ prices: [
+ {
+ id: '0c6c2634-e29e-4586-87da-a0930e1b6d1a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3a1199c3-083c-4826-aca5-a4b600b748a2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'ac7c3551-dc8c-4216-889b-157f5f0ad835',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '3098a411-62a9-4ded-8078-a0f18e0445c7',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '4ded0396-b81f-41c1-a1a1-d930ff3bac58',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '45edbb2c-d6d1-40a9-a883-5ed536dfd45f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'faaa3dae-76fd-435c-8c4a-23030282924e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4591d7b2-7124-4a35-bfb0-aa5a48f70091',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30797,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'b65bdd6f-f361-4f29-b532-9b1a0baa7940',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 35132,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '2c908e32-6911-42fc-bceb-7bb8579a43c4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'd3633a9d-1d3f-4e6c-8fa9-71d639089e60',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f6354293-c91c-466f-b0ba-2c2550acd643',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'fdc6ab33-1685-4e51-a071-349c8a4843bd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30797,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '6c4e47b3-af88-42be-9552-11dbdb343c19',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 35132,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'f3925419-75a0-43f8-93b3-822ba634e9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '93b4a37d-84ae-4d76-a7c9-901acda1bf54',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '892e0a67-547c-4041-91e2-eac6618fd7ee',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDD' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 's', label: 'S' } },
+ { name: 'size', value: 'S' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: 'ac7c3551-dc8c-4216-889b-157f5f0ad835',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 4,
+ sku: 'M0E20000000ELDE',
+ key: 'M0E20000000ELDE',
+ prices: [
+ {
+ id: '7ccc113f-8063-47d7-9f04-5f400c30faeb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'd5be30c3-72e1-49c6-8e5d-e26fd17b555c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'ee10cb63-32c6-41e9-a7c7-4c50281717d1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '597b92f0-3686-453d-b48d-2502b980a7b4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'bef76055-ccdd-4a46-ae7f-e4c78845590f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '4cfbc459-7840-4000-b443-2671af0620d8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '7e12814e-1b8b-4ffd-bc67-528fa2558bb1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: 'bbd1ba1b-9f9f-42f4-956d-001d10404a17',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31395,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'f392f19e-f9fb-4a3b-8ebb-685e3915e5aa',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '457b3063-701f-40a3-b803-e5802352b4c3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32292,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '79334331-47d2-4a70-b098-ecf15244d90f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '913843a9-f808-47b2-96c8-52d60327a508',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '07989e77-ad1f-46a3-87b4-2c97adeff3e5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31395,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '7ce32e56-b6f2-4e27-8a8a-4f2b306c7e4e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'b95d2dc8-46a2-45f4-b40f-e0e74b0472a1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32292,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'aff43c99-1119-4554-bf24-ea20c44cbc9c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '9ca6f8e3-4299-4fa1-a04f-07c5c50f84de',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDE' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'm', label: 'M' } },
+ { name: 'size', value: 'M' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ price: {
+ id: 'ee10cb63-32c6-41e9-a7c7-4c50281717d1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 5,
+ sku: 'M0E20000000ELDF',
+ key: 'M0E20000000ELDF',
+ prices: [
+ {
+ id: '9d02d6c5-5793-4a51-a88b-b1bd3c4970e9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'cb422d9d-7527-4e1d-a0b0-ac1ff30266f5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '331e4996-09f3-4bb9-8aad-5aa4f01d1a68',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '7be70a12-5b99-4a70-953a-f83042e56619',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '9494781f-e323-4557-bcbe-cf583636a1d0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1e9fd61b-7a7e-46ad-9bb9-9d34229864f3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ddd4409a-86f8-415d-9347-88212b24019c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '4a3da5ee-4f9b-43f0-8e28-0b8ac6df763d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'fa819a8e-1661-427f-a898-d2064a986dc0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f067ab39-6d98-4634-9d93-054dd3b5e076',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '149eb570-9181-4e71-b860-701caa981009',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '9355974a-1e96-4f81-8c78-181dc74235d5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'fe5c6dd3-1ec0-4061-a516-54f28effb72f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'f7948370-f8bf-4b13-b74f-f6a1781e2593',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '90f95175-1c19-4378-9c9e-52113b16862e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ price: {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 6,
+ sku: 'M0E20000000ELDG',
+ key: 'M0E20000000ELDG',
+ prices: [
+ {
+ id: '4b87f866-340a-472b-86bc-8b1be27ca1d4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'ff1e264d-80de-42f1-8661-0879985aab2c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'aa737706-e010-4cf6-9bd3-2727c5dcd83b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '58923b99-8fe3-4194-9b89-6fa9f38d5ebb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '00381476-db02-44c1-9d86-1e506582800a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '84be4d18-43ba-4844-b865-742cc2b3c6c7',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'bd008a80-1f86-4bb7-ac24-48dfc1ad2c2d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '6a88fb4b-3fcd-4536-9649-1b3a74f9a2ee',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30498,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '51fbc9af-d6cb-449b-9bfe-74d2c65c1794',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 36628,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '07420451-7e1e-4bc5-8c8e-a77a1c55b56f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '9b761b0a-ab0e-46cf-b2d4-3fac1712bb30',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '5128263e-2248-4189-b896-b3731fb5646e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29302,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'e3525810-c76a-4083-b98b-a8640a1d93eb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30498,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '0e894529-d5db-4759-917c-7e77af8195c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 36628,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'a97ea2a2-9a50-48a5-ae8c-e66bd898efac',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b00a6609-8e1e-4a05-983d-e5858a1a6db2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'beebb89c-231d-4a10-a45d-0b657d31665a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29302,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDG' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xl', label: 'XL' } },
+ { name: 'size', value: 'XL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: 'aa737706-e010-4cf6-9bd3-2727c5dcd83b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 7,
+ sku: 'M0E20000000ELDH',
+ key: 'M0E20000000ELDH',
+ prices: [
+ {
+ id: 'b58e9e83-893e-4722-8f6c-652573f9df58',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '33badb74-0319-4dba-a423-7916da2c1e1b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '105bedcf-8192-4a87-acc2-aa2dca6b8c5e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'e434576f-c90c-45cb-b7fb-9a141f18c523',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '15643d78-c011-41f6-9079-c9aa88d60559',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: 'cbfe064d-48a1-4881-ab84-f4c598279f66',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '96f7e0e5-aebd-453c-9b79-5972999543b8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: 'e499a82e-0653-4a2a-b76e-06312f713d44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'a5796059-2ff7-4764-93f2-6089f88714fe',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37001,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'e4ca0b69-7a82-400a-92a2-8ce05cf39e5f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'acdbe5d0-2796-4b8a-9bc0-b32fb86640a6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'a4a578bc-a686-409b-877f-cdef6d653beb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31096,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'b36fb53f-c7d1-423b-883a-31b9683ba4cd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f8ec258-bf5b-43d3-aca3-764fe707f540',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37001,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '363c8ba5-993b-4b16-aaa9-cb69c75fe370',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '02eec2d1-1e96-4a61-b8bd-d0571fa4dbfa',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'd06688bc-3ebd-4e42-9760-797130f4c0f4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31096,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDH' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxl', label: 'XXL' } },
+ { name: 'size', value: 'XXL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '105bedcf-8192-4a87-acc2-aa2dca6b8c5e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 8,
+ sku: 'M0E20000000ELDI',
+ key: 'M0E20000000ELDI',
+ prices: [
+ {
+ id: '8b23d5c9-ba2c-496f-922e-41cf588cb41e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '7fb8f742-6cce-4f0b-a0e5-3682e37ffd43',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '459d2acc-a2ad-4c78-af36-e9fe3e480119',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '7192109e-1d78-47f7-a54a-d3f96660ba57',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '7b772656-2f02-4c9c-9d07-3cede836085e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '130ed89e-c02a-4742-a802-5070278a20e0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'eb97d983-a04e-4896-b4d2-0d5bb654d4fd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1c99efd4-783c-4d3a-8ad3-e5a7513bb89b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'bef86f7e-bf1f-4689-b7b3-50c3db6759b5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 39618,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '9879cb7d-ab8e-441e-b03c-704f49cddc8b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'c99b0708-2ef7-4f93-a2e1-1d75833db848',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29601,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '11200145-4068-42a9-b7dd-d95805ceae6c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28405,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'fd42e5fd-f1fc-4447-a120-005ad8e5b786',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '0319cf26-7d6b-4abd-b082-863875de6de9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 39618,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '5ece5297-ebad-4077-a50c-fdc204c85fd6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '6afbdff5-616b-4416-951c-1755fe120656',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29601,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '89ef1122-3115-4816-8b93-57a0b3ea1c26',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28405,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDI' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxxl', label: 'XXXL' } },
+ { name: 'size', value: 'XXXL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '459d2acc-a2ad-4c78-af36-e9fe3e480119',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ ],
+ searchKeywords: {},
+ },
+ staged: {
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ categories: [
+ { typeId: 'category', id: '923758a0-67a7-403a-a81c-4ee8b6d84ef1' },
+ ],
+ categoryOrderHints: {},
+ slug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ masterVariant: {
+ id: 1,
+ sku: 'M0E20000000ELDB',
+ key: 'M0E20000000ELDB',
+ prices: [
+ {
+ id: 'de3180f2-c6dd-4319-b31d-217a7a8a268c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '17956dc8-88c4-40ad-9dbe-a1e2b21d6cc6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '4bcffa01-5b4e-4331-af9c-6d8d19931ea9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '22584f6f-6459-4675-82e5-968732c1c94d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'aa5104bc-9099-414a-98a6-75d1e2a0858c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '2b1cc051-459b-4f60-8fa2-e4b8e5272c9f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'cc979341-0414-4301-86eb-4359fbfae507',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: 'ef73c32d-f2ed-46be-aba7-e21cb6588404',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '380f731a-45ab-4501-9a0d-89b8eae59ae1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 39991,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'b7d679dc-0e4a-4ff6-ba0b-c0298d86399d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '7b00db84-6a5e-46c4-a80a-9b85fb33c2de',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'b358e5d7-f0b0-4046-8e91-d2a8d067608a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '1c804f02-682a-4adc-b5f7-160856371ae7',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '933bcc1d-fc8d-4486-bd6f-32e567cfa962',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 39991,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'aa7b4957-59af-4785-bddd-e064cf50e194',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'e28f1e78-a8e7-4a44-949c-003663dfc2e2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '749f0054-cb5e-474a-9ca8-d37db2e547af',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDB' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: 'XXS' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'beige', de: 'beige' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '4bcffa01-5b4e-4331-af9c-6d8d19931ea9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ variants: [
+ {
+ id: 2,
+ sku: 'M0E20000000ELDC',
+ key: 'M0E20000000ELDC',
+ prices: [
+ {
+ id: '14dac4aa-128a-4c19-b445-65afa3eed294',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '018cc16a-96b1-49ff-b6be-a58727c33994',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '15beca8a-e45d-440f-a71f-2baeedafe283',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '64322b60-9ba4-4c83-ac4a-249cc3b40795',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '542e27bf-f4d7-4ac3-bf7e-71ef9761ca4b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: 'd149ee6c-ccd3-42f2-8a19-4e5e26250d62',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '3ddff5d2-5dd8-4464-8190-1289eecf3257',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '077ca2f1-aa79-4491-b7e8-d10908b99141',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29003,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '91573ae8-759c-466c-8d6d-e1c04828dce1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34385,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '3b183aee-d07a-43e9-99f3-feb91b3ca546',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '05f64231-4738-4b8f-aa9c-6bcae34b5b41',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31993,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '6155ca98-2021-416e-b102-beaaa8bf6e0e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '08910965-0f0d-4e6c-bee7-f7b23f64a57f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29003,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '1cd751fa-ac88-4f3b-bbf2-2775e791e903',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34385,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'ad1d4d05-93ff-4c37-b824-10363a01b464',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'a12cf98a-761f-479c-8995-47a3a600c46e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31993,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '51a392a7-2851-4eae-8371-1c7e4c50cae3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDC' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xs', label: 'XS' } },
+ { name: 'size', value: 'XS' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '15beca8a-e45d-440f-a71f-2baeedafe283',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 3,
+ sku: 'M0E20000000ELDD',
+ key: 'M0E20000000ELDD',
+ prices: [
+ {
+ id: '0c6c2634-e29e-4586-87da-a0930e1b6d1a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3a1199c3-083c-4826-aca5-a4b600b748a2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'ac7c3551-dc8c-4216-889b-157f5f0ad835',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '3098a411-62a9-4ded-8078-a0f18e0445c7',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '4ded0396-b81f-41c1-a1a1-d930ff3bac58',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '45edbb2c-d6d1-40a9-a883-5ed536dfd45f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'faaa3dae-76fd-435c-8c4a-23030282924e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4591d7b2-7124-4a35-bfb0-aa5a48f70091',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30797,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'b65bdd6f-f361-4f29-b532-9b1a0baa7940',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 35132,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '2c908e32-6911-42fc-bceb-7bb8579a43c4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'd3633a9d-1d3f-4e6c-8fa9-71d639089e60',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f6354293-c91c-466f-b0ba-2c2550acd643',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'fdc6ab33-1685-4e51-a071-349c8a4843bd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30797,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '6c4e47b3-af88-42be-9552-11dbdb343c19',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 35132,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'f3925419-75a0-43f8-93b3-822ba634e9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '93b4a37d-84ae-4d76-a7c9-901acda1bf54',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '892e0a67-547c-4041-91e2-eac6618fd7ee',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDD' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 's', label: 'S' } },
+ { name: 'size', value: 'S' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: 'ac7c3551-dc8c-4216-889b-157f5f0ad835',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 4,
+ sku: 'M0E20000000ELDE',
+ key: 'M0E20000000ELDE',
+ prices: [
+ {
+ id: '7ccc113f-8063-47d7-9f04-5f400c30faeb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'd5be30c3-72e1-49c6-8e5d-e26fd17b555c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'ee10cb63-32c6-41e9-a7c7-4c50281717d1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '597b92f0-3686-453d-b48d-2502b980a7b4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'bef76055-ccdd-4a46-ae7f-e4c78845590f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '4cfbc459-7840-4000-b443-2671af0620d8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '7e12814e-1b8b-4ffd-bc67-528fa2558bb1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: 'bbd1ba1b-9f9f-42f4-956d-001d10404a17',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31395,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'f392f19e-f9fb-4a3b-8ebb-685e3915e5aa',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '457b3063-701f-40a3-b803-e5802352b4c3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32292,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '79334331-47d2-4a70-b098-ecf15244d90f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '913843a9-f808-47b2-96c8-52d60327a508',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '07989e77-ad1f-46a3-87b4-2c97adeff3e5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31395,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '7ce32e56-b6f2-4e27-8a8a-4f2b306c7e4e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'b95d2dc8-46a2-45f4-b40f-e0e74b0472a1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32292,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'aff43c99-1119-4554-bf24-ea20c44cbc9c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '9ca6f8e3-4299-4fa1-a04f-07c5c50f84de',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDE' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'm', label: 'M' } },
+ { name: 'size', value: 'M' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ price: {
+ id: 'ee10cb63-32c6-41e9-a7c7-4c50281717d1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 5,
+ sku: 'M0E20000000ELDF',
+ key: 'M0E20000000ELDF',
+ prices: [
+ {
+ id: '9d02d6c5-5793-4a51-a88b-b1bd3c4970e9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'cb422d9d-7527-4e1d-a0b0-ac1ff30266f5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '331e4996-09f3-4bb9-8aad-5aa4f01d1a68',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '7be70a12-5b99-4a70-953a-f83042e56619',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '9494781f-e323-4557-bcbe-cf583636a1d0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1e9fd61b-7a7e-46ad-9bb9-9d34229864f3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ddd4409a-86f8-415d-9347-88212b24019c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '4a3da5ee-4f9b-43f0-8e28-0b8ac6df763d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'fa819a8e-1661-427f-a898-d2064a986dc0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f067ab39-6d98-4634-9d93-054dd3b5e076',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '149eb570-9181-4e71-b860-701caa981009',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '9355974a-1e96-4f81-8c78-181dc74235d5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'fe5c6dd3-1ec0-4061-a516-54f28effb72f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'f7948370-f8bf-4b13-b74f-f6a1781e2593',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '90f95175-1c19-4378-9c9e-52113b16862e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ price: {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 6,
+ sku: 'M0E20000000ELDG',
+ key: 'M0E20000000ELDG',
+ prices: [
+ {
+ id: '4b87f866-340a-472b-86bc-8b1be27ca1d4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'ff1e264d-80de-42f1-8661-0879985aab2c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'aa737706-e010-4cf6-9bd3-2727c5dcd83b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '58923b99-8fe3-4194-9b89-6fa9f38d5ebb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '00381476-db02-44c1-9d86-1e506582800a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '84be4d18-43ba-4844-b865-742cc2b3c6c7',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'bd008a80-1f86-4bb7-ac24-48dfc1ad2c2d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '6a88fb4b-3fcd-4536-9649-1b3a74f9a2ee',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30498,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '51fbc9af-d6cb-449b-9bfe-74d2c65c1794',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 36628,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '07420451-7e1e-4bc5-8c8e-a77a1c55b56f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '9b761b0a-ab0e-46cf-b2d4-3fac1712bb30',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '5128263e-2248-4189-b896-b3731fb5646e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29302,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'e3525810-c76a-4083-b98b-a8640a1d93eb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30498,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '0e894529-d5db-4759-917c-7e77af8195c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 36628,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'a97ea2a2-9a50-48a5-ae8c-e66bd898efac',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28106,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b00a6609-8e1e-4a05-983d-e5858a1a6db2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'beebb89c-231d-4a10-a45d-0b657d31665a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29302,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDG' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xl', label: 'XL' } },
+ { name: 'size', value: 'XL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: 'aa737706-e010-4cf6-9bd3-2727c5dcd83b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 7,
+ sku: 'M0E20000000ELDH',
+ key: 'M0E20000000ELDH',
+ prices: [
+ {
+ id: 'b58e9e83-893e-4722-8f6c-652573f9df58',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '33badb74-0319-4dba-a423-7916da2c1e1b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '105bedcf-8192-4a87-acc2-aa2dca6b8c5e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'e434576f-c90c-45cb-b7fb-9a141f18c523',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '15643d78-c011-41f6-9079-c9aa88d60559',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: 'cbfe064d-48a1-4881-ab84-f4c598279f66',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '96f7e0e5-aebd-453c-9b79-5972999543b8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: 'e499a82e-0653-4a2a-b76e-06312f713d44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'a5796059-2ff7-4764-93f2-6089f88714fe',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37001,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'e4ca0b69-7a82-400a-92a2-8ce05cf39e5f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'acdbe5d0-2796-4b8a-9bc0-b32fb86640a6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'a4a578bc-a686-409b-877f-cdef6d653beb',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31096,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'b36fb53f-c7d1-423b-883a-31b9683ba4cd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32591,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f8ec258-bf5b-43d3-aca3-764fe707f540',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37001,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '363c8ba5-993b-4b16-aaa9-cb69c75fe370',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 30199,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '02eec2d1-1e96-4a61-b8bd-d0571fa4dbfa',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'd06688bc-3ebd-4e42-9760-797130f4c0f4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31096,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDH' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxl', label: 'XXL' } },
+ { name: 'size', value: 'XXL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '105bedcf-8192-4a87-acc2-aa2dca6b8c5e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ {
+ id: 8,
+ sku: 'M0E20000000ELDI',
+ key: 'M0E20000000ELDI',
+ prices: [
+ {
+ id: '8b23d5c9-ba2c-496f-922e-41cf588cb41e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '7fb8f742-6cce-4f0b-a0e5-3682e37ffd43',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '459d2acc-a2ad-4c78-af36-e9fe3e480119',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '7192109e-1d78-47f7-a54a-d3f96660ba57',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '7b772656-2f02-4c9c-9d07-3cede836085e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '130ed89e-c02a-4742-a802-5070278a20e0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'eb97d983-a04e-4896-b4d2-0d5bb654d4fd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1c99efd4-783c-4d3a-8ad3-e5a7513bb89b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'bef86f7e-bf1f-4689-b7b3-50c3db6759b5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 39618,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '9879cb7d-ab8e-441e-b03c-704f49cddc8b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'c99b0708-2ef7-4f93-a2e1-1d75833db848',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29601,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '11200145-4068-42a9-b7dd-d95805ceae6c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28405,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'fd42e5fd-f1fc-4447-a120-005ad8e5b786',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '0319cf26-7d6b-4abd-b082-863875de6de9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 39618,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '5ece5297-ebad-4077-a50c-fdc204c85fd6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '6afbdff5-616b-4416-951c-1755fe120656',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29601,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '89ef1122-3115-4816-8b93-57a0b3ea1c26',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28405,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDI' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxxl', label: 'XXXL' } },
+ { name: 'size', value: 'XXXL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ price: {
+ id: '459d2acc-a2ad-4c78-af36-e9fe3e480119',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ assets: [],
+ },
+ ],
+ searchKeywords: {},
+ },
+ published: true,
+ hasStagedChanges: false,
+ },
+ key: '82378',
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ lastVariantId: 8,
+};
+
+export const getCommercetoolstCurrentPriceAmountProductSkuSourceId =
+ 'M0E20000000ELDF';
+
+export const getCommercetoolstCurrentPriceAmountProductPriceSelector = {
+ country: 'US',
+ currencyCode: 'USD',
+ distributionChannels: [],
+};
+
+export const getCommercetoolstCurrentPriceAmountResult = 37375;
+
+export const deserializeCouponsSerializedDiscountOrCode =
+ '{"code":"unit1","status":"APPLIED","type":"voucher","value":37375}';
diff --git a/voucherify-service/test/__unit_tests__/payloads/fixedPrice.spec.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/fixedPrice.spec.payloads.ts
new file mode 100644
index 00000000..5bb072bc
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/fixedPrice.spec.payloads.ts
@@ -0,0 +1,1490 @@
+export const dataToRunCartActionsBuilder = {
+ availablePromotions: [],
+ applicableCoupons: [
+ {
+ status: 'APPLICABLE',
+ id: '10off',
+ object: 'voucher',
+ order: {
+ source_id: 'fd399771-99ee-4a69-9b87-560f76816a2f',
+ amount: 92875,
+ discount_amount: 1000,
+ total_discount_amount: 1000,
+ total_amount: 91875,
+ applied_discount_amount: 1000,
+ total_applied_discount_amount: 1000,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 18500,
+ price: 18500,
+ subtotal_amount: 18500,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: { sku: 'Jeans Cycle dark blue', metadata: {}, override: true },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 2,
+ amount: 37000,
+ price: 18500,
+ subtotal_amount: 37000,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: { sku: 'Jeans Cycle dark blue', metadata: {}, override: true },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000ELDI',
+ related_object: 'sku',
+ product_id: 'prod_0d1abfb839c51910d8',
+ quantity: 1,
+ amount: 37375,
+ price: 37375,
+ subtotal_amount: 37375,
+ product: {
+ id: 'prod_0d1abfb839c51910d8',
+ source_id: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ name: 'Casual jacket Michael Kors beige',
+ override: true,
+ },
+ sku: {
+ id: 'sku_0d1ac1959a4c544f3b',
+ source_id: 'M0E20000000ELDI',
+ sku: 'Casual jacket Michael Kors beige',
+ metadata: {},
+ price: 37375,
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ applicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ inapplicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ result: {
+ discount: {
+ type: 'AMOUNT',
+ effect: 'APPLY_TO_ORDER',
+ amount_off: 1000,
+ is_dynamic: false,
+ },
+ },
+ },
+ {
+ status: 'APPLICABLE',
+ id: '10OFFITEM',
+ object: 'voucher',
+ order: {
+ source_id: 'fd399771-99ee-4a69-9b87-560f76816a2f',
+ amount: 92875,
+ discount_amount: 1000,
+ total_discount_amount: 1000,
+ total_amount: 91875,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 18500,
+ price: 18500,
+ subtotal_amount: 18500,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: { sku: 'Jeans Cycle dark blue', metadata: {}, override: true },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 2,
+ amount: 37000,
+ price: 18500,
+ subtotal_amount: 37000,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: { sku: 'Jeans Cycle dark blue', metadata: {}, override: true },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000ELDI',
+ related_object: 'sku',
+ product_id: 'prod_0d1abfb839c51910d8',
+ quantity: 1,
+ amount: 37375,
+ price: 37375,
+ subtotal_amount: 37375,
+ product: {
+ id: 'prod_0d1abfb839c51910d8',
+ source_id: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ name: 'Casual jacket Michael Kors beige',
+ override: true,
+ },
+ sku: {
+ id: 'sku_0d1ac1959a4c544f3b',
+ source_id: 'M0E20000000ELDI',
+ sku: 'Casual jacket Michael Kors beige',
+ metadata: {},
+ price: 37375,
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ applicable_to: {
+ data: [
+ {
+ object: 'sku',
+ id: 'sku_0d1ac195990c544f39',
+ source_id: 'M0E20000000ELDG',
+ product_id: 'prod_0d1abfb839c51910d8',
+ product_source_id: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ strict: true,
+ effect: 'APPLY_TO_EVERY',
+ },
+ ],
+ total: 1,
+ data_ref: 'data',
+ object: 'list',
+ },
+ inapplicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ result: {
+ discount: {
+ type: 'PERCENT',
+ effect: 'APPLY_TO_ITEMS',
+ percent_off: 10,
+ is_dynamic: false,
+ },
+ },
+ },
+ {
+ status: 'APPLICABLE',
+ id: 'SET100FIXEDPRICE',
+ object: 'voucher',
+ order: {
+ source_id: 'fd399771-99ee-4a69-9b87-560f76816a2f',
+ amount: 92875,
+ discount_amount: 1000,
+ items_discount_amount: 27375,
+ total_discount_amount: 28375,
+ total_amount: 64500,
+ items_applied_discount_amount: 27375,
+ total_applied_discount_amount: 27375,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 18500,
+ price: 18500,
+ subtotal_amount: 18500,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: { sku: 'Jeans Cycle dark blue', metadata: {}, override: true },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EE54',
+ related_object: 'sku',
+ quantity: 2,
+ amount: 37000,
+ price: 18500,
+ subtotal_amount: 37000,
+ product: { name: 'Jeans Cycle dark blue', override: true },
+ sku: { sku: 'Jeans Cycle dark blue', metadata: {}, override: true },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000ELDI',
+ related_object: 'sku',
+ product_id: 'prod_0d1abfb839c51910d8',
+ quantity: 1,
+ amount: 37375,
+ discount_amount: 27375,
+ applied_discount_amount: 27375,
+ price: 37375,
+ subtotal_amount: 10000,
+ product: {
+ id: 'prod_0d1abfb839c51910d8',
+ source_id: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ name: 'Casual jacket Michael Kors beige',
+ override: true,
+ },
+ sku: {
+ id: 'sku_0d1ac1959a4c544f3b',
+ source_id: 'M0E20000000ELDI',
+ sku: 'Casual jacket Michael Kors beige',
+ metadata: {},
+ price: 37375,
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ applicable_to: {
+ data: [
+ {
+ object: 'sku',
+ id: 'sku_0d1ac1959a4c544f3b',
+ source_id: 'M0E20000000ELDI',
+ product_id: 'prod_0d1abfb839c51910d8',
+ product_source_id: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ strict: true,
+ price: 10000,
+ effect: 'APPLY_TO_EVERY',
+ order_item_indices: [2],
+ },
+ ],
+ total: 1,
+ data_ref: 'data',
+ object: 'list',
+ },
+ inapplicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ result: {
+ discount: {
+ type: 'FIXED',
+ effect: 'APPLY_TO_ITEMS',
+ is_dynamic: false,
+ },
+ },
+ },
+ ],
+ inapplicableCoupons: [],
+ newSessionKey: 'ssn_LaXruZ16YofEL1ZZIxXsWBCsxfpFGALb',
+ totalDiscountAmount: 28375,
+ productsToAdd: [],
+ allInapplicableCouponsArePromotionTier: true,
+ couponsLimit: 5,
+ cartDiscountApplyMode: 0,
+ commerceToolsCart: {
+ type: 'Cart',
+ id: 'fd399771-99ee-4a69-9b87-560f76816a2f',
+ version: 82,
+ versionModifiedAt: '2023-06-22T17:29:59.682Z',
+ lastMessageSequenceNumber: 1,
+ createdAt: '2023-06-22T16:55:32.015Z',
+ lastModifiedAt: '2023-06-22T17:29:59.682Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '75db9a3a-094f-4195-96f0-2834f115997f',
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '75db9a3a-094f-4195-96f0-2834f115997f',
+ },
+ anonymousId: '75db9a3a-094f-4195-96f0-2834f115997f',
+ lineItems: [
+ {
+ id: '093db141-0a2b-472d-b520-556b8c7ac307',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-22T16:55:32.153Z',
+ lastModifiedAt: '2023-06-22T16:55:32.153Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: '883ca605-dcb1-4f83-84e4-d75742bd38f8',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 2,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-22T16:55:34.290Z',
+ lastModifiedAt: '2023-06-22T16:56:42.168Z',
+ state: [
+ {
+ quantity: 2,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 33636,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37000,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 3364,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: '86a2607b-55cb-4ea6-8d00-3cc53c4a2c33',
+ productId: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ productKey: '82378',
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ variant: {
+ id: 8,
+ sku: 'M0E20000000ELDI',
+ key: 'M0E20000000ELDI',
+ prices: [
+ {
+ id: '8b23d5c9-ba2c-496f-922e-41cf588cb41e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '7fb8f742-6cce-4f0b-a0e5-3682e37ffd43',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '459d2acc-a2ad-4c78-af36-e9fe3e480119',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '7192109e-1d78-47f7-a54a-d3f96660ba57',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '7b772656-2f02-4c9c-9d07-3cede836085e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '130ed89e-c02a-4742-a802-5070278a20e0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'eb97d983-a04e-4896-b4d2-0d5bb654d4fd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1c99efd4-783c-4d3a-8ad3-e5a7513bb89b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'bef86f7e-bf1f-4689-b7b3-50c3db6759b5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 39618,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '9879cb7d-ab8e-441e-b03c-704f49cddc8b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'c99b0708-2ef7-4f93-a2e1-1d75833db848',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29601,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '11200145-4068-42a9-b7dd-d95805ceae6c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28405,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: 'fd42e5fd-f1fc-4447-a120-005ad8e5b786',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 32890,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '0319cf26-7d6b-4abd-b082-863875de6de9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 39618,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '5ece5297-ebad-4077-a50c-fdc204c85fd6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27508,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: '6afbdff5-616b-4416-951c-1755fe120656',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 29601,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '89ef1122-3115-4816-8b93-57a0b3ea1c26',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28405,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDI' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxxl', label: 'XXXL' } },
+ { name: 'size', value: 'XXXL' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '459d2acc-a2ad-4c78-af36-e9fe3e480119',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-22T17:23:04.195Z',
+ lastModifiedAt: '2023-06-22T17:29:59.669Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 33977,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 3398,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: { applied_codes: [] },
+ },
+ },
+ ],
+ cartState: 'Active',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 91875,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 83431,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 91875,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: 'coupon',
+ },
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 8444,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 8444,
+ fractionDigits: 2,
+ },
+ },
+ country: 'US',
+ shippingMode: 'Single',
+ shippingAddress: { country: 'US' },
+ shipping: [],
+ customLineItems: [
+ {
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: -1000,
+ fractionDigits: 2,
+ },
+ id: '188c5daf-1ce0-4eb0-9120-8eebdff7f796',
+ name: { en: 'Coupon codes discount', de: 'Gutscheincodes rabatt' },
+ money: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: -1000,
+ fractionDigits: 2,
+ },
+ slug: 'Voucher, ',
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ },
+ taxRate: {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'US',
+ id: 'Uw-uqD9r',
+ subRates: [],
+ },
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: -1000,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: -1000,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ perMethodTaxRate: [],
+ priceMode: 'Standard',
+ },
+ ],
+ discountCodes: [],
+ directDiscounts: [],
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"code":"10off","status":"APPLIED","type":"voucher","value":1000}',
+ '{"code":"10OFFITEM","status":"APPLIED","type":"voucher","value":1000}',
+ '{"code":"SET100FIXEDPRICE","status":"NEW"}',
+ ],
+ shippingProductSourceIds: [],
+ session: 'ssn_LaXruZ16YofEL1ZZIxXsWBCsxfpFGALb',
+ },
+ },
+ inventoryMode: 'None',
+ taxMode: 'Platform',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ deleteDaysAfterLastModification: 90,
+ refusedGifts: [],
+ origin: 'Customer',
+ itemShippingAddresses: [],
+ totalLineItemQuantity: 4,
+ },
+ taxCategory: {
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ version: 5,
+ versionModifiedAt: '2023-05-31T16:04:06.867Z',
+ createdAt: '2023-05-31T16:04:06.656Z',
+ lastModifiedAt: '2023-05-31T16:04:06.867Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ name: 'coupon',
+ rates: [
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'AT',
+ id: 'lRz7jEYP',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'US',
+ id: 'Uw-uqD9r',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'NL',
+ id: 'StiKGNhA',
+ subRates: [],
+ },
+ ],
+ },
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/integrationMappers.spec.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/integrationMappers.spec.payloads.ts
new file mode 100644
index 00000000..80252bda
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/integrationMappers.spec.payloads.ts
@@ -0,0 +1,1702 @@
+export const getOrderObjectOrder = {
+ type: 'Order',
+ id: '3d64a514-1fb3-4345-b817-f683628f17e5',
+ version: 2,
+ versionModifiedAt: '2023-06-01T15:06:06.118Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-01T15:05:43.240Z',
+ lastModifiedAt: '2023-06-01T15:06:06.118Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ },
+ anonymousId: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12800,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10756,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12800,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 2044,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 2044,
+ fractionDigits: 2,
+ },
+ },
+ country: 'DE',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 252,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 48,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 48,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard EU',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4e09f55b-f33b-47a1-a236-a9785c8da88d',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 252,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 48,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: '6507367a-3e93-473f-a8f1-f1ae6b31095b',
+ productId: 'd5c95d66-13c8-4729-9248-de8b7544d333',
+ productKey: '82398',
+ name: {
+ en: 'Slip-On Shoes “Olivia” Michael Kors black',
+ de: 'Slip-On Schuhe „Olivia“ Michael Kors schwarz',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-slip-on-olivia-43S5OLFP1L-black',
+ de: 'michael-kors-slip-on-olivia-43S5OLFP1L-schwarz',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000ELIV',
+ key: 'M0E20000000ELIV',
+ prices: [
+ {
+ id: '60f68239-2e2f-4c75-bff5-6e5405b11b9a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '993661a3-6e60-46c8-b71d-a2e57fac94da',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '50ecf507-a22f-4ce1-a8cf-c7f88a7a32a3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'f3a18448-4816-4b3e-90a8-6deec8479f9d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '6a7f9ffe-7da3-42ab-a2f4-222397430db1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'a5322692-49f3-4601-930f-9b5b5fcc28ea',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4cb6e207-65da-4db3-a84b-5ca805e18b18',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '8e2df96a-90e3-446c-a673-d881f27f4f9b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'deb05b45-9e7f-4740-83db-8a9e96235724',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '28958de9-a79e-42c6-9a0c-5cd7ac0d24f6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '1c307d7a-60e7-4b48-8f21-4e3e5631ef63',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '05c025de-c950-4916-9d1b-3dd903c2e362',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f22d547-b831-4124-9556-7844b1af4518',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '8a3ebd9a-834d-43ef-9f27-78f2142cce98',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b9a901b0-f5d2-424b-b854-b0eafa985ee8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'be05566e-689a-416b-886f-7a8b31559d00',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082398_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'black', de: 'schwarz' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T15:05:33.874Z',
+ lastModifiedAt: '2023-06-01T15:05:33.874Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10504,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 1996,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ ],
+ customLineItems: [],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: 'a221f9e2-091b-43d4-9ab9-2777e270e0a0' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"status":"AVAILABLE","value":1250,"banner":"10% off","code":"promo_sBe05RSTPSfUiojdpwueAkTJ","type":"promotion_tier"}',
+ '{"status":"AVAILABLE","value":0,"banner":"Get 5% for your first order","code":"promo_1c4Q5taDrKynBgA4aTJGyp0p","type":"promotion_tier"}',
+ ],
+ shippingProductSourceIds: [],
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+};
+
+export const getOrderObjectResponse = {
+ object: 'order',
+ source_id: '3d64a514-1fb3-4345-b817-f683628f17e5',
+ created_at: '2023-06-01T15:05:43.240Z',
+ updated_at: '2023-06-01T15:06:06.118Z',
+ status: 'PAID',
+ customer: {
+ object: 'customer',
+ source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+ items: [
+ {
+ source_id: 'M0E20000000ELIV',
+ related_object: 'sku',
+ quantity: 1,
+ price: 12500,
+ amount: 12500,
+ product: { name: 'Slip-On Shoes “Olivia” Michael Kors black' },
+ sku: { sku: 'Slip-On Shoes “Olivia” Michael Kors black' },
+ },
+ ],
+};
+
+export const buildRedeemStackableRequestForVoucherifyOrder = {
+ id: '2a3c3757-5314-4565-807a-a77509937834',
+ customer: {
+ source_id: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+ customerId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ status: 'PAID',
+ coupons: [
+ { code: 'unit1', status: 'APPLIED', type: 'voucher', value: 29900 },
+ ],
+ items: [
+ {
+ source_id: 'M0E20000000ELIV',
+ quantity: 2,
+ price: 12500,
+ amount: 25000,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'black', de: 'schwarz' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ },
+ {
+ source_id: 'M0E20000000ELDF',
+ quantity: 1,
+ price: 29900,
+ amount: 29900,
+ name: 'Casual jacket Michael Kors beige',
+ sku: 'Casual jacket Michael Kors beige',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'beige', de: 'beige' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ },
+ ],
+ sessionKey: 'ssn_M8XW3MQwcHa2vRInmEP0lTsFYoN5MIGl',
+ rawOrder: {
+ type: 'Order',
+ id: '2a3c3757-5314-4565-807a-a77509937834',
+ version: 2,
+ versionModifiedAt: '2023-06-01T15:46:37.409Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-01T15:46:37.231Z',
+ lastModifiedAt: '2023-06-01T15:46:37.231Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ },
+ anonymousId: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16234,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: 'coupon',
+ },
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 8766,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 8766,
+ fractionDigits: 2,
+ },
+ },
+ country: 'DE',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard EU',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4e09f55b-f33b-47a1-a236-a9785c8da88d',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: '1ea39080-2b19-45c8-8505-6320015674b0',
+ productId: 'd5c95d66-13c8-4729-9248-de8b7544d333',
+ productKey: '82398',
+ name: {
+ en: 'Slip-On Shoes “Olivia” Michael Kors black',
+ de: 'Slip-On Schuhe „Olivia“ Michael Kors schwarz',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-slip-on-olivia-43S5OLFP1L-black',
+ de: 'michael-kors-slip-on-olivia-43S5OLFP1L-schwarz',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000ELIV',
+ key: 'M0E20000000ELIV',
+ prices: [
+ {
+ id: '60f68239-2e2f-4c75-bff5-6e5405b11b9a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '993661a3-6e60-46c8-b71d-a2e57fac94da',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '50ecf507-a22f-4ce1-a8cf-c7f88a7a32a3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'f3a18448-4816-4b3e-90a8-6deec8479f9d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '6a7f9ffe-7da3-42ab-a2f4-222397430db1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'a5322692-49f3-4601-930f-9b5b5fcc28ea',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4cb6e207-65da-4db3-a84b-5ca805e18b18',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '8e2df96a-90e3-446c-a673-d881f27f4f9b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'deb05b45-9e7f-4740-83db-8a9e96235724',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '28958de9-a79e-42c6-9a0c-5cd7ac0d24f6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '1c307d7a-60e7-4b48-8f21-4e3e5631ef63',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '05c025de-c950-4916-9d1b-3dd903c2e362',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f22d547-b831-4124-9556-7844b1af4518',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '8a3ebd9a-834d-43ef-9f27-78f2142cce98',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b9a901b0-f5d2-424b-b854-b0eafa985ee8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'be05566e-689a-416b-886f-7a8b31559d00',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082398_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'black', de: 'schwarz' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 2,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T15:46:24.051Z',
+ lastModifiedAt: '2023-06-01T15:46:30.857Z',
+ state: [
+ {
+ quantity: 2,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 21008,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25000,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 3992,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: 'd3d54486-6efb-429f-a2c8-536b53589bef',
+ productId: '253ec97b-f8ac-4a14-94e2-150f5ab0510a',
+ productKey: '82378',
+ name: {
+ en: 'Casual jacket Michael Kors beige',
+ de: 'Freizeitjacke Michael Kors beige',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-casualjacket-CS52DHK2J1-beige',
+ de: 'michael-kors-freizeitjacke-CS52DHK2J1-beige',
+ },
+ variant: {
+ id: 5,
+ sku: 'M0E20000000ELDF',
+ key: 'M0E20000000ELDF',
+ prices: [
+ {
+ id: '9d02d6c5-5793-4a51-a88b-b1bd3c4970e9',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: 'cb422d9d-7527-4e1d-a0b0-ac1ff30266f5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'a859d05d-7e10-4436-8585-4dcb2f89184f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '331e4996-09f3-4bb9-8aad-5aa4f01d1a68',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 24508,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '7be70a12-5b99-4a70-953a-f83042e56619',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '9494781f-e323-4557-bcbe-cf583636a1d0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '1e9fd61b-7a7e-46ad-9bb9-9d34229864f3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ddd4409a-86f8-415d-9347-88212b24019c',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '4a3da5ee-4f9b-43f0-8e28-0b8ac6df763d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'fa819a8e-1661-427f-a898-d2064a986dc0',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'f067ab39-6d98-4634-9d93-054dd3b5e076',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '149eb570-9181-4e71-b860-701caa981009',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 26910,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '9355974a-1e96-4f81-8c78-181dc74235d5',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 34011,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: 'fe5c6dd3-1ec0-4061-a516-54f28effb72f',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27807,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'f7948370-f8bf-4b13-b74f-f6a1781e2593',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 31694,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: '90f95175-1c19-4378-9c9e-52113b16862e',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 28704,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082378_1_medium.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'CS52DHK2J1 275' },
+ { name: 'articleNumberMax', value: '82378' },
+ { name: 'matrixId', value: 'M0E20000000ELDF' },
+ { name: 'baseId', value: '82378' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'l', label: 'L' } },
+ { name: 'size', value: 'L' },
+ {
+ name: 'color',
+ value: {
+ key: 'beige',
+ label: { it: 'beige', de: 'beige', en: 'beige' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'beige', de: 'beige' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'men', label: 'Herren' } },
+ { name: 'season', value: 's15' },
+ { name: 'isOnStock', value: true },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'cebc8f32-160a-4281-9e9c-6225e0916193',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T15:46:29.601Z',
+ lastModifiedAt: '2023-06-01T15:46:37.103Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 25126,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 4774,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {
+ applied_codes: [
+ '{"code":"unit1","type":"UNIT","effect":"ADD_MISSING_ITEMS","quantity":1,"totalDiscountQuantity":1}',
+ ],
+ },
+ },
+ },
+ ],
+ customLineItems: [
+ {
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ id: 'c79a0c01-0be0-4d3d-aab3-89cfd27ebc6e',
+ name: { en: 'Coupon codes discount', de: 'Gutscheincodes rabatt' },
+ money: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ slug: 'Voucher, ',
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ },
+ taxRate: {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: -29900,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ perMethodTaxRate: [],
+ priceMode: 'Standard',
+ },
+ ],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: 'e3f860cd-c5ac-4167-9d4f-a8f612ae0cfd' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"code":"unit1","status":"APPLIED","type":"voucher","value":29900}',
+ ],
+ shippingProductSourceIds: ['253ec97b-f8ac-4a14-94e2-150f5ab0510a'],
+ session: 'ssn_M8XW3MQwcHa2vRInmEP0lTsFYoN5MIGl',
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+ },
+};
+
+export const buildRedeemStackableRequestForVoucherifyItems = [
+ {
+ source_id: 'M0E20000000ELIV',
+ related_object: 'sku',
+ quantity: 2,
+ price: 12500,
+ amount: 25000,
+ product: {
+ override: true,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ metadata: {},
+ },
+ },
+ {
+ source_id: 'M0E20000000ELDF',
+ related_object: 'sku',
+ quantity: 1,
+ price: 29900,
+ amount: 29900,
+ product: { override: true, name: 'Casual jacket Michael Kors beige' },
+ sku: {
+ override: true,
+ sku: 'Casual jacket Michael Kors beige',
+ metadata: {},
+ },
+ },
+];
+
+export const buildRedeemStackableRequestForVoucherifyResponse = {
+ session: { type: 'LOCK', key: 'ssn_M8XW3MQwcHa2vRInmEP0lTsFYoN5MIGl' },
+ redeemables: [{ object: 'voucher', id: 'unit1' }],
+ order: {
+ source_id: '2a3c3757-5314-4565-807a-a77509937834',
+ amount: 54900,
+ status: 'PAID',
+ items: [
+ {
+ source_id: 'M0E20000000ELIV',
+ related_object: 'sku',
+ quantity: 2,
+ price: 12500,
+ amount: 25000,
+ product: {
+ override: true,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ metadata: {},
+ },
+ },
+ {
+ source_id: 'M0E20000000ELDF',
+ related_object: 'sku',
+ quantity: 1,
+ price: 29900,
+ amount: 29900,
+ product: { override: true, name: 'Casual jacket Michael Kors beige' },
+ sku: {
+ override: true,
+ sku: 'Casual jacket Michael Kors beige',
+ metadata: {},
+ },
+ },
+ ],
+ metadata: {},
+ },
+ customer: {
+ source_id: 'ef6b0d17-d57c-438b-a50e-793809f5b843',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/mergeTwoObjectsIntoOne.spec.payload.ts b/voucherify-service/test/__unit_tests__/payloads/mergeTwoObjectsIntoOne.spec.payload.ts
new file mode 100644
index 00000000..b936ede6
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/mergeTwoObjectsIntoOne.spec.payload.ts
@@ -0,0 +1,19 @@
+export const firstObject = {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+};
+
+export const secondObject = {
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ version: '5',
+ versionModifiedAt: '2023-05-31T16:04:06.867Z',
+ createdAt: '2023-05-31T16:04:06.656Z',
+ lastModifiedAt: '2023-05-31T16:04:06.867Z',
+ name: 'coupon',
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/order-paid-actions-pailoads.ts b/voucherify-service/test/__unit_tests__/payloads/order-paid-actions-pailoads.ts
new file mode 100644
index 00000000..af869dc2
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/order-paid-actions-pailoads.ts
@@ -0,0 +1,851 @@
+export const orderMetadataSchemaProperties = [
+ 'taxedPrice',
+ 'shippingInfo',
+ 'location_id',
+ 'payment_mean',
+ 'booking_end_date',
+ 'booking_start_date',
+ 'discount_codes',
+ 'custom_filed_shippingInfo',
+ 'lineItems',
+];
+
+export const order = {
+ type: 'Order',
+ id: 'b99a510c-a3a3-438f-9cb0-63e668065949',
+ version: 2,
+ versionModifiedAt: '2023-06-15T08:22:08.099Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-15T08:20:38.034Z',
+ lastModifiedAt: '2023-06-15T08:22:08.099Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ paymentInfo: {
+ payments: [{ id: 'test' }],
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37000,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 33636,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 37000,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 3364,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 3364,
+ fractionDigits: 2,
+ },
+ },
+ country: 'US',
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Pułkownika Francesco Nullo 34/57',
+ postalCode: '31-543',
+ city: 'Kraków',
+ country: 'US',
+ phone: '+48796120506',
+ email: 'piotrzielinski96@yahoo.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: 'd52307c5-1cc4-400b-9459-121da2d261e5',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-14T11:48:15.511Z',
+ lastModifiedAt: '2023-06-14T11:48:15.511Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ {
+ id: '9d0b608c-f02d-43c2-8417-dcecb43ecc88',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-15T08:20:31.622Z',
+ lastModifiedAt: '2023-06-15T08:20:31.622Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ ],
+ customLineItems: [],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: '4760fd36-a68a-45d1-b356-fc2b56fa4f31' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [],
+ shippingProductSourceIds: [],
+ shippingInfo: {
+ shippingMethodName: 'Standard US',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4ec3254f-4ce4-4338-803d-1e42e6f552c6',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 0,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Pułkownika Francesco Nullo 34/57',
+ postalCode: '31-543',
+ city: 'Kraków',
+ country: 'US',
+ phone: '+48796120506',
+ email: 'piotrzielinski96@yahoo.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/tax-categories.payloads.ts b/voucherify-service/test/__unit_tests__/payloads/tax-categories.payloads.ts
new file mode 100644
index 00000000..c6cc9f6c
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/tax-categories.payloads.ts
@@ -0,0 +1,47 @@
+export const getCouponTaxCategoryAndUpdateItIfNeededResponse = {
+ id: '1f84a16d-00b2-42c3-9367-a7a31bf2ebce',
+ version: 5,
+ versionModifiedAt: '2023-05-31T16:04:06.867Z',
+ createdAt: '2023-05-31T16:04:06.656Z',
+ lastModifiedAt: '2023-05-31T16:04:06.867Z',
+ lastModifiedBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ },
+ createdBy: { clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i', isPlatformClient: false },
+ name: 'coupon',
+ rates: [
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'DE',
+ id: '3SF4_HMk',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'AT',
+ id: 'lRz7jEYP',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'US',
+ id: 'Uw-uqD9r',
+ subRates: [],
+ },
+ {
+ name: 'coupon',
+ amount: 0,
+ includedInPrice: true,
+ country: 'NL',
+ id: 'StiKGNhA',
+ subRates: [],
+ },
+ ],
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/translateCtOrderToOrder.ts b/voucherify-service/test/__unit_tests__/payloads/translateCtOrderToOrder.ts
new file mode 100644
index 00000000..efd8cea0
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/translateCtOrderToOrder.ts
@@ -0,0 +1,1127 @@
+export const ctOrder = {
+ type: 'Order',
+ id: '320ed90c-dc50-4476-a637-5d2d33a2f011',
+ version: 2,
+ versionModifiedAt: '2023-06-15T13:29:08.285Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-15T13:29:08.165Z',
+ lastModifiedAt: '2023-06-15T13:29:08.165Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18800,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 17091,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18800,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1709,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1709,
+ fractionDigits: 2,
+ },
+ },
+ country: 'US',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 273,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard US',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4ec3254f-4ce4-4338-803d-1e42e6f552c6',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 273,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Pułkownika Francesco Nullo 34/57',
+ postalCode: '31-543',
+ city: 'Kraków',
+ country: 'US',
+ phone: '+48796120506',
+ email: 'piotrzielinski96@yahoo.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: '14ee472b-ec90-4d34-a2da-37e4db1bb7ae',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-15T13:28:56.162Z',
+ lastModifiedAt: '2023-06-15T13:28:56.162Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ ],
+ customLineItems: [],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: '28b2c6a0-e5d3-4efd-9f44-8b76e26efc41' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [],
+ shippingProductSourceIds: [],
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Pułkownika Francesco Nullo 34/57',
+ postalCode: '31-543',
+ city: 'Kraków',
+ country: 'US',
+ phone: '+48796120506',
+ email: 'piotrzielinski96@yahoo.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+};
+
+export const order = {
+ id: '320ed90c-dc50-4476-a637-5d2d33a2f011',
+ customer: {
+ source_id: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski96@yahoo.com',
+ address: {
+ city: 'Kraków',
+ country: 'US',
+ postal_code: '31-543',
+ line_1: 'Pułkownika Francesco Nullo 34/57',
+ },
+ phone: '+48796120506',
+ },
+ customerId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ status: 'PAID',
+ coupons: [],
+ items: [
+ {
+ source_id: 'M0E20000000EE54',
+ quantity: 1,
+ price: 18500,
+ amount: 18500,
+ name: 'Jeans Cycle dark blue',
+ sku: 'Jeans Cycle dark blue',
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ },
+ ],
+ rawOrder: {
+ type: 'Order',
+ id: '320ed90c-dc50-4476-a637-5d2d33a2f011',
+ version: 2,
+ versionModifiedAt: '2023-06-15T13:29:08.285Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-15T13:29:08.165Z',
+ lastModifiedAt: '2023-06-15T13:29:08.165Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ },
+ anonymousId: '82810cfe-afa6-4806-94ca-1da6e5beae3d',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18800,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 17091,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18800,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1709,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1709,
+ fractionDigits: 2,
+ },
+ },
+ country: 'US',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 273,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.1,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27,
+ fractionDigits: 2,
+ },
+ name: '10% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard US',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4ec3254f-4ce4-4338-803d-1e42e6f552c6',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 273,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 27,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Pułkownika Francesco Nullo 34/57',
+ postalCode: '31-543',
+ city: 'Kraków',
+ country: 'US',
+ phone: '+48796120506',
+ email: 'piotrzielinski96@yahoo.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: '14ee472b-ec90-4d34-a2da-37e4db1bb7ae',
+ productId: '73ce4f06-80ad-48e6-8b36-e7102fdc8709',
+ productKey: '81338',
+ name: { en: 'Jeans Cycle dark blue', de: 'Jeans Cycle dunkelblau' },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'cycle-jeans-T225B0440880-darkblue',
+ de: 'cycle-jeans-T225B0440880-dunkelblau',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000EE54',
+ key: 'M0E20000000EE54',
+ prices: [
+ {
+ id: 'cc49dc1d-515b-4bf7-9a49-e0da4266d9dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '3d14867a-66d2-4766-a05d-b66bfd258121',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: '9e7124c7-fba6-4fe3-9b13-1262a74bf054',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12131,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '268bd270-188d-480e-91ce-62f5ce36cd44',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '79e2adaf-1f35-44cf-b6b6-959730676fe2',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: '4a76b969-9927-4499-95f3-70ba1986d792',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 14800,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '85475aaa-0a2a-4469-a766-1f214477c7c6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: 'ea15846d-304b-492c-bf9a-4f203d3ce218',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: '1f7c4b96-faa9-4042-b7b7-a06cc00659dd',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: 'e7c79b01-130c-4e3b-8b9e-0e014a18f885',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: 'bcdbfe78-1906-445d-882e-cf4431eb84df',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '6a68bc68-3fe4-42fe-aa84-eb9efe201a23',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16132,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '33958888-3989-49db-b64e-124fd35aacc4',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 20165,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '76ed4a2f-ea55-4d05-8393-1616dca4c679',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16280,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'dae9fff7-75f0-479e-83a7-d4465b10bcdc',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13468,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'b22ac8dc-c357-45d9-97d5-9d7f4aeff564',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13616,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/081338_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ {
+ name: 'articleNumberManufacturer',
+ value: 'WPT492 T225 B044 0880 001',
+ },
+ { name: 'articleNumberMax', value: '81338' },
+ { name: 'matrixId', value: 'M0E20000000EE54' },
+ { name: 'baseId', value: '81338' },
+ { name: 'designer', value: { key: 'cycle', label: 'Cycle' } },
+ { name: 'madeInItaly', value: { key: 'yes', label: 'yes' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: '24' },
+ {
+ name: 'color',
+ value: {
+ key: 'blue',
+ label: { de: 'blau', it: 'blu', en: 'blue' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'dark blue', de: 'dunkelblau' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: '1728926f-e928-4eba-8aab-8338406b0f38',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '10% incl.',
+ amount: 0.1,
+ includedInPrice: true,
+ country: 'US',
+ id: '_JMEWRo5',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-15T13:28:56.162Z',
+ lastModifiedAt: '2023-06-15T13:28:56.162Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16818,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 18500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 1682,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: {
+ typeId: 'type',
+ id: '69840f60-bd39-4958-b3fc-85bf6c492791',
+ },
+ fields: {},
+ },
+ },
+ ],
+ customLineItems: [],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: '28b2c6a0-e5d3-4efd-9f44-8b76e26efc41' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [],
+ shippingProductSourceIds: [],
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Pułkownika Francesco Nullo 34/57',
+ postalCode: '31-543',
+ city: 'Kraków',
+ country: 'US',
+ phone: '+48796120506',
+ email: 'piotrzielinski96@yahoo.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+ },
+};
diff --git a/voucherify-service/test/__unit_tests__/payloads/voucherify-connector.service.spec.paylaods.ts b/voucherify-service/test/__unit_tests__/payloads/voucherify-connector.service.spec.paylaods.ts
new file mode 100644
index 00000000..08ecb87c
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/payloads/voucherify-connector.service.spec.paylaods.ts
@@ -0,0 +1,1294 @@
+export const validateStackableVouchersRequest = {
+ redeemables: [{ object: 'voucher', id: 'TEST_VOUCHER_1' }],
+ session: { type: 'LOCK' },
+ order: {
+ source_id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ customer: { source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4' },
+ amount: 19000,
+ discount_amount: 0,
+ items: [
+ {
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ product: {
+ override: true,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ },
+ },
+ {
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ product: {
+ override: true,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ },
+ },
+ ],
+ },
+ customer: { source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4' },
+};
+
+export const validateStackableResponse = {
+ valid: true,
+ redeemables: [
+ {
+ status: 'APPLICABLE',
+ id: 'TEST_VOUCHER_1',
+ object: 'voucher',
+ order: {
+ source_id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ amount: 19000,
+ discount_amount: 190,
+ total_discount_amount: 190,
+ total_amount: 18810,
+ applied_discount_amount: 190,
+ total_applied_discount_amount: 190,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ applicable_to: {
+ data: [],
+ total: 0,
+ data_ref: 'data',
+ object: 'list',
+ },
+ inapplicable_to: {
+ data: [],
+ total: 0,
+ data_ref: 'data',
+ object: 'list',
+ },
+ result: {
+ discount: {
+ type: 'PERCENT',
+ effect: 'APPLY_TO_ORDER',
+ percent_off: 1,
+ is_dynamic: false,
+ },
+ },
+ },
+ ],
+ order: {
+ source_id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ amount: 19000,
+ discount_amount: 190,
+ total_discount_amount: 190,
+ total_amount: 18810,
+ applied_discount_amount: 190,
+ total_applied_discount_amount: 190,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ tracking_id: 'track_6X46Hjvb5Rj2MggH3LHIGeRSVuK9akl2p3I8NBfSHBdThHEgOtkYgw==',
+ session: {
+ key: 'ssn_DFGC91oKjXKz47lap6S6Wo0C4rpG37qc',
+ type: 'LOCK',
+ ttl: 7,
+ ttl_unit: 'DAYS',
+ },
+};
+
+export const getAvailablePromotionsCart = {
+ id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ anonymousId: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ sessionKey: 'ssn_DFGC91oKjXKz47lap6S6Wo0C4rpG37qc',
+ coupons: [
+ { code: 'TEST_VOUCHER_1', status: 'APPLIED', type: 'voucher', value: 190 },
+ ],
+ items: [
+ {
+ source_id: 'M0E20000000EL2R',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'MS55KGW1UK 001' },
+ { name: 'articleNumberMax', value: '82351' },
+ { name: 'matrixId', value: 'M0E20000000EL2R' },
+ { name: 'baseId', value: '82351' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: 'XXS' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'black', de: 'schwarz' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ },
+ {
+ source_id: 'M0E20000000EL2R',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: 'MS55KGW1UK 001' },
+ { name: 'articleNumberMax', value: '82351' },
+ { name: 'matrixId', value: 'M0E20000000EL2R' },
+ { name: 'baseId', value: '82351' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: 'xxs', label: 'XXS' } },
+ { name: 'size', value: 'XXS' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'black', de: 'schwarz' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ },
+ ],
+};
+
+export const getAvailablePromotionsValidateWith = {
+ customer: {
+ id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ },
+ order: {
+ source_id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ items: [
+ {
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ product: {
+ override: true,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ },
+ },
+ {
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ product: {
+ override: true,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ },
+ },
+ ],
+ amount: 19000,
+ },
+};
+
+export const getAvailablePromotionsResponseObject = {
+ valid: true,
+ tracking_id: 'track_6X46Hjvb5Rj2MggH3LHIGeRSVuK9akl2p3I8NBfSHBdThHEgOtkYgw==',
+ promotions: [
+ {
+ valid: true,
+ applicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ inapplicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ tracking_id:
+ 'track_6X46Hjvb5Rj2MggH3LHIGeRSVuK9akl2p3I8NBfSHBdThHEgOtkYgw==',
+ order: {
+ source_id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ amount: 19000,
+ discount_amount: 1900,
+ total_discount_amount: 1900,
+ total_amount: 17100,
+ applied_discount_amount: 1900,
+ total_applied_discount_amount: 1900,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ id: 'promo_sBe05RSTPSfUiojdpwueAkTJ',
+ name: '10%off',
+ banner: '10% off',
+ discount: {
+ type: 'PERCENT',
+ effect: 'APPLY_TO_ORDER',
+ percent_off: 10,
+ is_dynamic: false,
+ },
+ campaign: {
+ id: 'camp_jgmwojTpC7Qr0rURCoIP7FGy',
+ start_date: null,
+ expiration_date: null,
+ active: true,
+ object: 'campaign',
+ },
+ hierarchy: 1,
+ discount_amount: 1900,
+ applied_discount_amount: 1900,
+ metadata: {},
+ object: 'promotion_tier',
+ category_id: null,
+ categories: [],
+ },
+ {
+ valid: true,
+ applicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ inapplicable_to: { data: [], total: 0, data_ref: 'data', object: 'list' },
+ tracking_id:
+ 'track_6X46Hjvb5Rj2MggH3LHIGeRSVuK9akl2p3I8NBfSHBdThHEgOtkYgw==',
+ order: {
+ source_id: '9e9d98f0-0cf7-4487-95d8-56c1478d7a17',
+ amount: 19000,
+ discount_amount: 0,
+ total_discount_amount: 0,
+ total_amount: 19000,
+ applied_discount_amount: 0,
+ total_applied_discount_amount: 0,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: {
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ override: true,
+ },
+ sku: {
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ override: true,
+ },
+ },
+ ],
+ metadata: {},
+ customer_id: null,
+ referrer_id: null,
+ object: 'order',
+ },
+ id: 'promo_1c4Q5taDrKynBgA4aTJGyp0p',
+ name: 'One time for new customer',
+ banner: 'Get 5% for your first order',
+ discount: {
+ type: 'PERCENT',
+ effect: 'APPLY_TO_ORDER',
+ percent_off: 0,
+ is_dynamic: false,
+ },
+ campaign: {
+ id: 'camp_6aTNiY7o6d2o6C3GSx3yjU33',
+ start_date: null,
+ expiration_date: null,
+ active: true,
+ object: 'campaign',
+ },
+ hierarchy: 1,
+ discount_amount: 0,
+ applied_discount_amount: 0,
+ metadata: {},
+ object: 'promotion_tier',
+ category_id: null,
+ categories: [],
+ },
+ ],
+};
+
+export const redeemStackableVouchersRequest = {
+ session: { type: 'LOCK', key: 'ssn_DFGC91oKjXKz47lap6S6Wo0C4rpG37qc' },
+ redeemables: [{ object: 'voucher', id: 'TEST_VOUCHER_1' }],
+ order: {
+ source_id: 'ba843e06-f37d-4372-8dac-c68815fb01a9',
+ amount: 19000,
+ status: 'PAID',
+ items: [
+ {
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ product: {
+ override: true,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ },
+ },
+ {
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ price: 9500,
+ amount: 9500,
+ product: {
+ override: true,
+ name: 'Long sleeve T-Shirt Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Long sleeve T-Shirt Michael Kors black',
+ metadata: {},
+ },
+ },
+ ],
+ metadata: {},
+ },
+ customer: {
+ source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+};
+
+export const redeemStackableVouchersResponse = {
+ redemptions: [
+ {
+ id: 'r_0cff8ae8c782685c22',
+ customer_id: 'cust_4exKXpuLjfuAfjdaqOrZBluF',
+ tracking_id:
+ 'track_6X46Hjvb5Rj2MggH3LHIGeRSVuK9akl2p3I8NBfSHBdThHEgOtkYgw==',
+ date: '2023-06-01T13:53:24.766Z',
+ order: {
+ id: 'ord_FFqTHAnv7h7tSlyYo5pdltld',
+ source_id: 'ba843e06-f37d-4372-8dac-c68815fb01a9',
+ status: 'PAID',
+ customer_id: 'cust_4exKXpuLjfuAfjdaqOrZBluF',
+ referrer_id: null,
+ amount: 19000,
+ discount_amount: 190,
+ applied_discount_amount: 190,
+ total_discount_amount: 190,
+ total_applied_discount_amount: 190,
+ total_amount: 18810,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ },
+ ],
+ metadata: {},
+ object: 'order',
+ },
+ customer: {
+ id: 'cust_4exKXpuLjfuAfjdaqOrZBluF',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ object: 'customer',
+ },
+ result: 'SUCCESS',
+ voucher: {
+ id: 'v_vhcSApY3xZHEVxebI3Gi2BMdnqvekcEP',
+ code: 'TEST_VOUCHER_1',
+ discount: { type: 'PERCENT', percent_off: 1 },
+ type: 'DISCOUNT_VOUCHER',
+ campaign: null,
+ campaign_id: null,
+ is_referral_code: false,
+ created_at: '2023-05-04T16:45:31.982Z',
+ object: 'voucher',
+ },
+ object: 'redemption',
+ },
+ ],
+ order: {
+ id: 'ord_FFqTHAnv7h7tSlyYo5pdltld',
+ source_id: 'ba843e06-f37d-4372-8dac-c68815fb01a9',
+ created_at: '2023-06-01T13:53:24.723Z',
+ updated_at: null,
+ status: 'PAID',
+ amount: 19000,
+ discount_amount: 190,
+ total_discount_amount: 190,
+ total_amount: 18810,
+ applied_discount_amount: 190,
+ total_applied_discount_amount: 190,
+ items: [
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: { name: 'Long sleeve T-Shirt Michael Kors black' },
+ sku: { sku: 'Long sleeve T-Shirt Michael Kors black', metadata: {} },
+ },
+ {
+ object: 'order_item',
+ source_id: 'M0E20000000EL2R',
+ related_object: 'sku',
+ quantity: 1,
+ amount: 9500,
+ price: 9500,
+ subtotal_amount: 9500,
+ product: { name: 'Long sleeve T-Shirt Michael Kors black' },
+ sku: { sku: 'Long sleeve T-Shirt Michael Kors black', metadata: {} },
+ },
+ ],
+ metadata: {},
+ customer: { id: 'cust_4exKXpuLjfuAfjdaqOrZBluF', object: 'customer' },
+ customer_id: 'cust_4exKXpuLjfuAfjdaqOrZBluF',
+ referrer_id: null,
+ object: 'order',
+ redemptions: {
+ r_0cff8ae8c782685c22: {
+ date: '2023-06-01T13:53:24.766Z',
+ related_object_type: 'voucher',
+ related_object_id: 'v_vhcSApY3xZHEVxebI3Gi2BMdnqvekcEP',
+ },
+ },
+ },
+};
+
+export const createOrderOrderObject = {
+ id: 'c7d08c16-8a75-42dd-93eb-802861128a1d',
+ customer: {
+ source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+ customerId: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ status: 'PAID',
+ coupons: [],
+ items: [
+ {
+ source_id: 'M0E20000000ELIV',
+ quantity: 1,
+ price: 12500,
+ amount: 12500,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ { name: 'colorFreeDefinition', value: { en: 'black', de: 'schwarz' } },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ },
+ ],
+ rawOrder: {
+ type: 'Order',
+ id: 'c7d08c16-8a75-42dd-93eb-802861128a1d',
+ version: 2,
+ versionModifiedAt: '2023-06-01T14:11:18.654Z',
+ lastMessageSequenceNumber: 2,
+ createdAt: '2023-06-01T14:11:18.501Z',
+ lastModifiedAt: '2023-06-01T14:11:18.501Z',
+ lastModifiedBy: {
+ isPlatformClient: true,
+ user: { typeId: 'user', id: 'eb521f4b-5a8b-4958-ba9c-93dd29d7c363' },
+ },
+ createdBy: {
+ clientId: '3cx8PEBHMZQ1oHAYF1eoDs8i',
+ isPlatformClient: false,
+ anonymousId: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ },
+ anonymousId: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12800,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10756,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12800,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 2044,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 2044,
+ fractionDigits: 2,
+ },
+ },
+ country: 'DE',
+ taxedShippingPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 252,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ taxPortions: [
+ {
+ rate: 0.19,
+ amount: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 48,
+ fractionDigits: 2,
+ },
+ name: '19% incl.',
+ },
+ ],
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 48,
+ fractionDigits: 2,
+ },
+ },
+ orderState: 'Open',
+ paymentState: 'Paid',
+ syncInfo: [],
+ returnInfo: [],
+ taxMode: 'Platform',
+ inventoryMode: 'None',
+ taxRoundingMode: 'HalfEven',
+ taxCalculationMode: 'LineItemLevel',
+ origin: 'Customer',
+ shippingMode: 'Single',
+ shippingInfo: {
+ shippingMethodName: 'Standard EU',
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ shippingRate: {
+ price: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ freeAbove: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 20000,
+ fractionDigits: 2,
+ },
+ tiers: [],
+ },
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ taxCategory: {
+ typeId: 'tax-category',
+ id: '72f8835b-53ae-4d3b-bd3b-a17dafd26c99',
+ },
+ deliveries: [],
+ shippingMethod: {
+ typeId: 'shipping-method',
+ id: '4e09f55b-f33b-47a1-a236-a9785c8da88d',
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 252,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 300,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 48,
+ fractionDigits: 2,
+ },
+ },
+ shippingMethodState: 'MatchesCart',
+ },
+ shippingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ shipping: [],
+ lineItems: [
+ {
+ id: 'f7694139-4230-4e6e-8504-adf7bd4d245c',
+ productId: 'd5c95d66-13c8-4729-9248-de8b7544d333',
+ productKey: '82398',
+ name: {
+ en: 'Slip-On Shoes “Olivia” Michael Kors black',
+ de: 'Slip-On Schuhe „Olivia“ Michael Kors schwarz',
+ },
+ productType: {
+ typeId: 'product-type',
+ id: 'f084fa3e-01bd-4ee2-8c8a-9a18764e8841',
+ version: 1,
+ },
+ productSlug: {
+ en: 'michael-kors-slip-on-olivia-43S5OLFP1L-black',
+ de: 'michael-kors-slip-on-olivia-43S5OLFP1L-schwarz',
+ },
+ variant: {
+ id: 1,
+ sku: 'M0E20000000ELIV',
+ key: 'M0E20000000ELIV',
+ prices: [
+ {
+ id: '60f68239-2e2f-4c75-bff5-6e5405b11b9a',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ },
+ {
+ id: '993661a3-6e60-46c8-b71d-a2e57fac94da',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: '50ecf507-a22f-4ce1-a8cf-c7f88a7a32a3',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 15625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ },
+ {
+ id: 'f3a18448-4816-4b3e-90a8-6deec8479f9d',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 10246,
+ fractionDigits: 2,
+ },
+ customerGroup: {
+ typeId: 'customer-group',
+ id: '0c826f37-d10d-439c-bf46-ce9e17deab74',
+ },
+ },
+ {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ {
+ id: '6a7f9ffe-7da3-42ab-a2f4-222397430db1',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'IT',
+ },
+ {
+ id: 'a5322692-49f3-4601-930f-9b5b5fcc28ea',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'GB',
+ },
+ {
+ id: '4cb6e207-65da-4db3-a84b-5ca805e18b18',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'd4e8a815-830f-43bf-8506-77de565bf3f3',
+ },
+ },
+ {
+ id: '8e2df96a-90e3-446c-a673-d881f27f4f9b',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '68506b79-8d88-47ab-b77d-5b54cb6eec03',
+ },
+ },
+ {
+ id: 'deb05b45-9e7f-4740-83db-8a9e96235724',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: '075f15ed-e66a-49a6-8d61-786145ac1a7a',
+ },
+ },
+ {
+ id: '28958de9-a79e-42c6-9a0c-5cd7ac0d24f6',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'ffecbfe5-a622-4e1f-8704-ac328d94cfb5',
+ },
+ },
+ {
+ id: '1c307d7a-60e7-4b48-8f21-4e3e5631ef63',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ channel: {
+ typeId: 'channel',
+ id: 'c9958b11-6151-433e-83f3-4424e6fa4ac2',
+ },
+ },
+ {
+ id: '05c025de-c950-4916-9d1b-3dd903c2e362',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 12625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '2259d32b-2c7a-4941-842a-d81fb3c878e7',
+ },
+ },
+ {
+ id: '5f22d547-b831-4124-9556-7844b1af4518',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 16250,
+ fractionDigits: 2,
+ },
+ channel: {
+ typeId: 'channel',
+ id: '0399ae91-a3be-40ef-90cc-11ac36cf8a62',
+ },
+ },
+ {
+ id: '8a3ebd9a-834d-43ef-9f27-78f2142cce98',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 11625,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'bcaecbbd-bf7c-4f9f-9b4b-c0cbd6240d68',
+ },
+ },
+ {
+ id: 'b9a901b0-f5d2-424b-b854-b0eafa985ee8',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13500,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: '3def0285-22e1-401c-916b-56efb977f18e',
+ },
+ },
+ {
+ id: 'be05566e-689a-416b-886f-7a8b31559d00',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'USD',
+ centAmount: 13375,
+ fractionDigits: 2,
+ },
+ country: 'US',
+ channel: {
+ typeId: 'channel',
+ id: 'db86818a-f58b-4df4-8b61-46de85d13a00',
+ },
+ },
+ ],
+ images: [
+ {
+ url: 'https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/082398_1_large.jpg',
+ dimensions: { w: 0, h: 0 },
+ },
+ ],
+ attributes: [
+ { name: 'articleNumberManufacturer', value: '43S5OLFP1L 001' },
+ { name: 'articleNumberMax', value: '82398' },
+ { name: 'matrixId', value: 'M0E20000000ELIV' },
+ { name: 'baseId', value: '82398' },
+ {
+ name: 'designer',
+ value: { key: 'michaelkors', label: 'Michael Kors' },
+ },
+ { name: 'madeInItaly', value: { key: 'no', label: 'no' } },
+ { name: 'commonSize', value: { key: '35', label: '35' } },
+ { name: 'size', value: '5' },
+ {
+ name: 'color',
+ value: {
+ key: 'black',
+ label: { en: 'black', it: 'nero', de: 'schwarz' },
+ },
+ },
+ {
+ name: 'colorFreeDefinition',
+ value: { en: 'black', de: 'schwarz' },
+ },
+ { name: 'style', value: { key: 'sporty', label: 'sporty' } },
+ { name: 'gender', value: { key: 'women', label: 'Damen' } },
+ { name: 'season', value: 's15' },
+ ],
+ assets: [],
+ },
+ price: {
+ id: 'e2561b96-18dc-45fd-8251-88949627fbde',
+ value: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ country: 'DE',
+ },
+ quantity: 1,
+ discountedPricePerQuantity: [],
+ taxRate: {
+ name: '19% incl.',
+ amount: 0.19,
+ includedInPrice: true,
+ country: 'DE',
+ id: 'n9ENOU2i',
+ subRates: [],
+ },
+ perMethodTaxRate: [],
+ addedAt: '2023-06-01T14:10:58.964Z',
+ lastModifiedAt: '2023-06-01T14:10:58.964Z',
+ state: [
+ {
+ quantity: 1,
+ state: {
+ typeId: 'state',
+ id: 'ad3930da-ae5c-4c7e-8ae0-2dfb99d52f50',
+ },
+ },
+ ],
+ priceMode: 'Platform',
+ lineItemMode: 'Standard',
+ totalPrice: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ taxedPrice: {
+ totalNet: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 10504,
+ fractionDigits: 2,
+ },
+ totalGross: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 12500,
+ fractionDigits: 2,
+ },
+ totalTax: {
+ type: 'centPrecision',
+ currencyCode: 'EUR',
+ centAmount: 1996,
+ fractionDigits: 2,
+ },
+ },
+ taxedPricePortions: [],
+ custom: {
+ type: { typeId: 'type', id: '69840f60-bd39-4958-b3fc-85bf6c492791' },
+ fields: {},
+ },
+ },
+ ],
+ customLineItems: [],
+ transactionFee: true,
+ discountCodes: [],
+ directDiscounts: [],
+ cart: { typeId: 'cart', id: 'd77489c3-4300-4f22-bea4-71e5d5fc587a' },
+ custom: {
+ type: { typeId: 'type', id: '22ec137d-4ea0-468f-98e9-f9289ca8bb01' },
+ fields: {
+ couponsLimit: 5,
+ discount_codes: [
+ '{"status":"AVAILABLE","value":1250,"banner":"10% off","code":"promo_sBe05RSTPSfUiojdpwueAkTJ","type":"promotion_tier"}',
+ '{"status":"AVAILABLE","value":0,"banner":"Get 5% for your first order","code":"promo_1c4Q5taDrKynBgA4aTJGyp0p","type":"promotion_tier"}',
+ ],
+ shippingProductSourceIds: [],
+ },
+ },
+ billingAddress: {
+ firstName: 'Piotr',
+ lastName: 'Zieliński',
+ streetName: 'Porcelanowa',
+ postalCode: '32-000',
+ city: 'Kraków',
+ country: 'DE',
+ phone: '+48796120506',
+ email: 'piotrzielinski@gmail.com',
+ },
+ itemShippingAddresses: [],
+ refusedGifts: [],
+ },
+};
+
+export const createOrderItems = [
+ {
+ source_id: 'M0E20000000ELIV',
+ related_object: 'sku',
+ quantity: 1,
+ price: 12500,
+ amount: 12500,
+ product: {
+ override: true,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ metadata: {},
+ },
+ },
+];
+export const createOrderOrderCreateObject = {
+ source_id: 'c7d08c16-8a75-42dd-93eb-802861128a1d',
+ amount: 12500,
+ discount_amount: 0,
+ items: [
+ {
+ source_id: 'M0E20000000ELIV',
+ related_object: 'sku',
+ quantity: 1,
+ price: 12500,
+ amount: 12500,
+ product: {
+ override: true,
+ name: 'Slip-On Shoes “Olivia” Michael Kors black',
+ },
+ sku: {
+ override: true,
+ sku: 'Slip-On Shoes “Olivia” Michael Kors black',
+ metadata: {},
+ },
+ },
+ ],
+ metadata: {},
+ customer: {
+ source_id: '03970ec0-fa17-45d6-a19f-208ee3fcb1a4',
+ name: 'Piotr Zieliński',
+ email: 'piotrzielinski@gmail.com',
+ address: {
+ city: 'Kraków',
+ country: 'DE',
+ postal_code: '32-000',
+ line_1: 'Porcelanowa',
+ },
+ phone: '+48796120506',
+ },
+ status: 'PAID',
+};
diff --git a/voucherify-service/test/__unit_tests__/replaceCodesWithInapplicableCodes.spec.ts b/voucherify-service/test/__unit_tests__/replaceCodesWithInapplicableCodes.spec.ts
new file mode 100644
index 00000000..283ec985
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/replaceCodesWithInapplicableCodes.spec.ts
@@ -0,0 +1,24 @@
+import { replaceCodesWithInapplicableCoupons } from '../../src/integration/utils/replaceCodesWithInapplicableCoupons';
+
+describe('replaceCodesWithInapplicableCoupons', () => {
+ it('should map code to result', async () => {
+ expect(
+ replaceCodesWithInapplicableCoupons(['test'], 'errorMessage'),
+ ).toEqual([
+ {
+ status: 'INAPPLICABLE',
+ id: 'test',
+ object: 'voucher',
+ result: {
+ error: {
+ code: 404,
+ key: 'not_found',
+ message: 'errorMessage',
+ details: `Cannot find voucher with id test`,
+ request_id: undefined,
+ },
+ },
+ },
+ ]);
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/request-json-file-logger.service.spec.ts b/voucherify-service/test/__unit_tests__/request-json-file-logger.service.spec.ts
new file mode 100644
index 00000000..87bdba21
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/request-json-file-logger.service.spec.ts
@@ -0,0 +1,21 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { VoucherifyConnectorService } from '../../src/voucherify/voucherify-connector.service';
+import { Logger } from '@nestjs/common';
+import { RequestJsonFileLogger } from '../../src/misc/request-json-file-logger';
+
+describe('VoucherifyConnectorService', () => {
+ let service: RequestJsonFileLogger;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [RequestJsonFileLogger, Logger],
+ }).compile();
+
+ service = module.get(RequestJsonFileLogger);
+ });
+
+ it('should be defined', () => {
+ expect(service).toBeDefined();
+ service.log('label', {}, {});
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/sleep.spec.ts b/voucherify-service/test/__unit_tests__/sleep.spec.ts
new file mode 100644
index 00000000..e1adaae0
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/sleep.spec.ts
@@ -0,0 +1,9 @@
+import sleep from '../../src/misc/sleep';
+
+describe('SleepTest', () => {
+ it('should be defined', async () => {
+ const result = await sleep(1);
+ expect(sleep).toBeDefined();
+ expect(result).toBeNull();
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/tax-categories.service.spec.ts b/voucherify-service/test/__unit_tests__/tax-categories.service.spec.ts
new file mode 100644
index 00000000..93d566c1
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/tax-categories.service.spec.ts
@@ -0,0 +1,59 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { VoucherifyConnectorService } from '../../src/voucherify/voucherify-connector.service';
+import { Logger } from '@nestjs/common';
+import { TaxCategoriesService } from '../../src/commercetools/tax-categories/tax-categories.service';
+import { CommercetoolsConnectorService } from '../../src/commercetools/commercetools-connector.service';
+import { getCommerceToolsConnectorServiceMockWithProductResponse } from '../__mocks__/commerce-tools-connector.service';
+import { MockFunctionMetadata, ModuleMocker } from 'jest-mock';
+import { getCouponTaxCategoryAndUpdateItIfNeededResponse } from './payloads/tax-categories.payloads';
+const moduleMocker = new ModuleMocker(global);
+
+describe('VoucherifyConnectorService', () => {
+ let service: TaxCategoriesService;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ TaxCategoriesService,
+ {
+ provide: CommercetoolsConnectorService,
+ useValue:
+ getCommerceToolsConnectorServiceMockWithProductResponse({
+ sku: 'SKU_ID',
+ price: 10,
+ id: 'PRODUCT_ID',
+ }) || {},
+ },
+ Logger,
+ ],
+ })
+ .useMocker((token) => {
+ if (typeof token === 'function') {
+ const mockMetadata = moduleMocker.getMetadata(
+ token,
+ ) as MockFunctionMetadata;
+ const Mock = moduleMocker.generateFromMetadata(mockMetadata);
+ return new Mock();
+ }
+ })
+ .compile();
+
+ service = module.get(TaxCategoriesService);
+ });
+
+ it('should be defined', () => {
+ expect(service).toBeDefined();
+ });
+
+ it('should get coupon tax category', async () => {
+ const response = await service.getCouponTaxCategoryAndUpdateItIfNeeded(
+ 'US',
+ );
+ expect(response).toEqual(getCouponTaxCategoryAndUpdateItIfNeededResponse);
+ });
+
+ it('should get coupon tax category already configured', async () => {
+ const response = await service.configureCouponTaxCategory();
+ expect(response).toEqual(getCouponTaxCategoryAndUpdateItIfNeededResponse);
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/translateCtOrderToOrder.spec.ts b/voucherify-service/test/__unit_tests__/translateCtOrderToOrder.spec.ts
new file mode 100644
index 00000000..572d534a
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/translateCtOrderToOrder.spec.ts
@@ -0,0 +1,9 @@
+import { translateCtOrderToOrder } from '../../src/commercetools/utils/mappers/translateCtOrderToOrder';
+import { ctOrder, order } from './payloads/translateCtOrderToOrder';
+
+describe('translateCtOrderToOrder Test', () => {
+ it('should map translateCtOrderToOrder correctly', () => {
+ const result = translateCtOrderToOrder(ctOrder as any);
+ expect(result).toEqual(order);
+ });
+});
diff --git a/voucherify-service/test/__unit_tests__/voucherify-connector.service.spec.ts b/voucherify-service/test/__unit_tests__/voucherify-connector.service.spec.ts
new file mode 100644
index 00000000..50b0aa8a
--- /dev/null
+++ b/voucherify-service/test/__unit_tests__/voucherify-connector.service.spec.ts
@@ -0,0 +1,141 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { VoucherifyConnectorService } from '../../src/voucherify/voucherify-connector.service';
+import { ConfigModule, ConfigService } from '@nestjs/config';
+import { Logger } from '@nestjs/common';
+import { RequestJsonLogger } from '../../src/configs/requestJsonLogger';
+import {
+ createOrderItems,
+ createOrderOrderCreateObject,
+ createOrderOrderObject,
+ getAvailablePromotionsCart,
+ getAvailablePromotionsResponseObject,
+ getAvailablePromotionsValidateWith,
+ redeemStackableVouchersRequest,
+ redeemStackableVouchersResponse,
+ validateStackableResponse,
+ validateStackableVouchersRequest,
+} from './payloads/voucherify-connector.service.spec.paylaods';
+
+describe('VoucherifyConnectorService', () => {
+ let service: VoucherifyConnectorService;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ imports: [ConfigModule.forRoot()],
+ providers: [
+ VoucherifyConnectorService,
+ ConfigService,
+ Logger,
+ RequestJsonLogger,
+ ],
+ }).compile();
+
+ service = module.get(
+ VoucherifyConnectorService,
+ );
+
+ // service.getClient = jest.fn().mockResolvedValue({});
+ });
+
+ it('should be defined', () => {
+ expect(service).toBeDefined();
+ });
+
+ it('should check if validateStackable was called 1 time', async () => {
+ const validateStackable = jest
+ .fn()
+ .mockReturnValue(validateStackableResponse);
+
+ service.getClient = jest.fn().mockReturnValue({
+ validations: {
+ validateStackable,
+ },
+ });
+
+ const response_ = await service.validateStackableVouchers(
+ validateStackableVouchersRequest as any,
+ );
+
+ expect(validateStackable).toBeCalledTimes(1);
+ expect(response_).toMatchObject(validateStackableResponse);
+ });
+
+ it('should check if releaseValidationSession was called 3 times', async () => {
+ const releaseValidationSession = jest.fn().mockResolvedValue(undefined);
+
+ service.getClient = jest.fn().mockReturnValue({
+ vouchers: {
+ releaseValidationSession,
+ },
+ });
+
+ await service.releaseValidationSession(['1', '2', '3'], 'sessionKey');
+ expect(releaseValidationSession).toBeCalledTimes(3);
+ });
+
+ it('should check if validate was called 1 time, and items were mapped correctly', async () => {
+ const validate = jest
+ .fn()
+ .mockResolvedValue(getAvailablePromotionsResponseObject);
+
+ service.getClient = jest.fn().mockReturnValue({
+ promotions: {
+ validate,
+ },
+ });
+
+ await service.getAvailablePromotions(getAvailablePromotionsCart);
+ expect(validate).toBeCalledTimes(1);
+ expect(validate).toBeCalledWith(
+ expect.objectContaining(getAvailablePromotionsValidateWith),
+ );
+ });
+
+ it('should check if list was called 1 time', async () => {
+ const list = jest.fn().mockResolvedValue({ schemas: [] });
+
+ service.getClient = jest.fn().mockReturnValue({
+ metadataSchemas: {
+ list,
+ },
+ });
+
+ await service.getMetadataSchemaProperties('resourceName');
+ expect(list).toBeCalledTimes(1);
+ });
+
+ it('should check if redeemStackable was called 1 time', async () => {
+ const redeemStackable = jest
+ .fn()
+ .mockResolvedValue(redeemStackableVouchersResponse);
+
+ service.getClient = jest.fn().mockReturnValue({
+ redemptions: {
+ redeemStackable,
+ },
+ });
+
+ await service.redeemStackableVouchers(
+ redeemStackableVouchersRequest as any,
+ );
+ expect(redeemStackable).toBeCalledTimes(1);
+ });
+
+ it('should check if orders.create was called 1 time, check if order mapping is correct', async () => {
+ const create = jest.fn().mockResolvedValue(undefined);
+
+ service.getClient = jest.fn().mockReturnValue({
+ orders: {
+ create,
+ },
+ });
+
+ await service.createOrder(
+ createOrderOrderObject as any,
+ createOrderItems as any,
+ {},
+ );
+ expect(create).toBeCalledTimes(1);
+ expect(create).toBeCalledWith(createOrderOrderCreateObject);
+ });
+});
diff --git a/test/jest-e2e.json b/voucherify-service/test/jest-e2e.json
similarity index 100%
rename from test/jest-e2e.json
rename to voucherify-service/test/jest-e2e.json
diff --git a/tsconfig.build.json b/voucherify-service/tsconfig.build.json
similarity index 100%
rename from tsconfig.build.json
rename to voucherify-service/tsconfig.build.json
diff --git a/tsconfig.json b/voucherify-service/tsconfig.json
similarity index 100%
rename from tsconfig.json
rename to voucherify-service/tsconfig.json