diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 000000000..9b34d26f5
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
+github: capricorn86
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 000000000..c40500aa7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,32 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Device:**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md
new file mode 100644
index 000000000..035f068d6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/custom.md
@@ -0,0 +1,10 @@
+---
+name: Custom issue template
+about: Describe this issue template's purpose here.
+title: ''
+labels: question
+assignees: ''
+
+---
+
+
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 000000000..11fc491ef
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: enhancement
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/commit.yml b/.github/workflows/pull_request.yml
similarity index 93%
rename from .github/workflows/commit.yml
rename to .github/workflows/pull_request.yml
index c954dfde8..2b2cb96bf 100644
--- a/.github/workflows/commit.yml
+++ b/.github/workflows/pull_request.yml
@@ -1,5 +1,5 @@
-name: Commit
-on: push
+name: Pull request
+on: pull_request
jobs:
build:
runs-on: ubuntu-latest
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000..47e26193d
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,128 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+david@ortner.se.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant,
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://github.com/capricorn86/happy-dom
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
diff --git a/docs/contributing.md b/docs/contributing.md
index bac1abe05..ecb5db164 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -73,6 +73,6 @@ The release process in Happy DOM is completely automated. In order to determine
| ------- | ------------------------------------------------------------ |
| trivial | Use this version type if the change doesn't affect the end user. The change will not be displayed in the release notes. |
| patch | Bug fixes should use this version type. |
-| minor | New features that doesn' break anything for the end user should have this version type. |
+| minor | New features that doesn't break anything for the end user should have this version type. |
| major | Braking changes should use this version type. |
diff --git a/package-lock.json b/package-lock.json
index d32938e0d..b66e353fd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,7 +15,11 @@
"@jest/fake-timers": "^27.5.1",
"@jest/types": "^27.5.1",
"@lit/reactive-element": "^1.3.1",
+ "@testing-library/react": "^12.1.2",
+ "@testing-library/user-event": "^14.4.3",
"@types/node-fetch": "^2.6.1",
+ "@types/react": "^17.0.2",
+ "@types/react-dom": "^17.0.2",
"cpy": "^8.1.2",
"css.escape": "^1.5.1",
"glob": "^7.2.0",
@@ -53,7 +57,7 @@
"eslint-plugin-prettier": "^4.0.0",
"husky": "2.3.0",
"jest": "^27.5.1",
- "lerna": "^4.0.0",
+ "lerna": "^5.6.1",
"prettier": "^2.6.0",
"semver": "^7.3.5",
"ts-jest": "^27.1.3",
@@ -64,12 +68,13 @@
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
- "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
"dev": true,
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.0"
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
"node": ">=6.0.0"
@@ -87,11 +92,6 @@
"rxjs": "^6.5.3"
}
},
- "node_modules/@angular/common/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
"node_modules/@angular/compiler": {
"version": "10.2.5",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-10.2.5.tgz",
@@ -100,11 +100,6 @@
"tslib": "^2.0.0"
}
},
- "node_modules/@angular/compiler/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
"node_modules/@angular/core": {
"version": "10.2.5",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-10.2.5.tgz",
@@ -117,11 +112,6 @@
"zone.js": "~0.10.3"
}
},
- "node_modules/@angular/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/@angular/platform-browser": {
"version": "10.2.5",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.2.5.tgz",
@@ -154,56 +144,46 @@
"@angular/platform-browser": "10.2.5"
}
},
- "node_modules/@angular/platform-browser-dynamic/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
- "node_modules/@angular/platform-browser/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
"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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
"dependencies": {
- "@babel/highlight": "^7.16.7"
+ "@babel/highlight": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
- "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz",
+ "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
- "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+ "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.7",
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helpers": "^7.17.8",
- "@babel/parser": "^7.17.8",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0",
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.19.3",
+ "@babel/helper-compilation-targets": "^7.19.3",
+ "@babel/helper-module-transforms": "^7.19.0",
+ "@babel/helpers": "^7.19.0",
+ "@babel/parser": "^7.19.3",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.3",
+ "@babel/types": "^7.19.3",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
+ "json5": "^2.2.1",
"semver": "^6.3.0"
},
"engines": {
@@ -224,37 +204,42 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
- "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz",
+ "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.17.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@babel/types": "^7.19.3",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "node_modules/@babel/generator/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==",
"dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.0.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
- "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz",
+ "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.17.5",
+ "@babel/compat-data": "^7.19.3",
+ "@babel/helper-validator-option": "^7.18.6",
+ "browserslist": "^4.21.3",
"semver": "^6.3.0"
},
"engines": {
@@ -274,156 +259,149 @@
}
},
"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==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
"dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
- "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
- "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/template": "^7.18.10",
+ "@babel/types": "^7.19.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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"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==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
+ "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
"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"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.0",
+ "@babel/types": "^7.19.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==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
+ "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==",
"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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
+ "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.17.0"
+ "@babel/types": "^7.18.6"
},
"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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
+ "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
+ "dev": true,
+ "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==",
+ "version": "7.19.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
"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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
- "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz",
+ "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.0",
+ "@babel/types": "^7.19.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
- "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -455,10 +433,23 @@
"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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"engines": {
"node": ">=0.8.0"
}
@@ -466,7 +457,7 @@
"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=",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"engines": {
"node": ">=4"
}
@@ -483,9 +474,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
- "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz",
+ "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -641,12 +632,12 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
- "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz",
+ "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
@@ -655,34 +646,45 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/runtime": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz",
+ "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.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==",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+ "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.10",
+ "@babel/types": "^7.18.10"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz",
+ "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.19.3",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.19.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.19.3",
+ "@babel/types": "^7.19.3",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -700,12 +702,13 @@
}
},
"node_modules/@babel/types": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
- "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz",
+ "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-string-parser": "^7.18.10",
+ "@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -719,9 +722,9 @@
"dev": true
},
"node_modules/@es-joy/jsdoccomment": {
- "version": "0.22.1",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.1.tgz",
- "integrity": "sha512-/WMkqLYfwCf0waCAMC8Eddt3iAOdghkDF5vmyKEu8pfO66KRFY1L15yks8mfgURiwOAOJpAQ3blvB3Znj6ZwBw==",
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.2.tgz",
+ "integrity": "sha512-pM6WQKcuAtdYoqCsXSvVSu3Ij8K0HY50L8tIheOKHDl0wH1uA4zbP88etY8SIeP16NVCMCTFU+Q2DahSKheGGQ==",
"dev": true,
"dependencies": {
"comment-parser": "1.3.1",
@@ -733,23 +736,26 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
- "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz",
+ "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.3.1",
- "globals": "^13.9.0",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/@gar/promisify": {
@@ -759,9 +765,9 @@
"dev": true
},
"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==",
+ "version": "0.10.7",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
+ "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
"dev": true,
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.1",
@@ -772,6 +778,29 @@
"node": ">=10.10.0"
}
},
+ "node_modules/@humanwhocodes/gitignore-to-minimatch": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
+ "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
"node_modules/@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -787,6 +816,12 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@isaacs/string-locale-compare": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
+ "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
+ "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",
@@ -877,15 +912,6 @@
"node": ">=8"
}
},
- "node_modules/@istanbuljs/load-nyc-config/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/@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",
@@ -1141,25 +1167,47 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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.0.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz",
- "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
"dev": true,
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.11",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
- "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==",
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz",
- "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==",
+ "version": "0.3.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
+ "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
"dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.0.3",
@@ -1167,92 +1215,92 @@
}
},
"node_modules/@lerna/add": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz",
- "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/add/-/add-5.6.1.tgz",
+ "integrity": "sha512-cZvqMYoAclefw/KQwrRIpeQiKuj/KhbkNItWc6LnWcpweUmnrAm/AEfddIOnSagRHUgkSIY/pafjL2DGdIU25w==",
"dev": true,
"dependencies": {
- "@lerna/bootstrap": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/npm-conf": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/bootstrap": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/npm-conf": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"dedent": "^0.7.0",
- "npm-package-arg": "^8.1.0",
+ "npm-package-arg": "8.1.1",
"p-map": "^4.0.0",
- "pacote": "^11.2.6",
+ "pacote": "^13.6.1",
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/bootstrap": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz",
- "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==",
- "dev": true,
- "dependencies": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/has-npm-version": "4.0.0",
- "@lerna/npm-install": "4.0.0",
- "@lerna/package-graph": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/rimraf-dir": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/symlink-binary": "4.0.0",
- "@lerna/symlink-dependencies": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.6.1.tgz",
+ "integrity": "sha512-YMNDTDtAo5fpt/pmA/JOcU2HvgD/bdwiZAa80312HcRy6MortJqFDo6wOM6trfoqf0XkWOpcw+P7/d/8+b8SVw==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/has-npm-version": "5.6.1",
+ "@lerna/npm-install": "5.6.1",
+ "@lerna/package-graph": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/rimraf-dir": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/symlink-binary": "5.6.1",
+ "@lerna/symlink-dependencies": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@npmcli/arborist": "5.3.0",
"dedent": "^0.7.0",
"get-port": "^5.1.1",
"multimatch": "^5.0.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1",
- "read-package-tree": "^5.3.1",
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/changed": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz",
- "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-5.6.1.tgz",
+ "integrity": "sha512-YVXkTEXlQWW1BSyURwZHz4HDpfl/yAwkLQbRQ2OtEmknkh4QOK41PPBgX0q1SCWKs3OYdSuI30A2H3KY8LMkxg==",
"dev": true,
"dependencies": {
- "@lerna/collect-updates": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/listable": "4.0.0",
- "@lerna/output": "4.0.0"
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/listable": "5.6.1",
+ "@lerna/output": "5.6.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/check-working-tree": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz",
- "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.6.1.tgz",
+ "integrity": "sha512-pzM/d+009Yl7ThpbWPntao5WuHi4nb/T9WKTOG/CzS/yLQgceVaX1vRaf3fML92RYmV+XGFPq+PaVQXtwHdMkA==",
"dev": true,
"dependencies": {
- "@lerna/collect-uncommitted": "4.0.0",
- "@lerna/describe-ref": "4.0.0",
- "@lerna/validation-error": "4.0.0"
+ "@lerna/collect-uncommitted": "5.6.1",
+ "@lerna/describe-ref": "5.6.1",
+ "@lerna/validation-error": "5.6.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/child-process": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz",
- "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.6.1.tgz",
+ "integrity": "sha512-+86Z5EwBkdypTyV8z8Se3McbGCHh4wUBfGuOoNmar4NjeY2HVuiRCoaJsyqgoyNLoXJb1gqDGlWkG5LTuKvw/A==",
"dev": true,
"dependencies": {
"chalk": "^4.1.0",
@@ -1260,619 +1308,765 @@
"strong-log-transformer": "^2.1.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/child-process/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/@lerna/child-process/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/@lerna/child-process/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@lerna/child-process/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==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/@lerna/clean": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz",
- "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-5.6.1.tgz",
+ "integrity": "sha512-af+jZ/JT5AKvnW3JwFjqcuZyOiV1MCdYCi8KwHGJbEOT3ak2u7jdgFyHYtTngYTYeFn+VOSi9+vnVZ8RhQ0DQg==",
"dev": true,
"dependencies": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/rimraf-dir": "4.0.0",
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/rimraf-dir": "5.6.1",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/cli": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz",
- "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-5.6.1.tgz",
+ "integrity": "sha512-y7GmT30rVovwJHKZQE+1aH5BbR+m9psNwzGhAl3bI3pIi3DPNwa+5Ag7XV+tzKItqwfNtNQbrGIt6u3xbVgR3Q==",
"dev": true,
"dependencies": {
- "@lerna/global-options": "4.0.0",
+ "@lerna/global-options": "5.6.1",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"yargs": "^16.2.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/collect-uncommitted": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz",
- "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.6.1.tgz",
+ "integrity": "sha512-Z1I4BFBcbqxX3RRiHtPA3JU92NOyTeJF/pWB5DImWDL7i5AYXWYA6iW99HyKTGfIsA3GrS4BIL0UOmp4vP7Yvw==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
+ "@lerna/child-process": "5.6.1",
"chalk": "^4.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/collect-updates": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz",
- "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.6.1.tgz",
+ "integrity": "sha512-xY5nJ//ACDVU/k9zn45W//wWw9+Cf4HWN7nla8J1YHLsRmn79uJONZnyK3MBCjMpgVzSAmMe47wuDu+ZzqV/Ew==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/describe-ref": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/describe-ref": "5.6.1",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"slash": "^3.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/command": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz",
- "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/command/-/command-5.6.1.tgz",
+ "integrity": "sha512-QxJr73TUQQ4B+4mWfwH7kNNTxP3lBnNKN6zX9NnjanQ2u6Nij/SMbvym1L0T2EVgZMseFzZEQnXE3d+jbWn/aQ==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/package-graph": "4.0.0",
- "@lerna/project": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "@lerna/write-log-file": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/package-graph": "5.6.1",
+ "@lerna/project": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@lerna/write-log-file": "5.6.1",
"clone-deep": "^4.0.1",
"dedent": "^0.7.0",
"execa": "^5.0.0",
"is-ci": "^2.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
+ },
+ "engines": {
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/command/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/@lerna/command/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/@lerna/command/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@lerna/command/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==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": ">=8"
}
},
"node_modules/@lerna/conventional-commits": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz",
- "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.6.1.tgz",
+ "integrity": "sha512-H86fO470tU/lnws+xrSxzeJFBehAo10dtI35+AC9kwub7XwWO19AhdbQjf4PwWhG8/CTl65Tn9UMg+kHYilmzA==",
"dev": true,
"dependencies": {
- "@lerna/validation-error": "4.0.0",
+ "@lerna/validation-error": "5.6.1",
"conventional-changelog-angular": "^5.0.12",
- "conventional-changelog-core": "^4.2.2",
+ "conventional-changelog-core": "^4.2.4",
"conventional-recommended-bump": "^6.1.0",
"fs-extra": "^9.1.0",
"get-stream": "^6.0.0",
- "lodash.template": "^4.5.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/conventional-commits/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/@lerna/create": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz",
- "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-5.6.1.tgz",
+ "integrity": "sha512-DSDprUvSszb6qedync3TFfDLrFzP264LNPdw+MBSw4o3lpZAmAGelzyw+xSQQQjLNoGC5q/UUePKiCiWps8aPw==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/npm-conf": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/npm-conf": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"globby": "^11.0.2",
- "init-package-json": "^2.0.2",
- "npm-package-arg": "^8.1.0",
+ "init-package-json": "^3.0.2",
+ "npm-package-arg": "8.1.1",
"p-reduce": "^2.1.0",
- "pacote": "^11.2.6",
+ "pacote": "^13.6.1",
"pify": "^5.0.0",
"semver": "^7.3.4",
"slash": "^3.0.0",
"validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^3.0.0",
- "whatwg-url": "^8.4.0",
+ "validate-npm-package-name": "^4.0.0",
"yargs-parser": "20.2.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/create-symlink": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz",
- "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.6.1.tgz",
+ "integrity": "sha512-u46aoyxdoHXiyOQ1vCsA8PPkPkyjZanKuiJxnqMXITMwpQFjo18FvSN9BvnZkbJ6Jwnj/boO1TjDUewrQ4wPjw==",
"dev": true,
"dependencies": {
- "cmd-shim": "^4.1.0",
+ "cmd-shim": "^5.0.0",
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/describe-ref": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz",
- "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.6.1.tgz",
+ "integrity": "sha512-VskLszuC3NoN5l31kSh3NiIt4cqaulBI75Ek1HDT+VcGXR2AJzsE1BweDWrh2xJBdqdK8cLp72R/vgUDbjKQCg==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.6.1",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz",
- "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-5.6.1.tgz",
+ "integrity": "sha512-5JTxFUuLfEJZwtplAhWAbffv+FzJsP9ndsJFsmobdfKHZxxoyCvwc5fgMFRgQQMZcQue+lnZEYITJim078xy2A==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/exec": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz",
- "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-5.6.1.tgz",
+ "integrity": "sha512-nNZAm6yhbHG59xMOCnJjYjQRtjqZqwjSiWakWz8upj+2HBd2Z0eMnQvrX1j9GhurhgHzhG7AM7FLnJHyh1b3Tw==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/profiler": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/profiler": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"p-map": "^4.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/filter-options": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz",
- "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.6.1.tgz",
+ "integrity": "sha512-uii0ZDlv2j8e6d3D25wp59L0nRUh7C3B6ImCTOraEdkir6E1UEXZK7VmIzxWD44L78vnUW1kl+j/q7Kib3cP/g==",
"dev": true,
"dependencies": {
- "@lerna/collect-updates": "4.0.0",
- "@lerna/filter-packages": "4.0.0",
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/filter-packages": "5.6.1",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/filter-packages": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz",
- "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.6.1.tgz",
+ "integrity": "sha512-uKaIebxrx235wg78SqY8A0ZugValdW6PgwkDFjss/Y2m8/9c+PiAbfkBeF5Q8iv8VP7te2MsGcvV12UmIQKDdA==",
"dev": true,
"dependencies": {
- "@lerna/validation-error": "4.0.0",
+ "@lerna/validation-error": "5.6.1",
"multimatch": "^5.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/get-npm-exec-opts": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz",
- "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.6.1.tgz",
+ "integrity": "sha512-y+Fzd9l1LM6tlarKrWxXQBKm02m7sjzj1T7vgiPW5uo324qEZVil89849iXgm2tLZt7/KD18Gqene2Hik0jmGQ==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/get-packed": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz",
- "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.6.1.tgz",
+ "integrity": "sha512-PI+WSCHXsBCF2+McaEUtcR3acZu/0JApUH+IJMz0TdYzspF4ewzEWhBn+4Gmw926oFsqnqfz37KInXNHGmBvCg==",
"dev": true,
"dependencies": {
"fs-extra": "^9.1.0",
- "ssri": "^8.0.1",
+ "ssri": "^9.0.1",
"tar": "^6.1.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/github-client": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz",
- "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.6.1.tgz",
+ "integrity": "sha512-XGAry8MX2fou8aAP3mf1+6oPP34QdgXzrRbdtXlCv8ksddbp/S1Tn5hNvorEJn2yDMNcjIDIdvrL/T4UiVzQjA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
+ "@lerna/child-process": "5.6.1",
"@octokit/plugin-enterprise-rest": "^6.0.1",
- "@octokit/rest": "^18.1.0",
- "git-url-parse": "^11.4.4",
- "npmlog": "^4.1.2"
+ "@octokit/rest": "^19.0.3",
+ "git-url-parse": "^13.1.0",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/gitlab-client": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz",
- "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.6.1.tgz",
+ "integrity": "sha512-zNG27B1dNy4QF45tUPEywthNtsDbzvsUSiokMx847Gxq5qLHtRHRR8kK51Q2dJ6u2biZafGNyzHqT5CQ/0ndnQ==",
"dev": true,
"dependencies": {
"node-fetch": "^2.6.1",
- "npmlog": "^4.1.2",
- "whatwg-url": "^8.4.0"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/global-options": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz",
- "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.6.1.tgz",
+ "integrity": "sha512-VgHVo0T2NC/YK/mR9nu8Z3DL65UtoamRclrnqK3HsaTub15UnqAlbcnEk2lB50e5TLsIZAp4TatDYrYNPKKJPQ==",
"dev": true,
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/has-npm-version": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz",
- "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.6.1.tgz",
+ "integrity": "sha512-V6lt830kXnEm/1pHyFh9Pci4lgRbQcBr1eORAD8d03uxQDfxA7Z8Gu9afhH5m0rk+P8txNO/3pUe2pf5Ex4DGg==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
+ "@lerna/child-process": "5.6.1",
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/import": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz",
- "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/import/-/import-5.6.1.tgz",
+ "integrity": "sha512-cOLjRAWWfY1ezsiBRIbA6lN4THu89xjtS+wJ8WUqr/xbYbGZ/qr4DBAWnpWpMfLLWN6Eel6nEAhah+Ch1IKNog==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"p-map-series": "^2.1.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/info": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz",
- "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/info/-/info-5.6.1.tgz",
+ "integrity": "sha512-0ixkn6Z8jlesMozQBlG3vdivFOjleapCusjDFZ1F7quuEcWDQuW1bQ4i55ISsVhh5gLCTTwQiNEhPnDQzs7fww==",
"dev": true,
"dependencies": {
- "@lerna/command": "4.0.0",
- "@lerna/output": "4.0.0",
+ "@lerna/command": "5.6.1",
+ "@lerna/output": "5.6.1",
"envinfo": "^7.7.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/init": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz",
- "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/init/-/init-5.6.1.tgz",
+ "integrity": "sha512-EPA3XCteadwZjb7GOqJFw+QcqwV/CrpWm9FZOEpo9uXNUCvOW8NqDlFzTEMrMiXBTldoP0H9SK9yM81c0Mip7Q==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/project": "5.6.1",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"write-json-file": "^4.3.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/link": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz",
- "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/link/-/link-5.6.1.tgz",
+ "integrity": "sha512-iWr7HGviIK3N/WNUoAZVV0RRf0CQzpR9uJXmsfuVKXj5gN8IHqFOdGS8TIIN57ekC0DOpDtR21h65zZXD1TSHQ==",
"dev": true,
"dependencies": {
- "@lerna/command": "4.0.0",
- "@lerna/package-graph": "4.0.0",
- "@lerna/symlink-dependencies": "4.0.0",
+ "@lerna/command": "5.6.1",
+ "@lerna/package-graph": "5.6.1",
+ "@lerna/symlink-dependencies": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"p-map": "^4.0.0",
"slash": "^3.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/list": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz",
- "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/list/-/list-5.6.1.tgz",
+ "integrity": "sha512-4VyAvVwKZQC+ntfjJuL8PbFu5jeR/8t21BzFXVWRkrZc3/sGVxSNtzi+9Brgrxm4n8qir3+wiiC4LSHdYG8Mlw==",
"dev": true,
"dependencies": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/listable": "4.0.0",
- "@lerna/output": "4.0.0"
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/listable": "5.6.1",
+ "@lerna/output": "5.6.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/listable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz",
- "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-5.6.1.tgz",
+ "integrity": "sha512-c7vzJYEPiH0DT7BJpjomLt2zwViPupk0g/dU9rCBkm4w2jk6Vult60/O3rx5rb95PUFz/pYM+3w3vkZWXx9AnQ==",
"dev": true,
"dependencies": {
- "@lerna/query-graph": "4.0.0",
+ "@lerna/query-graph": "5.6.1",
"chalk": "^4.1.0",
- "columnify": "^1.5.4"
+ "columnify": "^1.6.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/log-packed": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz",
- "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.6.1.tgz",
+ "integrity": "sha512-nyrrI8SbwO4nezuwDDQPea2XR3IWVRxgDzuZHA+g5utx75BuCZ2d1yrZe8URzfCIVVoGYI5OuOlv32BtLzt4tw==",
"dev": true,
"dependencies": {
"byte-size": "^7.0.0",
- "columnify": "^1.5.4",
+ "columnify": "^1.6.0",
"has-unicode": "^2.0.1",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-conf": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz",
- "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.6.1.tgz",
+ "integrity": "sha512-u4Pg0IjMhRIGdgNr18nzwyv6wcP5Qo0QEvf07P6tV8G3ocY+3w8q6mrPyFT3NitodLQ4AMWFDfyFZzXikJI+uw==",
"dev": true,
"dependencies": {
"config-chain": "^1.1.12",
"pify": "^5.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-dist-tag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz",
- "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.6.1.tgz",
+ "integrity": "sha512-YEbIP1J6V0U9qco7wk9qK0JbApIshPrUGqr0Kp1rx57pwtcwxIAvH/AEbqdVqjmItiPDpYgP7VukG7MI6EGe1w==",
"dev": true,
"dependencies": {
- "@lerna/otplease": "4.0.0",
- "npm-package-arg": "^8.1.0",
- "npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/otplease": "5.6.1",
+ "npm-package-arg": "8.1.1",
+ "npm-registry-fetch": "^13.3.0",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-install": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz",
- "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.6.1.tgz",
+ "integrity": "sha512-PWJyqWzDQGkhn5/mr88yYfLF+t9NzHadcmMPYxv8lBTBUTZy9sdCw8k0uQ19lNUsI/DfMTLrcYZPSLxqe3mN8A==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/get-npm-exec-opts": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/get-npm-exec-opts": "5.6.1",
"fs-extra": "^9.1.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"signal-exit": "^3.0.3",
"write-pkg": "^4.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-publish": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz",
- "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.6.1.tgz",
+ "integrity": "sha512-eSotBP+mu6EtRIfhKsbQR3m5RnL7zxhZav1zxtnYvolKPjodLlGxzqcYCqTMdnR6GAIcInFh123uuTfZNzu9CA==",
"dev": true,
"dependencies": {
- "@lerna/otplease": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
+ "@lerna/otplease": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
"fs-extra": "^9.1.0",
- "libnpmpublish": "^4.0.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "libnpmpublish": "^6.0.4",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
- "read-package-json": "^3.0.0"
+ "read-package-json": "^5.0.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-run-script": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz",
- "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.6.1.tgz",
+ "integrity": "sha512-VRScf/chK01PxFCiH6j8GWOlS8w3dH4koq7tVX9OSi3FVwqrNvN7wky/AO7cKRyuTmdoG+puDsI7gHtGclYvrQ==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "@lerna/get-npm-exec-opts": "4.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.6.1",
+ "@lerna/get-npm-exec-opts": "5.6.1",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/otplease": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz",
- "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.6.1.tgz",
+ "integrity": "sha512-MbS09KoDHDvsFpnwIYOZ3lu5+d/bDUm2jQ+kcJe7VH3P37t84OFRXmixSVjf1xpLuvoXbSZZsfDsYx9VkAdq4w==",
"dev": true,
"dependencies": {
- "@lerna/prompt": "4.0.0"
+ "@lerna/prompt": "5.6.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/output": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz",
- "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/output/-/output-5.6.1.tgz",
+ "integrity": "sha512-XEUvLn8jOVL63PRcjwSd8SdjAJvWLDDNpq75hBfemHHSpcfc7qlqqkXWs+Mz1C938rub8MtPUj7ImEUo12k1KQ==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/pack-directory": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz",
- "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.6.1.tgz",
+ "integrity": "sha512-vmkvD4LnYJhPps+I9t03pV02rnZak4gyAh/St1lj/OYV9ecRWQWOqWIFhffKOFHBes3Lxmha8FMSN2IOkG1BxQ==",
"dev": true,
"dependencies": {
- "@lerna/get-packed": "4.0.0",
- "@lerna/package": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "npm-packlist": "^2.1.4",
- "npmlog": "^4.1.2",
- "tar": "^6.1.0",
- "temp-write": "^4.0.0"
+ "@lerna/get-packed": "5.6.1",
+ "@lerna/package": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/temp-write": "5.6.1",
+ "npm-packlist": "^5.1.1",
+ "npmlog": "^6.0.2",
+ "tar": "^6.1.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/package": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz",
- "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/package/-/package-5.6.1.tgz",
+ "integrity": "sha512-QTWoRe/wTETDrF9ByhctmyZpFl+UmwSJJUcsTd2pUqvd5QaOd1twXwZdc5/1Rr08Yxl0PZqJCtZYJDcXce0eRg==",
"dev": true,
"dependencies": {
"load-json-file": "^6.2.0",
- "npm-package-arg": "^8.1.0",
+ "npm-package-arg": "8.1.1",
"write-pkg": "^4.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/package-graph": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz",
- "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.6.1.tgz",
+ "integrity": "sha512-R3ToEGzFy5x1Po/eoOy8vsM2x/zxR26bFewDLUDWbs5lWDC7ml5v44JqjfWB869M/XprN55yz2/VE5NhEB6QsQ==",
"dev": true,
"dependencies": {
- "@lerna/prerelease-id-from-version": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "@lerna/prerelease-id-from-version": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/prerelease-id-from-version": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz",
- "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.6.1.tgz",
+ "integrity": "sha512-+ctzgoA1XAGbTQCeJjMEoQQCzCBW6WVAMVKNEOKrcsEVMb5gsKKSVha8WsKEzvK6gAC/x3pXemtuVWQvtYPw0Q==",
"dev": true,
"dependencies": {
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/profiler": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz",
- "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.6.1.tgz",
+ "integrity": "sha512-HxY0hg5iHxPzyHvb7gVkZzUG+jJKZ1fErATcC53+kA7qOBTGlz2huZ8gU+rpX3SlTJGodnZ5FwHQvHD2bzkTZg==",
"dev": true,
"dependencies": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"upath": "^2.0.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/project": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz",
- "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/project/-/project-5.6.1.tgz",
+ "integrity": "sha512-GlM+b4pyImtegQztMRsLAkSPCYfmAqCqtgkffjXQS9tMjXnUBqu4+gW/uMBTTOD2CKf+Nikwjc602rpRaUQLyw==",
"dev": true,
"dependencies": {
- "@lerna/package": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/package": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"cosmiconfig": "^7.0.0",
"dedent": "^0.7.0",
"dot-prop": "^6.0.1",
"glob-parent": "^5.1.1",
"globby": "^11.0.2",
+ "js-yaml": "^4.1.0",
"load-json-file": "^6.2.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"resolve-from": "^5.0.0",
"write-json-file": "^4.3.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/project/node_modules/cosmiconfig": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "dev": true,
+ "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/@lerna/project/node_modules/glob-parent": {
@@ -1887,6 +2081,24 @@
"node": ">= 6"
}
},
+ "node_modules/@lerna/project/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==",
+ "dev": true,
+ "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/@lerna/project/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -1897,258 +2109,299 @@
}
},
"node_modules/@lerna/prompt": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz",
- "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.6.1.tgz",
+ "integrity": "sha512-CZSHV2yK6I6+35IKz7Fh3SeNSPR4XuCFXsW0RuauTZoNffk3mP2pOt/CrI1P6yOj7tqcyjghzzv1gkINtrq4/w==",
"dev": true,
"dependencies": {
- "inquirer": "^7.3.3",
- "npmlog": "^4.1.2"
+ "inquirer": "^8.2.4",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/publish": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz",
- "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==",
- "dev": true,
- "dependencies": {
- "@lerna/check-working-tree": "4.0.0",
- "@lerna/child-process": "4.0.0",
- "@lerna/collect-updates": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/describe-ref": "4.0.0",
- "@lerna/log-packed": "4.0.0",
- "@lerna/npm-conf": "4.0.0",
- "@lerna/npm-dist-tag": "4.0.0",
- "@lerna/npm-publish": "4.0.0",
- "@lerna/otplease": "4.0.0",
- "@lerna/output": "4.0.0",
- "@lerna/pack-directory": "4.0.0",
- "@lerna/prerelease-id-from-version": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "@lerna/version": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-5.6.1.tgz",
+ "integrity": "sha512-J2zYyDGXs44YQ1h19933F9bm3fjog0gNpD27kL7Zw2nrMrR/LAuxNIFT/0ljtZSuMjlXllxZ7Kyxyz1gvMv3cA==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/check-working-tree": "5.6.1",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/describe-ref": "5.6.1",
+ "@lerna/log-packed": "5.6.1",
+ "@lerna/npm-conf": "5.6.1",
+ "@lerna/npm-dist-tag": "5.6.1",
+ "@lerna/npm-publish": "5.6.1",
+ "@lerna/otplease": "5.6.1",
+ "@lerna/output": "5.6.1",
+ "@lerna/pack-directory": "5.6.1",
+ "@lerna/prerelease-id-from-version": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@lerna/version": "5.6.1",
"fs-extra": "^9.1.0",
- "libnpmaccess": "^4.0.1",
- "npm-package-arg": "^8.1.0",
- "npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2",
+ "libnpmaccess": "^6.0.3",
+ "npm-package-arg": "8.1.1",
+ "npm-registry-fetch": "^13.3.0",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
- "pacote": "^11.2.6",
+ "pacote": "^13.6.1",
"semver": "^7.3.4"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/pulse-till-done": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz",
- "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.6.1.tgz",
+ "integrity": "sha512-SCD1gCSkC4roOvCB0GTvnFrYVTLX7o9TXykyg5UTXb/XRMNqr9ZBFH7qZHJnleO9x3eMk1oh4W1rvfFIITyRjw==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/query-graph": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz",
- "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.6.1.tgz",
+ "integrity": "sha512-ySXS5Ur/GtrBOr+u5FZxrcH0xD3LsBSu68OEPNnMIAdt66AOhh6K4OXmc58biTN0sWAdnE43mulqA87bZH0aMg==",
"dev": true,
"dependencies": {
- "@lerna/package-graph": "4.0.0"
+ "@lerna/package-graph": "5.6.1"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/resolve-symlink": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz",
- "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.6.1.tgz",
+ "integrity": "sha512-25TdowB5dIVycCJWyZGBDPSz6LoFOi/YRh85+dL1RrvxmvfiDwjrJ8P4eDl03/fDSV9YTFVYYmR8r1K2Vw8kQg==",
"dev": true,
"dependencies": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
- "read-cmd-shim": "^2.0.0"
+ "npmlog": "^6.0.2",
+ "read-cmd-shim": "^3.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/rimraf-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz",
- "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.6.1.tgz",
+ "integrity": "sha512-1lm5FIiwFOpSzCMyNF90HX6NWHzDmY47TgDs07416B8ghMtZgb5aLMHi/aoarqWopn4X0ae3lxsZjUEOhSAWgA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "4.0.0",
- "npmlog": "^4.1.2",
+ "@lerna/child-process": "5.6.1",
+ "npmlog": "^6.0.2",
"path-exists": "^4.0.0",
"rimraf": "^3.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/run": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz",
- "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==",
- "dev": true,
- "dependencies": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/npm-run-script": "4.0.0",
- "@lerna/output": "4.0.0",
- "@lerna/profiler": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/timer": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/run/-/run-5.6.1.tgz",
+ "integrity": "sha512-kb4hwnhth3GKWIxoNlA/xdDUWGbK67yx1aLEyZjssmMemxfSKxvqrNB+TaHAPSz27hyAKqnOL9Ym/YkAt7s59A==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/npm-run-script": "5.6.1",
+ "@lerna/output": "5.6.1",
+ "@lerna/profiler": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/timer": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "fs-extra": "^9.1.0",
"p-map": "^4.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/run-lifecycle": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz",
- "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.6.1.tgz",
+ "integrity": "sha512-LkEvYDVYNX2mUY3PoNoDDBPDMofzNa5dHvAg7P2NVpffE41VbWBI0c0Q7uhN9nGuCksvsqamTffvmPdU9lCffA==",
"dev": true,
"dependencies": {
- "@lerna/npm-conf": "4.0.0",
- "npm-lifecycle": "^3.1.5",
- "npmlog": "^4.1.2"
+ "@lerna/npm-conf": "5.6.1",
+ "@npmcli/run-script": "^4.1.7",
+ "npmlog": "^6.0.2",
+ "p-queue": "^6.6.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/run-topologically": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz",
- "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.6.1.tgz",
+ "integrity": "sha512-UjOppd/1dSQxDfIjQIJOH+c/lLwuTKSNyd9uKhII11OnpO+gmBP1kvA65k1cm9EZVky63o7X9/O+oTB8Tr8C3g==",
"dev": true,
"dependencies": {
- "@lerna/query-graph": "4.0.0",
+ "@lerna/query-graph": "5.6.1",
"p-queue": "^6.6.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/symlink-binary": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz",
- "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.6.1.tgz",
+ "integrity": "sha512-Y9x8gvvAP281467+QPwp56L6DDGdWtt24pREyWF7D+FIRcooJ29pn2C3B0rmzd5Ti63/6mrfCipUp9DXSWGwNg==",
"dev": true,
"dependencies": {
- "@lerna/create-symlink": "4.0.0",
- "@lerna/package": "4.0.0",
+ "@lerna/create-symlink": "5.6.1",
+ "@lerna/package": "5.6.1",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/symlink-dependencies": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz",
- "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.6.1.tgz",
+ "integrity": "sha512-lKnJFbEpIdj9R70cpRor6vf3pxBnvk0RF7fwiTlWpF2BmlBYVihM+lML2vCts5G7ZBSQ9zTVyIqlCXG3qhyoxQ==",
"dev": true,
"dependencies": {
- "@lerna/create-symlink": "4.0.0",
- "@lerna/resolve-symlink": "4.0.0",
- "@lerna/symlink-binary": "4.0.0",
+ "@lerna/create-symlink": "5.6.1",
+ "@lerna/resolve-symlink": "5.6.1",
+ "@lerna/symlink-binary": "5.6.1",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/temp-write": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.6.1.tgz",
+ "integrity": "sha512-o0MOTsAfvMM8RC2o1wQ//F05hUd/cZJjBH8PKTrgXINDweW9VFey2fuUdL7TCpzgC4MUenL2x1nV6o8w87nFOQ==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.15",
+ "is-stream": "^2.0.0",
+ "make-dir": "^3.0.0",
+ "temp-dir": "^1.0.0",
+ "uuid": "^8.3.2"
+ }
+ },
+ "node_modules/@lerna/temp-write/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@lerna/timer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz",
- "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-5.6.1.tgz",
+ "integrity": "sha512-MALjTi1KuYZeRPH18xttlJb6+BLAcVuwGIsSYHBREkuXdRwW1oEcnnN5xzGsMGpG0KRxWu5wgNgc94aH/MCz6A==",
"dev": true,
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/validation-error": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz",
- "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.6.1.tgz",
+ "integrity": "sha512-0Kl9SmRb72bcXANdRO3fjuz+hHhHL9AEl/exCGODaT+PYAC+xH717Xj2ts/1u4qNuLlsQEE6+iVhAAMLUv86CA==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/version": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz",
- "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==",
- "dev": true,
- "dependencies": {
- "@lerna/check-working-tree": "4.0.0",
- "@lerna/child-process": "4.0.0",
- "@lerna/collect-updates": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/conventional-commits": "4.0.0",
- "@lerna/github-client": "4.0.0",
- "@lerna/gitlab-client": "4.0.0",
- "@lerna/output": "4.0.0",
- "@lerna/prerelease-id-from-version": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/version/-/version-5.6.1.tgz",
+ "integrity": "sha512-s9WIzduXOxeLH2Vu0T2HLBe1ICd9gxUsB3tlUyQveIAGE5wBuTAIL3nGQ3ljImPzFnriPqcS0xa5PC2DaW9JLA==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/check-working-tree": "5.6.1",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/conventional-commits": "5.6.1",
+ "@lerna/github-client": "5.6.1",
+ "@lerna/gitlab-client": "5.6.1",
+ "@lerna/output": "5.6.1",
+ "@lerna/prerelease-id-from-version": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/temp-write": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@nrwl/devkit": ">=14.8.1 < 16",
"chalk": "^4.1.0",
"dedent": "^0.7.0",
"load-json-file": "^6.2.0",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
"p-reduce": "^2.1.0",
"p-waterfall": "^2.1.1",
"semver": "^7.3.4",
"slash": "^3.0.0",
- "temp-write": "^4.0.0",
"write-json-file": "^4.3.0"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/write-log-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz",
- "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.6.1.tgz",
+ "integrity": "sha512-wvgkL/tMozHbW6EkCFH7yLhLh5D3djRuwREsn5ptZxcCcay1RQjraON18yMX06mwsPfbpDItMH4D68q1dMSk5w==",
+ "dev": true,
+ "dependencies": {
+ "npmlog": "^6.0.2",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/write-log-file/node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2",
- "write-file-atomic": "^3.0.3"
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/@lit/reactive-element": {
@@ -2203,36 +2456,112 @@
"node": ">= 8"
}
},
- "node_modules/@npmcli/ci-detect": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz",
- "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==",
- "dev": true
+ "node_modules/@npmcli/arborist": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz",
+ "integrity": "sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==",
+ "dev": true,
+ "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/@npmcli/arborist/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@npmcli/arborist/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": true,
+ "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/@npmcli/fs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
- "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
+ "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
"dev": true,
"dependencies": {
- "@gar/promisify": "^1.0.1",
+ "@gar/promisify": "^1.1.3",
"semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/@npmcli/git": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz",
- "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz",
+ "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==",
"dev": true,
"dependencies": {
- "@npmcli/promise-spawn": "^1.3.2",
- "lru-cache": "^6.0.0",
+ "@npmcli/promise-spawn": "^3.0.0",
+ "lru-cache": "^7.4.4",
"mkdirp": "^1.0.4",
- "npm-pick-manifest": "^6.1.1",
+ "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/@npmcli/installed-package-contents": {
@@ -2251,135 +2580,242 @@
"node": ">= 10"
}
},
+ "node_modules/@npmcli/map-workspaces": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz",
+ "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==",
+ "dev": true,
+ "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/@npmcli/map-workspaces/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==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@npmcli/map-workspaces/node_modules/glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "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/@npmcli/map-workspaces/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/metavuln-calculator": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz",
+ "integrity": "sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==",
+ "dev": true,
+ "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/@npmcli/move-file": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
- "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+ "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
"dev": true,
"dependencies": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/@npmcli/node-gyp": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz",
- "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==",
+ "node_modules/@npmcli/name-from-folder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz",
+ "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==",
"dev": true
},
+ "node_modules/@npmcli/node-gyp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz",
+ "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@npmcli/package-json": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz",
+ "integrity": "sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==",
+ "dev": true,
+ "dependencies": {
+ "json-parse-even-better-errors": "^2.3.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
"node_modules/@npmcli/promise-spawn": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz",
- "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz",
+ "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==",
"dev": true,
"dependencies": {
"infer-owner": "^1.0.4"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/@npmcli/run-script": {
- "version": "1.8.6",
- "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz",
- "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz",
+ "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==",
+ "dev": true,
+ "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/@nrwl/cli": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-14.8.3.tgz",
+ "integrity": "sha512-a8URAbqyZvegXMYU8pCA3Hfv0UdiDJc6HboazxinCJJgZWyqKYxRIWmKiWnfpXsr+qF6ntmBR/tC6yHbOL22gQ==",
"dev": true,
"dependencies": {
- "@npmcli/node-gyp": "^1.0.2",
- "@npmcli/promise-spawn": "^1.3.2",
- "node-gyp": "^7.1.0",
- "read-package-json-fast": "^2.0.1"
+ "nx": "14.8.3"
}
},
- "node_modules/@npmcli/run-script/node_modules/node-gyp": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
- "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
+ "node_modules/@nrwl/devkit": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-14.8.3.tgz",
+ "integrity": "sha512-jEH+oKS4F4MJvoIe0Zw6zUODO2j2ib7f+62D4lMDKl5qopcgnKyU9rVnSCDolqCH81j326dfr8b7FfE6Z7p71A==",
"dev": true,
"dependencies": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.3",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "request": "^2.88.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.2",
- "tar": "^6.0.2",
- "which": "^2.0.2"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
+ "@phenomnomnominal/tsquery": "4.1.1",
+ "ejs": "^3.1.7",
+ "ignore": "^5.0.4",
+ "tslib": "^2.3.0"
},
- "engines": {
- "node": ">= 10.12.0"
+ "peerDependencies": {
+ "nx": ">= 13.10 <= 15"
}
},
- "node_modules/@npmcli/run-script/node_modules/nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "node_modules/@nrwl/tao": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-14.8.3.tgz",
+ "integrity": "sha512-lN7+1biSM/7PYMMgh3jjOXJ9fe6VjhVrtZsDcB6lcklpShjXfHXqlpXDM7vjlw19aLeZMdFWHFoU2C5BTBtzgQ==",
"dev": true,
"dependencies": {
- "abbrev": "1"
+ "nx": "14.8.3"
},
"bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
+ "tao": "index.js"
}
},
"node_modules/@octokit/auth-token": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
- "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.1.tgz",
+ "integrity": "sha512-/USkK4cioY209wXRpund6HZzHo9GmjakpV9ycOkpMcMxMk7QVcVFVyCMtzvXYiHsB2crgDgrtNYSELYFBXhhaA==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.0.3"
+ "@octokit/types": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/core": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
- "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.0.5.tgz",
+ "integrity": "sha512-4R3HeHTYVHCfzSAi0C6pbGXV8UDI5Rk+k3G7kLVNckswN9mvpOzW9oENfjfH3nEmzg8y3AmKmzs8Sg6pLCeOCA==",
"dev": true,
"dependencies": {
- "@octokit/auth-token": "^2.4.4",
- "@octokit/graphql": "^4.5.8",
- "@octokit/request": "^5.6.3",
- "@octokit/request-error": "^2.0.5",
- "@octokit/types": "^6.0.3",
+ "@octokit/auth-token": "^3.0.0",
+ "@octokit/graphql": "^5.0.0",
+ "@octokit/request": "^6.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^7.0.0",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/endpoint": {
- "version": "6.0.12",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
- "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.2.tgz",
+ "integrity": "sha512-8/AUACfE9vpRpehE6ZLfEtzkibe5nfsSwFZVMsG8qabqRt1M81qZYUFRZa1B8w8lP6cdfDJfRq9HWS+MbmR7tw==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.0.3",
+ "@octokit/types": "^7.0.0",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/graphql": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
- "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.1.tgz",
+ "integrity": "sha512-sxmnewSwAixkP1TrLdE6yRG53eEhHhDTYUykUwdV9x8f91WcbhunIHk9x1PZLALdBZKRPUO2HRcm4kezZ79HoA==",
"dev": true,
"dependencies": {
- "@octokit/request": "^5.6.0",
- "@octokit/types": "^6.0.3",
+ "@octokit/request": "^6.0.0",
+ "@octokit/types": "^7.0.0",
"universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/openapi-types": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz",
- "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==",
+ "version": "13.13.1",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.13.1.tgz",
+ "integrity": "sha512-4EuKSk3N95UBWFau3Bz9b3pheQ8jQYbKmBL5+GSuY8YDPDwu03J4BjI+66yNi8aaX/3h1qDpb0mbBkLdr+cfGQ==",
"dev": true
},
"node_modules/@octokit/plugin-enterprise-rest": {
@@ -2389,15 +2825,18 @@
"dev": true
},
"node_modules/@octokit/plugin-paginate-rest": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz",
- "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-4.3.1.tgz",
+ "integrity": "sha512-h8KKxESmSFTcXX409CAxlaOYscEDvN2KGQRsLCGT1NSqRW+D6EXLVQ8vuHhFznS9MuH9QYw1GfsUN30bg8hjVA==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.34.0"
+ "@octokit/types": "^7.5.0"
+ },
+ "engines": {
+ "node": ">= 14"
},
"peerDependencies": {
- "@octokit/core": ">=2"
+ "@octokit/core": ">=4"
}
},
"node_modules/@octokit/plugin-request-log": {
@@ -2410,62 +2849,104 @@
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "5.13.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz",
- "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.6.2.tgz",
+ "integrity": "sha512-n9dL5KMpz9qVFSNdcVWC8ZPbl68QbTk7+CMPXCXqaMZOLn1n1YuoSFFCy84Ge0fx333fUqpnBHv8BFjwGtUQkA==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.34.0",
+ "@octokit/types": "^7.5.0",
"deprecation": "^2.3.1"
},
+ "engines": {
+ "node": ">= 14"
+ },
"peerDependencies": {
"@octokit/core": ">=3"
}
},
"node_modules/@octokit/request": {
- "version": "5.6.3",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
- "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.1.tgz",
+ "integrity": "sha512-gYKRCia3cpajRzDSU+3pt1q2OcuC6PK8PmFIyxZDWCzRXRSIBH8jXjFJ8ZceoygBIm0KsEUg4x1+XcYBz7dHPQ==",
"dev": true,
"dependencies": {
- "@octokit/endpoint": "^6.0.1",
- "@octokit/request-error": "^2.1.0",
- "@octokit/types": "^6.16.1",
+ "@octokit/endpoint": "^7.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^7.0.0",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.7",
"universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/request-error": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
- "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.1.tgz",
+ "integrity": "sha512-ym4Bp0HTP7F3VFssV88WD1ZyCIRoE8H35pXSKwLeMizcdZAYc/t6N9X9Yr9n6t3aG9IH75XDnZ6UeZph0vHMWQ==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.0.3",
+ "@octokit/types": "^7.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/rest": {
- "version": "18.12.0",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
- "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
+ "version": "19.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.4.tgz",
+ "integrity": "sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA==",
"dev": true,
"dependencies": {
- "@octokit/core": "^3.5.1",
- "@octokit/plugin-paginate-rest": "^2.16.8",
+ "@octokit/core": "^4.0.0",
+ "@octokit/plugin-paginate-rest": "^4.0.0",
"@octokit/plugin-request-log": "^1.0.4",
- "@octokit/plugin-rest-endpoint-methods": "^5.12.0"
+ "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@octokit/types": {
- "version": "6.34.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz",
- "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.5.1.tgz",
+ "integrity": "sha512-Zk4OUMLCSpXNI8KZZn47lVLJSsgMyCimsWWQI5hyjZg7hdYm0kjotaIkbG0Pp8SfU2CofMBzonboTqvzn3FrJA==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/openapi-types": "^13.11.0"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@phenomnomnominal/tsquery": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz",
+ "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==",
"dev": true,
"dependencies": {
- "@octokit/openapi-types": "^11.2.0"
+ "esquery": "^1.0.1"
+ },
+ "peerDependencies": {
+ "typescript": "^3 || ^4"
}
},
"node_modules/@sinonjs/commons": {
@@ -2484,6 +2965,53 @@
"@sinonjs/commons": "^1.7.0"
}
},
+ "node_modules/@testing-library/dom": {
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.18.1.tgz",
+ "integrity": "sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^4.2.0",
+ "aria-query": "^5.0.0",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.4.4",
+ "pretty-format": "^27.0.2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@testing-library/react": {
+ "version": "12.1.5",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz",
+ "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@testing-library/dom": "^8.0.0",
+ "@types/react-dom": "<18.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "react": "<18.0.0",
+ "react-dom": "<18.0.0"
+ }
+ },
+ "node_modules/@testing-library/user-event": {
+ "version": "14.4.3",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz",
+ "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==",
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@testing-library/dom": ">=7.21.4"
+ }
+ },
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -2493,6 +3021,11 @@
"node": ">= 6"
}
},
+ "node_modules/@types/aria-query": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz",
+ "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig=="
+ },
"node_modules/@types/babel__core": {
"version": "7.1.19",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
@@ -2526,9 +3059,9 @@
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.14.2",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz",
- "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==",
+ "version": "7.18.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz",
+ "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==",
"dev": true,
"dependencies": {
"@babel/types": "^7.3.0"
@@ -2596,9 +3129,9 @@
}
},
"node_modules/@types/jest": {
- "version": "27.4.1",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz",
- "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==",
+ "version": "27.5.2",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz",
+ "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==",
"dev": true,
"dependencies": {
"jest-matcher-utils": "^27.0.0",
@@ -2606,15 +3139,15 @@
}
},
"node_modules/@types/json-schema": {
- "version": "7.0.10",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz",
- "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==",
+ "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==",
"dev": true
},
"node_modules/@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/minimatch": {
@@ -2655,16 +3188,44 @@
"dev": true
},
"node_modules/@types/prettier": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz",
- "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==",
"dev": true
},
+ "node_modules/@types/prop-types": {
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ },
"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=="
},
+ "node_modules/@types/react": {
+ "version": "17.0.50",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz",
+ "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "17.0.17",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz",
+ "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==",
+ "dependencies": {
+ "@types/react": "^17"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ },
"node_modules/@types/stack-utils": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
@@ -2689,19 +3250,18 @@
"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz",
- "integrity": "sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz",
+ "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.16.0",
- "@typescript-eslint/type-utils": "5.16.0",
- "@typescript-eslint/utils": "5.16.0",
- "debug": "^4.3.2",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.1.8",
+ "@typescript-eslint/scope-manager": "5.39.0",
+ "@typescript-eslint/type-utils": "5.39.0",
+ "@typescript-eslint/utils": "5.39.0",
+ "debug": "^4.3.4",
+ "ignore": "^5.2.0",
"regexpp": "^3.2.0",
- "semver": "^7.3.5",
+ "semver": "^7.3.7",
"tsutils": "^3.21.0"
},
"engines": {
@@ -2722,15 +3282,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz",
- "integrity": "sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz",
+ "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.16.0",
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/typescript-estree": "5.16.0",
- "debug": "^4.3.2"
+ "@typescript-eslint/scope-manager": "5.39.0",
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/typescript-estree": "5.39.0",
+ "debug": "^4.3.4"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2749,13 +3309,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz",
- "integrity": "sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz",
+ "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/visitor-keys": "5.16.0"
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/visitor-keys": "5.39.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2766,13 +3326,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz",
- "integrity": "sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz",
+ "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/utils": "5.16.0",
- "debug": "^4.3.2",
+ "@typescript-eslint/typescript-estree": "5.39.0",
+ "@typescript-eslint/utils": "5.39.0",
+ "debug": "^4.3.4",
"tsutils": "^3.21.0"
},
"engines": {
@@ -2792,9 +3353,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz",
- "integrity": "sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz",
+ "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2805,17 +3366,17 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz",
- "integrity": "sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz",
+ "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/visitor-keys": "5.16.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/visitor-keys": "5.39.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
"is-glob": "^4.0.3",
- "semver": "^7.3.5",
+ "semver": "^7.3.7",
"tsutils": "^3.21.0"
},
"engines": {
@@ -2832,15 +3393,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz",
- "integrity": "sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz",
+ "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.16.0",
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/typescript-estree": "5.16.0",
+ "@typescript-eslint/scope-manager": "5.39.0",
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/typescript-estree": "5.39.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
@@ -2856,13 +3417,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz",
- "integrity": "sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz",
+ "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.16.0",
- "eslint-visitor-keys": "^3.0.0"
+ "@typescript-eslint/types": "5.39.0",
+ "eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2957,6 +3518,11 @@
"csstype": "^2.6.8"
}
},
+ "node_modules/@vue/runtime-dom/node_modules/csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ },
"node_modules/@vue/server-renderer": {
"version": "3.2.40",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.40.tgz",
@@ -2974,10 +3540,63 @@
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz",
"integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ=="
},
+ "node_modules/@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "dev": true
+ },
+ "node_modules/@yarnpkg/parsers": {
+ "version": "3.0.0-rc.22",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.22.tgz",
+ "integrity": "sha512-GAWDjXduYBUVmOzlj3X0OwTQ1BV4ZeDdgw8yXST3K0lB95drWEGxa1at0v7BmHDyK2y1F1IJufc8N4yrcuXjWg==",
+ "dev": true,
+ "dependencies": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/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/@yarnpkg/parsers/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/@zkochan/js-yaml": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+ "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
"node_modules/abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
"dev": true
},
"node_modules/abbrev": {
@@ -2987,9 +3606,9 @@
"dev": true
},
"node_modules/acorn": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
- "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -3041,7 +3660,7 @@
"node_modules/add-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
- "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=",
+ "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
"dev": true
},
"node_modules/agent-base": {
@@ -3098,6 +3717,15 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "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==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -3134,11 +3762,14 @@
}
},
"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==",
+ "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": ">=10"
+ "node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
@@ -3164,37 +3795,16 @@
"dev": true
},
"node_modules/are-we-there-yet": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
- "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+ "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
"dev": true,
"dependencies": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "node_modules/are-we-there-yet/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/are-we-there-yet/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/argparse": {
@@ -3203,6 +3813,14 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
+ "node_modules/aria-query": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz",
+ "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
"node_modules/arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -3239,18 +3857,18 @@
"node_modules/array-ify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
- "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
+ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
"dev": true
},
"node_modules/array-includes": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
- "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
+ "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5",
"get-intrinsic": "^1.1.1",
"is-string": "^1.0.7"
},
@@ -3287,14 +3905,15 @@
}
},
"node_modules/array.prototype.flat": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz",
- "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
+ "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.19.0"
+ "es-abstract": "^1.19.2",
+ "es-shim-unscopables": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -3306,7 +3925,7 @@
"node_modules/arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -3315,25 +3934,7 @@
"node_modules/asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
- },
- "node_modules/asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
"node_modules/assign-symbols": {
"version": "1.0.0",
@@ -3343,10 +3944,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
+ },
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/at-least-node": {
"version": "1.0.0",
@@ -3368,21 +3975,15 @@
"node": ">= 4.5.0"
}
},
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "node_modules/axios": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
+ "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"dev": true,
- "engines": {
- "node": "*"
+ "dependencies": {
+ "follow-redirects": "^1.10.0"
}
},
- "node_modules/aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
"node_modules/babel-jest": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
@@ -3508,21 +4109,91 @@
"node": ">=0.10.0"
}
},
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "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==",
"dev": true,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- }
+ "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/before-after-hook": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
- "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
"dev": true
},
+ "node_modules/bin-links": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz",
+ "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==",
+ "dev": true,
+ "dependencies": {
+ "cmd-shim": "^5.0.0",
+ "mkdirp-infer-owner": "^2.0.0",
+ "npm-normalize-package-bin": "^2.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/bin-links/node_modules/npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/bin-links/node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -3550,9 +4221,9 @@
"dev": true
},
"node_modules/browserslist": {
- "version": "4.20.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
- "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
+ "version": "4.21.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
"dev": true,
"funding": [
{
@@ -3565,11 +4236,10 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001317",
- "electron-to-chromium": "^1.4.84",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.2",
- "picocolors": "^1.0.0"
+ "caniuse-lite": "^1.0.30001400",
+ "electron-to-chromium": "^1.4.251",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.9"
},
"bin": {
"browserslist": "cli.js"
@@ -3599,24 +4269,42 @@
"node-int64": "^0.4.0"
}
},
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "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": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
"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/builtins": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
- "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
- "dev": true
- },
- "node_modules/byline": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
- "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "dependencies": {
+ "semver": "^7.0.0"
}
},
"node_modules/byte-size": {
@@ -3629,32 +4317,72 @@
}
},
"node_modules/cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "version": "16.1.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
+ "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
"dev": true,
"dependencies": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
+ "@npmcli/fs": "^2.1.0",
+ "@npmcli/move-file": "^2.0.0",
"chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
+ "fs-minipass": "^2.1.0",
+ "glob": "^8.0.1",
"infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
+ "minipass-pipeline": "^1.2.4",
+ "mkdirp": "^1.0.4",
"p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
"rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
+ "ssri": "^9.0.0",
+ "tar": "^6.1.11",
+ "unique-filename": "^2.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/cacache/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==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/cacache/node_modules/glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "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/cacache/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/cache-base": {
@@ -3696,7 +4424,7 @@
"node_modules/caller-callsite": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==",
"dev": true,
"dependencies": {
"callsites": "^2.0.0"
@@ -3708,7 +4436,7 @@
"node_modules/caller-callsite/node_modules/callsites": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==",
"dev": true,
"engines": {
"node": ">=4"
@@ -3717,7 +4445,7 @@
"node_modules/caller-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==",
"dev": true,
"dependencies": {
"caller-callsite": "^2.0.0"
@@ -3762,9 +4490,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001319",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
- "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==",
+ "version": "1.0.30001418",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz",
+ "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==",
"dev": true,
"funding": [
{
@@ -3780,7 +4508,7 @@
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
},
"node_modules/chalk": {
"version": "4.1.2",
@@ -3797,36 +4525,6 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/chalk/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/chalk/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/chalk/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/char-regex": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
@@ -3842,6 +4540,45 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "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/chokidar/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==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -3852,9 +4589,10 @@
}
},
"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=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
},
"node_modules/cjs-module-lexer": {
"version": "1.2.2",
@@ -3972,6 +4710,18 @@
"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==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/cli-width": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
@@ -3995,7 +4745,7 @@
"node_modules/clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"dev": true,
"engines": {
"node": ">=0.8"
@@ -4028,36 +4778,27 @@
}
},
"node_modules/cmd-shim": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz",
- "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz",
+ "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==",
"dev": true,
"dependencies": {
"mkdirp-infer-owner": "^2.0.0"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
"dev": true,
"engines": {
"iojs": ">= 1.0.0",
"node": ">= 0.12.0"
}
},
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.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",
@@ -4077,17 +4818,29 @@
}
},
"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==",
+ "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.3"
+ "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-support": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true,
+ "bin": {
+ "color-support": "bin.js"
+ }
},
"node_modules/columnify": {
"version": "1.6.0",
@@ -4122,6 +4875,12 @@
"node": ">= 12.0.0"
}
},
+ "node_modules/common-ancestor-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz",
+ "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==",
+ "dev": true
+ },
"node_modules/compare-func": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
@@ -4152,7 +4911,7 @@
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"node_modules/concat-stream": {
"version": "2.0.0",
@@ -4182,7 +4941,7 @@
"node_modules/console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
"dev": true
},
"node_modules/conventional-changelog-angular": {
@@ -4223,6 +4982,92 @@
"node": ">=10"
}
},
+ "node_modules/conventional-changelog-core/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "node_modules/conventional-changelog-core/node_modules/load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/conventional-changelog-core/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/conventional-changelog-preset-loader": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz",
@@ -4337,44 +5182,87 @@
}
},
"node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cosmiconfig": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
"dev": true,
"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"
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=4"
}
},
- "node_modules/cp-file": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz",
- "integrity": "sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==",
+ "node_modules/cosmiconfig/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": {
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "nested-error-stacks": "^2.0.0",
- "p-event": "^4.1.0"
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/cosmiconfig/node_modules/import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==",
+ "dev": true,
+ "dependencies": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
- "node_modules/cpy": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.2.tgz",
- "integrity": "sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==",
+ "node_modules/cosmiconfig/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/cosmiconfig/node_modules/resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cp-file": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz",
+ "integrity": "sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "nested-error-stacks": "^2.0.0",
+ "p-event": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cpy": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.2.tgz",
+ "integrity": "sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==",
"dependencies": {
"arrify": "^2.0.1",
"cp-file": "^7.0.0",
@@ -4704,9 +5592,9 @@
"dev": true
},
"node_modules/csstype": {
- "version": "2.6.21",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
},
"node_modules/dargs": {
"version": "7.0.0",
@@ -4717,18 +5605,6 @@
"node": ">=8"
}
},
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/data-urls": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
@@ -4778,7 +5654,7 @@
"node_modules/debuglog": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
- "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+ "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==",
"dev": true,
"engines": {
"node": "*"
@@ -4787,7 +5663,7 @@
"node_modules/decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -4796,7 +5672,7 @@
"node_modules/decamelize-keys": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
- "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==",
"dev": true,
"dependencies": {
"decamelize": "^1.1.0",
@@ -4809,22 +5685,22 @@
"node_modules/decamelize-keys/node_modules/map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/decimal.js": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
- "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.1.tgz",
+ "integrity": "sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw==",
"dev": true
},
"node_modules/decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==",
"engines": {
"node": ">=0.10"
}
@@ -4832,7 +5708,7 @@
"node_modules/dedent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
"dev": true
},
"node_modules/deep-is": {
@@ -4853,22 +5729,35 @@
"node_modules/defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
"dev": true,
"dependencies": {
"clone": "^1.0.2"
}
},
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
"dev": true,
"dependencies": {
- "object-keys": "^1.0.12"
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/define-property": {
@@ -4886,7 +5775,7 @@
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
@@ -4894,13 +5783,13 @@
"node_modules/delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"dev": true
},
"node_modules/depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -4931,9 +5820,9 @@
}
},
"node_modules/dezalgo": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
- "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+ "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",
@@ -4973,6 +5862,11 @@
"node": ">=6.0.0"
}
},
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.14",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz",
+ "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg=="
+ },
"node_modules/domexception": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
@@ -5009,26 +5903,40 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
"dev": true
},
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "node_modules/ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"dev": true,
"dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.89",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.89.tgz",
- "integrity": "sha512-z1Axg0Fu54fse8wN4fd+GAINdU5mJmLtcl6bqIcYyzNVGONcfHAeeJi88KYMQVKalhXlYuVPzKkFIU5VD0raUw==",
+ "version": "1.4.275",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz",
+ "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==",
"dev": true
},
"node_modules/emittery": {
@@ -5079,6 +5987,18 @@
"once": "^1.4.0"
}
},
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/env-paths": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
@@ -5116,31 +6036,35 @@
}
},
"node_modules/es-abstract": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
- "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==",
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
+ "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
- "get-intrinsic": "^1.1.1",
+ "function.prototype.name": "^1.1.5",
+ "get-intrinsic": "^1.1.3",
"get-symbol-description": "^1.0.0",
"has": "^1.0.3",
- "has-symbols": "^1.0.2",
+ "has-property-descriptors": "^1.0.0",
+ "has-symbols": "^1.0.3",
"internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
- "is-negative-zero": "^2.0.1",
+ "is-callable": "^1.2.7",
+ "is-negative-zero": "^2.0.2",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.1",
+ "is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
- "is-weakref": "^1.0.1",
- "object-inspect": "^1.11.0",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.12.2",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "string.prototype.trimend": "^1.0.4",
- "string.prototype.trimstart": "^1.0.4",
- "unbox-primitive": "^1.0.1"
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.4.3",
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trimend": "^1.0.5",
+ "string.prototype.trimstart": "^1.0.5",
+ "unbox-primitive": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -5149,6 +6073,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-shim-unscopables": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
+ "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ }
+ },
"node_modules/es-to-primitive": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
@@ -5221,7 +6154,7 @@
"node_modules/escodegen/node_modules/levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
"dev": true,
"dependencies": {
"prelude-ls": "~1.1.2",
@@ -5251,7 +6184,7 @@
"node_modules/escodegen/node_modules/prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
"dev": true,
"engines": {
"node": ">= 0.8.0"
@@ -5260,7 +6193,7 @@
"node_modules/escodegen/node_modules/type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
"dev": true,
"dependencies": {
"prelude-ls": "~1.1.2"
@@ -5270,13 +6203,15 @@
}
},
"node_modules/eslint": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz",
- "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==",
+ "version": "8.24.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz",
+ "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==",
"dev": true,
"dependencies": {
- "@eslint/eslintrc": "^1.2.1",
- "@humanwhocodes/config-array": "^0.9.2",
+ "@eslint/eslintrc": "^1.3.2",
+ "@humanwhocodes/config-array": "^0.10.5",
+ "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+ "@humanwhocodes/module-importer": "^1.0.1",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -5286,30 +6221,32 @@
"eslint-scope": "^7.1.1",
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.3.0",
- "espree": "^9.3.1",
+ "espree": "^9.4.0",
"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",
+ "find-up": "^5.0.0",
"glob-parent": "^6.0.1",
- "globals": "^13.6.0",
+ "globals": "^13.15.0",
+ "globby": "^11.1.0",
+ "grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
+ "js-sdsl": "^4.1.4",
"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",
+ "minimatch": "^3.1.2",
"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"
+ "text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
@@ -5353,16 +6290,20 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
- "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
+ "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
"dev": true,
"dependencies": {
- "debug": "^3.2.7",
- "find-up": "^2.1.0"
+ "debug": "^3.2.7"
},
"engines": {
"node": ">=4"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ }
}
},
"node_modules/eslint-module-utils/node_modules/debug": {
@@ -5390,9 +6331,9 @@
}
},
"node_modules/eslint-plugin-import": {
- "version": "2.25.4",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
- "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
+ "version": "2.26.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
+ "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
"dev": true,
"dependencies": {
"array-includes": "^3.1.4",
@@ -5400,14 +6341,14 @@
"debug": "^2.6.9",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.2",
+ "eslint-module-utils": "^2.7.3",
"has": "^1.0.3",
- "is-core-module": "^2.8.0",
+ "is-core-module": "^2.8.1",
"is-glob": "^4.0.3",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"object.values": "^1.1.5",
- "resolve": "^1.20.0",
- "tsconfig-paths": "^3.12.0"
+ "resolve": "^1.22.0",
+ "tsconfig-paths": "^3.14.1"
},
"engines": {
"node": ">=4"
@@ -5440,19 +6381,19 @@
"node_modules/eslint-plugin-import/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/eslint-plugin-jest": {
- "version": "26.1.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.2.tgz",
- "integrity": "sha512-1bXCoRODPkGN06n9KAMls4Jm0eyS+0Q/LWcIxhqWR2ycV0Z7lnx2c10idk4dtFIJY5xStgiIr5snC6/rxcXpbw==",
+ "version": "26.9.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz",
+ "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "^5.10.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"peerDependencies": {
"@typescript-eslint/eslint-plugin": "^5.0.0",
@@ -5468,9 +6409,9 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
- "version": "38.0.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.6.tgz",
- "integrity": "sha512-Wvh5ERLUL8zt2yLZ8LLgi8RuF2UkjDvD+ri1/i7yMpbfreK2S29B9b5JC7iBIoFR7KDaEWCLnUPHTqgwcXX1Sg==",
+ "version": "38.1.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz",
+ "integrity": "sha512-n4s95oYlg0L43Bs8C0dkzIldxYf8pLCutC/tCbjIdF7VDiobuzPI+HZn9Q0BvgOvgPNgh5n7CSStql25HUG4Tw==",
"dev": true,
"dependencies": {
"@es-joy/jsdoccomment": "~0.22.1",
@@ -5503,15 +6444,15 @@
}
},
"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==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
"dev": true,
"dependencies": {
"prettier-linter-helpers": "^1.0.0"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=12.0.0"
},
"peerDependencies": {
"eslint": ">=7.28.0",
@@ -5595,17 +6536,20 @@
}
},
"node_modules/espree": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
- "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+ "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
"dev": true,
"dependencies": {
- "acorn": "^8.7.0",
- "acorn-jsx": "^5.3.1",
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/esprima": {
@@ -5693,32 +6637,94 @@
"dev": true
},
"node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"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"
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=6"
+ }
+ },
+ "node_modules/execa/node_modules/cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "dependencies": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
},
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ "engines": {
+ "node": ">=4.8"
+ }
+ },
+ "node_modules/execa/node_modules/path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/execa/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/execa/node_modules/shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/execa/node_modules/shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/execa/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
}
},
"node_modules/exit": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
"dev": true,
"engines": {
"node": ">= 0.8.0"
@@ -5864,12 +6870,6 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
"node_modules/extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -5944,15 +6944,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ]
- },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -5966,9 +6957,9 @@
"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==",
+ "version": "3.2.12",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -6002,7 +6993,7 @@
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
"dev": true
},
"node_modules/fastq": {
@@ -6015,9 +7006,9 @@
}
},
"node_modules/fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"dev": true,
"dependencies": {
"bser": "2.1.1"
@@ -6041,7 +7032,7 @@
"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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
"engines": {
"node": ">=0.8.0"
@@ -6059,6 +7050,36 @@
"node": "^10.12.0 || >=12.0.0"
}
},
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/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==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -6070,25 +7091,29 @@
"node": ">=8"
}
},
- "node_modules/filter-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
- "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"dependencies": {
- "locate-path": "^2.0.0"
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
}
},
"node_modules/flat-cache": {
@@ -6105,11 +7130,31 @@
}
},
"node_modules/flatted": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
- "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
"dev": true
},
+ "node_modules/follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
"node_modules/for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -6118,15 +7163,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
"node_modules/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
@@ -6151,6 +7187,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true
+ },
"node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -6181,7 +7223,7 @@
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"node_modules/fsevents": {
"version": "2.3.2",
@@ -6202,79 +7244,50 @@
"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": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "node_modules/gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "dev": true,
- "dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "node_modules/gauge/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "node_modules/gauge/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "node_modules/function.prototype.name": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
+ "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
"dev": true,
"dependencies": {
- "number-is-nan": "^1.0.0"
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.0",
+ "functions-have-names": "^1.2.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/gauge/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/gauge/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "node_modules/gauge": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
"dev": true,
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "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": ">=0.10.0"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/gensync": {
@@ -6296,13 +7309,13 @@
}
},
"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==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -6391,15 +7404,15 @@
}
},
"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==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "pump": "^3.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/get-symbol-description": {
@@ -6426,15 +7439,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- }
- },
"node_modules/git-raw-commits": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
@@ -6457,7 +7461,7 @@
"node_modules/git-remote-origin-url": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
- "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
+ "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==",
"dev": true,
"dependencies": {
"gitconfiglocal": "^1.0.0",
@@ -6470,7 +7474,7 @@
"node_modules/git-remote-origin-url/node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -6502,42 +7506,42 @@
}
},
"node_modules/git-up": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz",
- "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz",
+ "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==",
"dev": true,
"dependencies": {
- "is-ssh": "^1.3.0",
- "parse-url": "^6.0.0"
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
}
},
"node_modules/git-url-parse": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz",
- "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==",
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz",
+ "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==",
"dev": true,
"dependencies": {
- "git-up": "^4.0.0"
+ "git-up": "^7.0.0"
}
},
"node_modules/gitconfiglocal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
- "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
+ "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==",
"dev": true,
"dependencies": {
"ini": "^1.3.2"
}
},
"node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
@@ -6566,9 +7570,9 @@
"integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig=="
},
"node_modules/globals": {
- "version": "13.13.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
- "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -6601,9 +7605,15 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.9",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
- "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ },
+ "node_modules/grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+ "dev": true
},
"node_modules/handlebars": {
"version": "4.7.7",
@@ -6626,29 +7636,6 @@
"uglify-js": "^3.1.4"
}
},
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
@@ -6670,9 +7657,9 @@
}
},
"node_modules/has-bigints": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
- "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -6708,6 +7695,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -6737,7 +7736,7 @@
"node_modules/has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
"dev": true
},
"node_modules/has-value": {
@@ -6818,6 +7817,18 @@
"node": ">=10"
}
},
+ "node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
@@ -6928,25 +7939,10 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
},
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
- "engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
- }
- },
"node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"dependencies": {
"agent-base": "6",
@@ -6968,7 +7964,7 @@
"node_modules/humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"dev": true,
"dependencies": {
"ms": "^2.0.0"
@@ -6999,77 +7995,6 @@
"node": ">=8"
}
},
- "node_modules/husky/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/husky/node_modules/cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
- "dev": true,
- "dependencies": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/husky/node_modules/cosmiconfig/node_modules/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/husky/node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "engines": {
- "node": ">=4.8"
- }
- },
- "node_modules/husky/node_modules/execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/husky/node_modules/find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
@@ -7082,59 +8007,6 @@
"node": ">=6"
}
},
- "node_modules/husky/node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/husky/node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
- "node_modules/husky/node_modules/import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
- "dev": true,
- "dependencies": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/husky/node_modules/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/husky/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/husky/node_modules/locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
@@ -7148,30 +8020,6 @@
"node": ">=6"
}
},
- "node_modules/husky/node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "node_modules/husky/node_modules/npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "dependencies": {
- "path-key": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/husky/node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -7199,136 +8047,87 @@
"node": ">=6"
}
},
- "node_modules/husky/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/husky/node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/husky/node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/husky/node_modules/read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"dependencies": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
+ "safer-buffer": ">= 2.1.2 < 3"
},
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/husky/node_modules/resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true,
- "engines": {
- "node": ">=4"
- }
+ "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/husky/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "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,
- "bin": {
- "semver": "bin/semver"
+ "engines": {
+ "node": ">= 4"
}
},
- "node_modules/husky/node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "node_modules/ignore-walk": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz",
+ "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==",
"dev": true,
"dependencies": {
- "shebang-regex": "^1.0.0"
+ "minimatch": "^5.0.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/husky/node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/husky/node_modules/type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true,
- "engines": {
- "node": ">=8"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/husky/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "node_modules/ignore-walk/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==",
"dev": true,
"dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
+ "balanced-match": "^1.0.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==",
+ "node_modules/ignore-walk/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dev": true,
"dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "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/ignore-walk": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz",
- "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==",
- "dev": true,
- "dependencies": {
- "minimatch": "^3.0.4"
+ "node": ">=10"
}
},
"node_modules/import-fresh": {
@@ -7369,7 +8168,7 @@
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"engines": {
"node": ">=0.8.19"
@@ -7392,7 +8191,7 @@
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -7410,60 +8209,83 @@
"dev": true
},
"node_modules/init-package-json": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz",
- "integrity": "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz",
+ "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==",
"dev": true,
"dependencies": {
- "npm-package-arg": "^8.1.5",
+ "npm-package-arg": "^9.0.1",
"promzard": "^0.3.0",
- "read": "~1.0.1",
- "read-package-json": "^4.1.1",
+ "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": "^3.0.0"
+ "validate-npm-package-name": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/init-package-json/node_modules/read-package-json": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.2.tgz",
- "integrity": "sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==",
+ "node_modules/init-package-json/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"dependencies": {
- "glob": "^7.1.1",
- "json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^3.0.0",
- "npm-normalize-package-bin": "^1.0.0"
+ "lru-cache": "^7.5.1"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/init-package-json/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": true,
+ "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/inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
"dev": true,
"dependencies": {
"ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
+ "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.19",
+ "lodash": "^4.17.21",
"mute-stream": "0.0.8",
+ "ora": "^5.4.1",
"run-async": "^2.4.0",
- "rxjs": "^6.6.0",
+ "rxjs": "^7.5.5",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
- "through": "^2.3.6"
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/inquirer/node_modules/rxjs": {
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz",
+ "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.1.0"
}
},
"node_modules/internal-slot": {
@@ -7481,9 +8303,9 @@
}
},
"node_modules/ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"dev": true
},
"node_modules/is-accessor-descriptor": {
@@ -7500,7 +8322,7 @@
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"dev": true
},
"node_modules/is-bigint": {
@@ -7515,6 +8337,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-boolean-object": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
@@ -7537,9 +8371,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"node_modules/is-callable": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
- "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -7560,16 +8394,10 @@
"is-ci": "bin.js"
}
},
- "node_modules/is-ci/node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
"node_modules/is-core-module": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
- "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -7620,12 +8448,27 @@
"node_modules/is-directory": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
@@ -7651,7 +8494,7 @@
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -7685,10 +8528,19 @@
"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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-lambda": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
- "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
"dev": true
},
"node_modules/is-negative-zero": {
@@ -7712,9 +8564,9 @@
}
},
"node_modules/is-number-object": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
- "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
"dev": true,
"dependencies": {
"has-tostringtag": "^1.0.0"
@@ -7738,7 +8590,7 @@
"node_modules/is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -7776,33 +8628,33 @@
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz",
- "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
"dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-ssh": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz",
- "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz",
+ "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==",
"dev": true,
"dependencies": {
- "protocols": "^1.1.0"
+ "protocols": "^2.0.1"
}
},
"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==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"dev": true,
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.10.0"
}
},
"node_modules/is-string": {
@@ -7838,7 +8690,7 @@
"node_modules/is-text-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
- "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
+ "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==",
"dev": true,
"dependencies": {
"text-extensions": "^1.0.0"
@@ -7850,9 +8702,21 @@
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
"dev": true
},
+ "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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -7873,31 +8737,37 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
},
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true
},
"node_modules/isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
"node_modules/istanbul-lib-coverage": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
@@ -7908,9 +8778,9 @@
}
},
"node_modules/istanbul-lib-instrument": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
- "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.3",
@@ -7961,9 +8831,9 @@
}
},
"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==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
+ "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
"dev": true,
"dependencies": {
"html-escaper": "^2.0.0",
@@ -7973,6 +8843,24 @@
"node": ">=8"
}
},
+ "node_modules/jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/jest": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
@@ -8012,35 +8900,94 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
- "node_modules/jest-circus": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
- "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
+ "node_modules/jest-changed-files/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": {
- "@jest/environment": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.5.1",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
+ "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/jest-changed-files/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/jest-changed-files/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-changed-files/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==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+ "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^27.5.1",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
},
"node_modules/jest-cli": {
"version": "27.5.1",
@@ -8119,6 +9066,30 @@
}
}
},
+ "node_modules/jest-config/node_modules/ci-info": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
+ "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==",
+ "dev": true
+ },
+ "node_modules/jest-config/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==",
+ "dev": true,
+ "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/jest-diff": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
@@ -8445,6 +9416,65 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
+ "node_modules/jest-runtime/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/jest-runtime/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/jest-runtime/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-runtime/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==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jest-serializer": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
@@ -8507,6 +9537,11 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
+ "node_modules/jest-util/node_modules/ci-info": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
+ "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug=="
+ },
"node_modules/jest-validate": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
@@ -8588,6 +9623,13 @@
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
"integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
},
+ "node_modules/js-sdsl": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
+ "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
+ "dev": true
+
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -8605,12 +9647,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
"node_modules/jsdoc-type-pratt-parser": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
@@ -8714,12 +9750,6 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -8729,13 +9759,22 @@
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
+ "node_modules/json-stringify-nice": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz",
+ "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
"dev": true
},
"node_modules/json5": {
@@ -8751,9 +9790,9 @@
}
},
"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==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
"dev": true
},
"node_modules/jsonfile": {
@@ -8771,7 +9810,7 @@
"node_modules/jsonparse": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
"dev": true,
"engines": [
"node >= 0.2.0"
@@ -8793,21 +9832,6 @@
"node": "*"
}
},
- "node_modules/jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
"node_modules/junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
@@ -8816,6 +9840,18 @@
"node": ">=8"
}
},
+ "node_modules/just-diff": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.1.1.tgz",
+ "integrity": "sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==",
+ "dev": true
+ },
+ "node_modules/just-diff-apply": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.4.1.tgz",
+ "integrity": "sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==",
+ "dev": true
+ },
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -8834,35 +9870,40 @@
}
},
"node_modules/lerna": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz",
- "integrity": "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==",
- "dev": true,
- "dependencies": {
- "@lerna/add": "4.0.0",
- "@lerna/bootstrap": "4.0.0",
- "@lerna/changed": "4.0.0",
- "@lerna/clean": "4.0.0",
- "@lerna/cli": "4.0.0",
- "@lerna/create": "4.0.0",
- "@lerna/diff": "4.0.0",
- "@lerna/exec": "4.0.0",
- "@lerna/import": "4.0.0",
- "@lerna/info": "4.0.0",
- "@lerna/init": "4.0.0",
- "@lerna/link": "4.0.0",
- "@lerna/list": "4.0.0",
- "@lerna/publish": "4.0.0",
- "@lerna/run": "4.0.0",
- "@lerna/version": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/lerna/-/lerna-5.6.1.tgz",
+ "integrity": "sha512-gAZxKlQVpYpAvzXMOpc6VfFa6WYZmdD7u6js1u3wu7tOwnwHcSQK+qGOO3/Ky/YP+LbrXuH0BnLj09d+ev9OwA==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/add": "5.6.1",
+ "@lerna/bootstrap": "5.6.1",
+ "@lerna/changed": "5.6.1",
+ "@lerna/clean": "5.6.1",
+ "@lerna/cli": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/create": "5.6.1",
+ "@lerna/diff": "5.6.1",
+ "@lerna/exec": "5.6.1",
+ "@lerna/import": "5.6.1",
+ "@lerna/info": "5.6.1",
+ "@lerna/init": "5.6.1",
+ "@lerna/link": "5.6.1",
+ "@lerna/list": "5.6.1",
+ "@lerna/publish": "5.6.1",
+ "@lerna/run": "5.6.1",
+ "@lerna/version": "5.6.1",
+ "@nrwl/devkit": ">=14.8.1 < 16",
"import-local": "^3.0.2",
- "npmlog": "^4.1.2"
+ "inquirer": "^8.2.4",
+ "npmlog": "^6.0.2",
+ "nx": ">=14.8.1 < 16",
+ "typescript": "^3 || ^4"
},
"bin": {
"lerna": "cli.js"
},
"engines": {
- "node": ">= 10.18.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/leven": {
@@ -8888,150 +9929,103 @@
}
},
"node_modules/libnpmaccess": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz",
- "integrity": "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz",
+ "integrity": "sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==",
"dev": true,
"dependencies": {
"aproba": "^2.0.0",
"minipass": "^3.1.1",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^11.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/libnpmaccess/node_modules/make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
- "dependencies": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
+ "npm-package-arg": "^9.0.1",
+ "npm-registry-fetch": "^13.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/libnpmaccess/node_modules/npm-registry-fetch": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz",
- "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==",
+ "node_modules/libnpmaccess/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"dependencies": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "lru-cache": "^7.5.1"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/libnpmaccess/node_modules/socks-proxy-agent": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
- "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
+ "node_modules/libnpmaccess/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
"dev": true,
"dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.1",
- "socks": "^2.6.1"
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/libnpmpublish": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz",
- "integrity": "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==",
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.5.tgz",
+ "integrity": "sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg==",
"dev": true,
"dependencies": {
- "normalize-package-data": "^3.0.2",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^11.0.0",
- "semver": "^7.1.3",
- "ssri": "^8.0.1"
+ "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": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/libnpmpublish/node_modules/make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "node_modules/libnpmpublish/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"dependencies": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
+ "lru-cache": "^7.5.1"
},
"engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/libnpmpublish/node_modules/npm-registry-fetch": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz",
- "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==",
+ "node_modules/libnpmpublish/node_modules/normalize-package-data": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz",
+ "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==",
"dev": true,
"dependencies": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "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": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/libnpmpublish/node_modules/socks-proxy-agent": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
- "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
+ "node_modules/libnpmpublish/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
"dev": true,
"dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.1",
- "socks": "^2.6.1"
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/lines-and-columns": {
@@ -9082,35 +10076,46 @@
"node": ">=8"
}
},
- "node_modules/load-json-file/node_modules/type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "node_modules/load-json-file/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==",
"dev": true,
+ "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"
- }
- },
- "node_modules/locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "dependencies": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
},
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/load-json-file/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
- "node_modules/locate-path/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/lodash": {
@@ -9119,34 +10124,28 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "node_modules/lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
"node_modules/lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
"dev": true
},
"node_modules/lodash.ismatch": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
- "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=",
+ "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==",
"dev": true
},
"node_modules/lodash.kebabcase": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
- "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
+ "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==",
"dev": true
},
"node_modules/lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
"dev": true
},
"node_modules/lodash.merge": {
@@ -9158,34 +10157,31 @@
"node_modules/lodash.snakecase": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
- "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
+ "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==",
"dev": true
},
- "node_modules/lodash.template": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
- "dev": true,
- "dependencies": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.templatesettings": "^4.0.0"
- }
- },
- "node_modules/lodash.templatesettings": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
- "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
- "dev": true,
- "dependencies": {
- "lodash._reinterpolate": "^3.0.0"
- }
- },
"node_modules/lodash.upperfirst": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
- "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
+ "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==",
"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==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -9198,15 +10194,20 @@
}
},
"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==",
+ "version": "7.14.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz",
+ "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==",
"dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
"engines": {
- "node": ">=10"
+ "node": ">=12"
+ }
+ },
+ "node_modules/lz-string": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
+ "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
+ "bin": {
+ "lz-string": "bin/bin.js"
}
},
"node_modules/magic-string": {
@@ -9246,31 +10247,55 @@
"dev": true
},
"node_modules/make-fetch-happen": {
- "version": "8.0.14",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz",
- "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==",
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+ "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
"dev": true,
"dependencies": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.0.5",
+ "agentkeepalive": "^4.2.1",
+ "cacache": "^16.1.0",
"http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
+ "http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
"minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.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": "^5.0.0",
- "ssri": "^8.0.0"
+ "socks-proxy-agent": "^7.0.0",
+ "ssri": "^9.0.0"
},
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "dev": true,
"engines": {
"node": ">= 10"
}
},
+ "node_modules/make-fetch-happen/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/makeerror": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
@@ -9349,12 +10374,6 @@
"node": ">=8"
}
},
- "node_modules/meow/node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
"node_modules/meow/node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -9394,30 +10413,6 @@
"node": ">=8"
}
},
- "node_modules/meow/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/meow/node_modules/read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "dependencies": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/meow/node_modules/read-pkg-up": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
@@ -9444,36 +10439,6 @@
"node": ">=8"
}
},
- "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/meow/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
"node_modules/meow/node_modules/type-fest": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
@@ -9501,12 +10466,12 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
@@ -9561,9 +10526,9 @@
}
},
"node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"node_modules/minimist-options": {
@@ -9581,9 +10546,9 @@
}
},
"node_modules/minipass": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
- "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
@@ -9605,20 +10570,20 @@
}
},
"node_modules/minipass-fetch": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
- "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+ "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
"dev": true,
"dependencies": {
- "minipass": "^3.1.0",
+ "minipass": "^3.1.6",
"minipass-sized": "^1.0.3",
- "minizlib": "^2.0.0"
+ "minizlib": "^2.1.2"
},
"engines": {
- "node": ">=8"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
},
"optionalDependencies": {
- "encoding": "^0.1.12"
+ "encoding": "^0.1.13"
}
},
"node_modules/minipass-flush": {
@@ -9802,7 +10767,7 @@
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
"node_modules/negotiator": {
@@ -9831,6 +10796,12 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
+ "node_modules/node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+ "dev": true
+ },
"node_modules/node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
@@ -9853,193 +10824,97 @@
"node_modules/node-fetch/node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/node-fetch/node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/node-gyp": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz",
- "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.2.0.tgz",
+ "integrity": "sha512-/+/YxGfIJOh/fnMsr4Ep0v6oOIjnO1BgLd2dcDspBX1spTkQU7xSIox5RdRE/2/Uq3ZwK8Z5swRIbMUmPlslmg==",
"dev": true,
"dependencies": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
- "graceful-fs": "^4.2.2",
- "mkdirp": "^0.5.1",
- "nopt": "^4.0.1",
- "npmlog": "^4.1.2",
- "request": "^2.88.0",
- "rimraf": "^2.6.3",
- "semver": "^5.7.1",
- "tar": "^4.4.12",
- "which": "^1.3.1"
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^10.0.3",
+ "nopt": "^6.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": ">= 6.0.0"
- }
- },
- "node_modules/node-gyp/node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/node-gyp/node_modules/fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "dev": true,
- "dependencies": {
- "minipass": "^2.6.0"
- }
- },
- "node_modules/node-gyp/node_modules/minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "node_modules/node-gyp/node_modules/minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "dependencies": {
- "minipass": "^2.9.0"
+ "node": "^12.22 || ^14.13 || >=16"
}
},
- "node_modules/node-gyp/node_modules/mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "node_modules/node-gyp-build": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
+ "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
"dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
"bin": {
- "mkdirp": "bin/cmd.js"
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
}
},
- "node_modules/node-gyp/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "node_modules/node-gyp/node_modules/nopt": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
+ "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
"dev": true,
"dependencies": {
- "glob": "^7.1.3"
+ "abbrev": "^1.0.0"
},
"bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/node-gyp/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==",
- "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/node-gyp/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/node-gyp/node_modules/tar": {
- "version": "4.4.19",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
- "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
- "dev": true,
- "dependencies": {
- "chownr": "^1.1.4",
- "fs-minipass": "^1.2.7",
- "minipass": "^2.9.0",
- "minizlib": "^1.3.3",
- "mkdirp": "^0.5.5",
- "safe-buffer": "^5.2.1",
- "yallist": "^3.1.1"
+ "nopt": "bin/nopt.js"
},
"engines": {
- "node": ">=4.5"
- }
- },
- "node_modules/node-gyp/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/node-gyp/node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- },
"node_modules/node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
"dev": true
},
"node_modules/node-releases": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
- "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
"node_modules/nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dev": true,
"dependencies": {
- "abbrev": "1",
- "osenv": "^0.1.4"
+ "abbrev": "1"
},
"bin": {
"nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/normalize-package-data": {
@@ -10066,18 +10941,6 @@
"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==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/npm-bundled": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz",
@@ -10088,43 +10951,15 @@
}
},
"node_modules/npm-install-checks": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz",
- "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz",
+ "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==",
"dev": true,
"dependencies": {
"semver": "^7.1.1"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm-lifecycle": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz",
- "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==",
- "dev": true,
- "dependencies": {
- "byline": "^5.0.0",
- "graceful-fs": "^4.1.15",
- "node-gyp": "^5.0.2",
- "resolve-from": "^4.0.0",
- "slide": "^1.1.6",
- "uid-number": "0.0.6",
- "umask": "^1.1.0",
- "which": "^1.3.1"
- }
- },
- "node_modules/npm-lifecycle/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/npm-normalize-package-bin": {
@@ -10134,120 +10969,517 @@
"dev": true
},
"node_modules/npm-package-arg": {
- "version": "8.1.5",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz",
- "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz",
+ "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==",
"dev": true,
"dependencies": {
- "hosted-git-info": "^4.0.1",
- "semver": "^7.3.4",
+ "hosted-git-info": "^3.0.6",
+ "semver": "^7.0.0",
"validate-npm-package-name": "^3.0.0"
},
"engines": {
"node": ">=10"
}
},
+ "node_modules/npm-package-arg/node_modules/builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==",
+ "dev": true
+ },
+ "node_modules/npm-package-arg/node_modules/hosted-git-info": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+ "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/npm-package-arg/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/npm-package-arg/node_modules/validate-npm-package-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+ "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==",
+ "dev": true,
+ "dependencies": {
+ "builtins": "^1.0.3"
+ }
+ },
"node_modules/npm-packlist": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz",
- "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz",
+ "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==",
"dev": true,
"dependencies": {
- "glob": "^7.1.6",
- "ignore-walk": "^3.0.3",
- "npm-bundled": "^1.1.1",
- "npm-normalize-package-bin": "^1.0.1"
+ "glob": "^8.0.1",
+ "ignore-walk": "^5.0.1",
+ "npm-bundled": "^2.0.0",
+ "npm-normalize-package-bin": "^2.0.0"
},
"bin": {
"npm-packlist": "bin/index.js"
},
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-packlist/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==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/npm-packlist/node_modules/glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "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-packlist/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
"engines": {
"node": ">=10"
}
},
+ "node_modules/npm-packlist/node_modules/npm-bundled": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz",
+ "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==",
+ "dev": true,
+ "dependencies": {
+ "npm-normalize-package-bin": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
"node_modules/npm-pick-manifest": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz",
- "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz",
+ "integrity": "sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==",
"dev": true,
"dependencies": {
- "npm-install-checks": "^4.0.0",
- "npm-normalize-package-bin": "^1.0.1",
- "npm-package-arg": "^8.1.2",
- "semver": "^7.3.4"
+ "npm-install-checks": "^5.0.0",
+ "npm-normalize-package-bin": "^2.0.0",
+ "npm-package-arg": "^9.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-pick-manifest/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-pick-manifest/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": true,
+ "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-registry-fetch": {
+ "version": "13.3.1",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz",
+ "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==",
+ "dev": true,
+ "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-registry-fetch/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-registry-fetch/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": true,
+ "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-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-path/node_modules/path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "dev": true,
+ "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/nwsapi": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
+ "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==",
+ "dev": true
+ },
+ "node_modules/nx": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-14.8.3.tgz",
+ "integrity": "sha512-6aMYrzlTqE77vHbaE1teI5P1A2oYkJGkuDMIo/zegRwUxCAjRzLAluUgPrmgqhuPTyTDn8p4aDfxAWV3Q0o/2Q==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@nrwl/cli": "14.8.3",
+ "@nrwl/tao": "14.8.3",
+ "@parcel/watcher": "2.0.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "^3.0.0-rc.18",
+ "@zkochan/js-yaml": "0.0.6",
+ "axios": "0.21.1",
+ "chalk": "4.1.0",
+ "chokidar": "^3.5.1",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^7.0.2",
+ "dotenv": "~10.0.0",
+ "enquirer": "~2.3.6",
+ "fast-glob": "3.2.7",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "fs-extra": "^10.1.0",
+ "glob": "7.1.4",
+ "ignore": "^5.0.4",
+ "js-yaml": "4.1.0",
+ "jsonc-parser": "3.2.0",
+ "minimatch": "3.0.5",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "semver": "7.3.4",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^3.9.0",
+ "tslib": "^2.3.0",
+ "v8-compile-cache": "2.3.0",
+ "yargs": "^17.4.0",
+ "yargs-parser": "21.0.1"
+ },
+ "bin": {
+ "nx": "bin/nx.js"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.4.2",
+ "@swc/core": "^1.2.173"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nx/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/nx/node_modules/fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "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"
+ }
+ },
+ "node_modules/nx/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==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/nx/node_modules/glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/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==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/nx/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/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==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/npm-registry-fetch": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz",
- "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==",
+ "node_modules/nx/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"dependencies": {
- "@npmcli/ci-detect": "^1.0.0",
- "lru-cache": "^6.0.0",
- "make-fetch-happen": "^8.0.9",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
- "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==",
+ "node_modules/nx/node_modules/tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"dev": true,
"dependencies": {
- "path-key": "^3.0.0"
+ "rimraf": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=8.17.0"
}
},
- "node_modules/npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "node_modules/nx/node_modules/yargs": {
+ "version": "17.6.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
+ "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
"dev": true,
"dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "cliui": "^8.0.1",
+ "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/number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "node_modules/nx/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": ">=0.10.0"
+ "node": ">=12"
}
},
- "node_modules/nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "node_modules/oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "node_modules/nx/node_modules/yargs/node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
"engines": {
- "node": "*"
+ "node": ">=12"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": {
"node": ">=0.10.0"
}
@@ -10331,9 +11563,9 @@
}
},
"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==",
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -10359,14 +11591,14 @@
}
},
"node_modules/object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
+ "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
},
"engines": {
@@ -10376,23 +11608,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object.getownpropertydescriptors": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz",
- "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
@@ -10424,7 +11639,7 @@
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dependencies": {
"wrappy": "1"
}
@@ -10444,6 +11659,23 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "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",
@@ -10461,34 +11693,38 @@
"node": ">= 0.8.0"
}
},
- "node_modules/os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "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==",
"dev": true,
+ "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": ">=0.10.0"
+ "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": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "dependencies": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"node_modules/p-all": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz",
@@ -10544,33 +11780,39 @@
"node_modules/p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
"engines": {
"node": ">=4"
}
},
"node_modules/p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"dependencies": {
- "p-try": "^1.0.0"
+ "yocto-queue": "^0.1.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"dependencies": {
- "p-limit": "^1.1.0"
+ "p-limit": "^3.0.2"
},
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-map": {
@@ -10646,12 +11888,12 @@
}
},
"node_modules/p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "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": ">=4"
+ "node": ">=6"
}
},
"node_modules/p-waterfall": {
@@ -10670,94 +11912,65 @@
}
},
"node_modules/pacote": {
- "version": "11.3.5",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz",
- "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==",
+ "version": "13.6.2",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz",
+ "integrity": "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==",
"dev": true,
"dependencies": {
- "@npmcli/git": "^2.1.0",
- "@npmcli/installed-package-contents": "^1.0.6",
- "@npmcli/promise-spawn": "^1.2.0",
- "@npmcli/run-script": "^1.8.2",
- "cacache": "^15.0.5",
+ "@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.3",
- "mkdirp": "^1.0.3",
- "npm-package-arg": "^8.0.1",
- "npm-packlist": "^2.1.4",
- "npm-pick-manifest": "^6.0.0",
- "npm-registry-fetch": "^11.0.0",
+ "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-fast": "^2.0.1",
+ "read-package-json": "^5.0.0",
+ "read-package-json-fast": "^2.0.3",
"rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.1.0"
+ "ssri": "^9.0.0",
+ "tar": "^6.1.11"
},
"bin": {
"pacote": "lib/bin.js"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/pacote/node_modules/make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
- "dependencies": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
- },
- "engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/pacote/node_modules/npm-registry-fetch": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz",
- "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==",
+ "node_modules/pacote/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"dependencies": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "lru-cache": "^7.5.1"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/pacote/node_modules/socks-proxy-agent": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
- "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
+ "node_modules/pacote/node_modules/npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
"dev": true,
"dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.1",
- "socks": "^2.6.1"
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/parent-module": {
@@ -10777,46 +11990,49 @@
"resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
"integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="
},
+ "node_modules/parse-conflict-json": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz",
+ "integrity": "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==",
+ "dev": true,
+ "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/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==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"dev": true,
"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"
+ "json-parse-better-errors": "^1.0.1"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=4"
}
},
"node_modules/parse-path": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz",
- "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz",
+ "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==",
"dev": true,
"dependencies": {
- "is-ssh": "^1.3.0",
- "protocols": "^1.4.0",
- "qs": "^6.9.4",
- "query-string": "^6.13.8"
+ "protocols": "^2.0.0"
}
},
"node_modules/parse-url": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz",
- "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz",
+ "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==",
"dev": true,
"dependencies": {
- "is-ssh": "^1.3.0",
- "normalize-url": "^6.1.0",
- "parse-path": "^4.0.0",
- "protocols": "^1.4.0"
+ "parse-path": "^7.0.0"
}
},
"node_modules/parse5": {
@@ -10850,7 +12066,7 @@
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"engines": {
"node": ">=0.10.0"
}
@@ -10879,12 +12095,6 @@
"node": ">=8"
}
},
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -10986,15 +12196,6 @@
"node": ">=8"
}
},
- "node_modules/pkg-dir/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/please-upgrade-node": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
@@ -11045,9 +12246,9 @@
}
},
"node_modules/prettier": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
- "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
@@ -11084,6 +12285,26 @@
"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==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/proc-log": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz",
+ "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -11097,10 +12318,28 @@
"asap": "~2.0.6"
}
},
+ "node_modules/promise-all-reject-late": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz",
+ "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/promise-call-limit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz",
+ "integrity": "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
"dev": true
},
"node_modules/promise-retry": {
@@ -11132,7 +12371,7 @@
"node_modules/promzard": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz",
- "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=",
+ "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==",
"dev": true,
"dependencies": {
"read": "1"
@@ -11141,19 +12380,19 @@
"node_modules/proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
"dev": true
},
"node_modules/protocols": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz",
- "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz",
+ "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==",
"dev": true
},
"node_modules/psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
"dev": true
},
"node_modules/pump": {
@@ -11178,7 +12417,7 @@
"node_modules/q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
"dev": true,
"engines": {
"node": ">=0.6.0",
@@ -11186,9 +12425,9 @@
}
},
"node_modules/qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "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"
},
@@ -11199,23 +12438,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/query-string": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
- "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
- "dev": true,
- "dependencies": {
- "decode-uri-component": "^0.2.0",
- "filter-obj": "^1.1.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+ "dev": true
},
"node_modules/queue-microtask": {
"version": "1.2.3",
@@ -11279,7 +12506,7 @@
"node_modules/read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
"dev": true,
"dependencies": {
"mute-stream": "~0.0.4"
@@ -11289,24 +12516,27 @@
}
},
"node_modules/read-cmd-shim": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz",
- "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==",
- "dev": true
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz",
+ "integrity": "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
},
"node_modules/read-package-json": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz",
- "integrity": "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz",
+ "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==",
"dev": true,
"dependencies": {
- "glob": "^7.1.1",
- "json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^3.0.0",
- "npm-normalize-package-bin": "^1.0.0"
+ "glob": "^8.0.1",
+ "json-parse-even-better-errors": "^2.3.1",
+ "normalize-package-data": "^4.0.0",
+ "npm-normalize-package-bin": "^2.0.0"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/read-package-json-fast": {
@@ -11322,75 +12552,101 @@
"node": ">=10"
}
},
- "node_modules/read-package-tree": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
- "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
- "deprecated": "The functionality that this package provided is now in @npmcli/arborist",
+ "node_modules/read-package-json/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==",
"dev": true,
"dependencies": {
- "read-package-json": "^2.0.0",
- "readdir-scoped-modules": "^1.0.0",
- "util-promisify": "^2.1.0"
+ "balanced-match": "^1.0.0"
}
},
- "node_modules/read-package-tree/node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
+ "node_modules/read-package-json/node_modules/glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "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/read-package-json/node_modules/hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
},
- "node_modules/read-package-tree/node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "node_modules/read-package-json/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dev": true,
"dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/read-package-tree/node_modules/read-package-json": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz",
- "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==",
+ "node_modules/read-package-json/node_modules/normalize-package-data": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz",
+ "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==",
"dev": true,
"dependencies": {
- "glob": "^7.1.1",
- "json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^2.0.0",
- "npm-normalize-package-bin": "^1.0.0"
+ "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.0.0"
}
},
- "node_modules/read-package-tree/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "node_modules/read-package-json/node_modules/npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
"dev": true,
- "bin": {
- "semver": "bin/semver"
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"dependencies": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/read-pkg-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
"dev": true,
"dependencies": {
"find-up": "^2.0.0",
@@ -11400,16 +12656,28 @@
"node": ">=4"
}
},
- "node_modules/read-pkg/node_modules/hosted-git-info": {
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true
},
- "node_modules/read-pkg/node_modules/load-json-file": {
+ "node_modules/read-pkg-up/node_modules/load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.1.2",
@@ -11421,7 +12689,20 @@
"node": ">=4"
}
},
- "node_modules/read-pkg/node_modules/normalize-package-data": {
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
@@ -11433,20 +12714,49 @@
"validate-npm-package-license": "^3.0.1"
}
},
- "node_modules/read-pkg/node_modules/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^1.1.0"
},
"engines": {
"node": ">=4"
}
},
- "node_modules/read-pkg/node_modules/path-type": {
+ "node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-type": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
@@ -11458,16 +12768,30 @@
"node": ">=4"
}
},
- "node_modules/read-pkg/node_modules/pify": {
+ "node_modules/read-pkg-up/node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"dev": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/read-pkg/node_modules/semver": {
+ "node_modules/read-pkg-up/node_modules/read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
@@ -11476,15 +12800,69 @@
"semver": "bin/semver"
}
},
- "node_modules/read-pkg/node_modules/strip-bom": {
+ "node_modules/read-pkg-up/node_modules/strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
"engines": {
"node": ">=4"
}
},
+ "node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/read-pkg/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==",
+ "dev": true,
+ "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/read-pkg/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -11511,6 +12889,18 @@
"once": "^1.3.0"
}
},
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
"node_modules/redent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
@@ -11524,6 +12914,11 @@
"node": ">=8"
}
},
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ },
"node_modules/regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -11536,6 +12931,23 @@
"node": ">=0.10.0"
}
},
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
+ "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "functions-have-names": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/regexpp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
@@ -11573,90 +12985,28 @@
"node": ">=0.10"
}
},
- "node_modules/request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
- "dev": true,
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/request/node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/request/node_modules/qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/request/node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
+ },
"node_modules/resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dev": true,
"dependencies": {
- "is-core-module": "^2.8.1",
+ "is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -11736,7 +13086,7 @@
"node_modules/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -11815,6 +13165,7 @@
"version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "peer": true,
"dependencies": {
"tslib": "^1.9.0"
},
@@ -11822,6 +13173,12 @@
"npm": ">=2.0.0"
}
},
+ "node_modules/rxjs/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
+ },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -11835,6 +13192,20 @@
"ret": "~0.1.10"
}
},
+ "node_modules/safe-regex-test": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+ "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "is-regex": "^1.1.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -11862,9 +13233,9 @@
}
},
"node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -11879,13 +13250,25 @@
"node_modules/semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
"dev": true
},
+ "node_modules/semver/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
"dev": true
},
"node_modules/set-value": {
@@ -11991,20 +13374,11 @@
"dev": true
},
"node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slide": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
- "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"engines": {
- "node": "*"
+ "node": ">=8"
}
},
"node_modules/smart-buffer": {
@@ -12198,12 +13572,12 @@
}
},
"node_modules/socks": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
- "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
"dev": true,
"dependencies": {
- "ip": "^1.1.5",
+ "ip": "^2.0.0",
"smart-buffer": "^4.2.0"
},
"engines": {
@@ -12212,17 +13586,17 @@
}
},
"node_modules/socks-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
"dev": true,
"dependencies": {
"agent-base": "^6.0.2",
- "debug": "4",
- "socks": "^2.3.3"
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 10"
}
},
"node_modules/sort-keys": {
@@ -12326,9 +13700,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
- "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
+ "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
"dev": true
},
"node_modules/split": {
@@ -12343,15 +13717,6 @@
"node": "*"
}
},
- "node_modules/split-on-first": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
- "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -12375,44 +13740,19 @@
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true
},
- "node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ssri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
- "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+ "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
"dev": true,
"dependencies": {
"minipass": "^3.1.1"
},
"engines": {
- "node": ">= 8"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/stack-utils": {
@@ -12522,15 +13862,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/strict-uri-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -12588,26 +13919,28 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
- "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
+ "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
- "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
+ "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -12637,7 +13970,7 @@
"node_modules/strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -12705,9 +14038,9 @@
}
},
"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==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+ "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0",
@@ -12781,29 +14114,29 @@
"node": ">= 10"
}
},
- "node_modules/temp-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
- "node_modules/temp-write": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz",
- "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==",
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
"dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.15",
- "is-stream": "^2.0.0",
- "make-dir": "^3.0.0",
- "temp-dir": "^1.0.0",
- "uuid": "^3.3.2"
- },
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
"node_modules/terminal-link": {
@@ -12848,7 +14181,7 @@
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
"node_modules/then-request": {
@@ -12935,7 +14268,7 @@
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"dev": true
},
"node_modules/through2": {
@@ -12968,7 +14301,7 @@
"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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true,
"engines": {
"node": ">=4"
@@ -13022,23 +14355,24 @@
}
},
"node_modules/tough-cookie": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
- "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz",
+ "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
"dev": true,
"dependencies": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
- "universalify": "^0.1.2"
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
},
"engines": {
"node": ">=6"
}
},
"node_modules/tough-cookie/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"dev": true,
"engines": {
"node": ">= 4.0.0"
@@ -13056,6 +14390,15 @@
"node": ">=8"
}
},
+ "node_modules/treeverse": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-2.0.0.tgz",
+ "integrity": "sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
"node_modules/trim-newlines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
@@ -13066,9 +14409,9 @@
}
},
"node_modules/ts-jest": {
- "version": "27.1.3",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz",
- "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==",
+ "version": "27.1.5",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.5.tgz",
+ "integrity": "sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==",
"dev": true,
"dependencies": {
"bs-logger": "0.x",
@@ -13090,7 +14433,6 @@
"@babel/core": ">=7.0.0-beta.0 <8",
"@types/jest": "^27.0.0",
"babel-jest": ">=27.0.0 <28",
- "esbuild": "~0.14.0",
"jest": "^27.0.0",
"typescript": ">=3.8 <5.0"
},
@@ -13110,14 +14452,14 @@
}
},
"node_modules/tsconfig-paths": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz",
- "integrity": "sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
+ "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
"dev": true,
"dependencies": {
"@types/json5": "^0.0.29",
"json5": "^1.0.1",
- "minimist": "^1.2.0",
+ "minimist": "^1.2.6",
"strip-bom": "^3.0.0"
}
},
@@ -13136,16 +14478,16 @@
"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": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"node_modules/tsutils": {
"version": "3.21.0",
@@ -13162,22 +14504,10 @@
"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/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "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": {
@@ -13215,7 +14545,7 @@
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
@@ -13227,9 +14557,9 @@
}
},
"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==",
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
+ "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -13240,9 +14570,9 @@
}
},
"node_modules/uglify-js": {
- "version": "3.15.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz",
- "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==",
+ "version": "3.17.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.3.tgz",
+ "integrity": "sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==",
"dev": true,
"optional": true,
"bin": {
@@ -13252,30 +14582,15 @@
"node": ">=0.8.0"
}
},
- "node_modules/uid-number": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
- "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/umask": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz",
- "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=",
- "dev": true
- },
"node_modules/unbox-primitive": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
- "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.1",
- "has-bigints": "^1.0.1",
- "has-symbols": "^1.0.2",
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
"which-boxed-primitive": "^1.0.2"
},
"funding": {
@@ -13305,21 +14620,27 @@
}
},
"node_modules/unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
+ "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
"dev": true,
"dependencies": {
- "unique-slug": "^2.0.0"
+ "unique-slug": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
+ "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
"dev": true,
"dependencies": {
"imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/universal-user-agent": {
@@ -13391,6 +14712,32 @@
"yarn": "*"
}
},
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "browserslist-lint": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -13406,6 +14753,16 @@
"integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
"deprecated": "Please see https://github.com/lydell/urix#deprecated"
},
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dev": true,
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
"node_modules/use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@@ -13417,25 +14774,15 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "node_modules/util-promisify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
- "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
- "dev": true,
- "dependencies": {
- "object.getownpropertydescriptors": "^2.0.3"
- }
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true,
"bin": {
- "uuid": "bin/uuid"
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/v8-compile-cache": {
@@ -13459,9 +14806,9 @@
}
},
"node_modules/v8-to-istanbul/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==",
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
"dev": true,
"engines": {
"node": ">= 8"
@@ -13478,26 +14825,15 @@
}
},
"node_modules/validate-npm-package-name": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
- "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
- "dev": true,
- "dependencies": {
- "builtins": "^1.0.3"
- }
- },
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz",
+ "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==",
"dev": true,
- "engines": [
- "node >=0.6.0"
- ],
"dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "builtins": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/vscode-json-languageservice": {
@@ -13514,27 +14850,27 @@
}
},
"node_modules/vscode-languageserver-textdocument": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz",
- "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.7.tgz",
+ "integrity": "sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==",
"dev": true
},
"node_modules/vscode-languageserver-types": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
- "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
+ "version": "3.17.2",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz",
+ "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==",
"dev": true
},
"node_modules/vscode-nls": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz",
- "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz",
+ "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==",
"dev": true
},
"node_modules/vscode-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz",
- "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.6.tgz",
+ "integrity": "sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==",
"dev": true
},
"node_modules/vue": {
@@ -13570,6 +14906,12 @@
"node": ">=10"
}
},
+ "node_modules/walk-up-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz",
+ "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==",
+ "dev": true
+ },
"node_modules/walker": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
@@ -13582,7 +14924,7 @@
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dev": true,
"dependencies": {
"defaults": "^1.0.3"
@@ -13701,7 +15043,7 @@
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
},
"node_modules/wrap-ansi": {
@@ -13721,43 +15063,10 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"node_modules/write-file-atomic": {
"version": "3.0.3",
@@ -13817,7 +15126,7 @@
"node_modules/write-pkg/node_modules/detect-indent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz",
- "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=",
+ "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==",
"dev": true,
"engines": {
"node": ">=4"
@@ -13857,7 +15166,7 @@
"node_modules/write-pkg/node_modules/sort-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
- "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
"dev": true,
"dependencies": {
"is-plain-obj": "^1.0.0"
@@ -13904,9 +15213,9 @@
}
},
"node_modules/ws": {
- "version": "7.5.7",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
- "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"dev": true,
"engines": {
"node": ">=8.3.0"
@@ -13996,6 +15305,18 @@
"node": ">=10"
}
},
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/zone.js": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz",
@@ -14004,12 +15325,13 @@
},
"dependencies": {
"@ampproject/remapping": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
- "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
"dev": true,
"requires": {
- "@jridgewell/trace-mapping": "^0.3.0"
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
}
},
"@angular/common": {
@@ -14018,13 +15340,6 @@
"integrity": "sha512-553yf6ZUHNqT4XpOqbW7EKKMfX56u/8DkwYXuSv8MAKdl4/AW6gliFOEJGYo04JcKF7Knq3VPvGSCO9kupf0hg==",
"requires": {
"tslib": "^2.0.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
}
},
"@angular/compiler": {
@@ -14033,13 +15348,6 @@
"integrity": "sha512-ddJiTPCoVBIGjFDYoYWDpmq3Zs8UKoWpzaeW4u+p17gWW54HwyT5XTxrgtbeUmaxIuRdL4/KT1lGHs9/9bwbCA==",
"requires": {
"tslib": "^2.0.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
}
},
"@angular/core": {
@@ -14048,13 +15356,6 @@
"integrity": "sha512-krhOKNTj5XE92Rk9ASX5KmgTF72j7qT2PLVxrGEVjuUKjBY2XaK3TV0Kotq9zI3qa9WgeCrP/Njn6jlKQCCAEQ==",
"requires": {
"tslib": "^2.0.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
}
},
"@angular/platform-browser": {
@@ -14063,13 +15364,6 @@
"integrity": "sha512-3JDFRGNxr0IUkjSdGK2Q1BvqnSDpy9YWo0DJP+TEpgW578R84m4X7/wI3jJmFSC2yyouMWrHsot2vcBPAQj89g==",
"requires": {
"tslib": "^2.0.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
}
},
"@angular/platform-browser-dynamic": {
@@ -14078,49 +15372,42 @@
"integrity": "sha512-7z443I80K2CeqzczlSJ8BlABj0uRgnHUrABE8yLlU2BgifJrriBawzSXEV7UMEN7k7ezbc6NhpOn6Q6BrCKEOA==",
"requires": {
"tslib": "^2.0.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
}
},
"@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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
"requires": {
- "@babel/highlight": "^7.16.7"
+ "@babel/highlight": "^7.18.6"
}
},
"@babel/compat-data": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
- "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz",
+ "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==",
"dev": true
},
"@babel/core": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
- "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+ "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
"dev": true,
"requires": {
"@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.7",
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helpers": "^7.17.8",
- "@babel/parser": "^7.17.8",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0",
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.19.3",
+ "@babel/helper-compilation-targets": "^7.19.3",
+ "@babel/helper-module-transforms": "^7.19.0",
+ "@babel/helpers": "^7.19.0",
+ "@babel/parser": "^7.19.3",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.3",
+ "@babel/types": "^7.19.3",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
+ "json5": "^2.2.1",
"semver": "^6.3.0"
},
"dependencies": {
@@ -14133,33 +15420,38 @@
}
},
"@babel/generator": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
- "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz",
+ "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.17.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@babel/types": "^7.19.3",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
},
"dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
}
}
},
"@babel/helper-compilation-targets": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
- "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz",
+ "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.17.5",
+ "@babel/compat-data": "^7.19.3",
+ "@babel/helper-validator-option": "^7.18.6",
+ "browserslist": "^4.21.3",
"semver": "^6.3.0"
},
"dependencies": {
@@ -14172,120 +15464,113 @@
}
},
"@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"
- }
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+ "dev": true
},
"@babel/helper-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
- "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
- "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/template": "^7.18.10",
+ "@babel/types": "^7.19.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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
"@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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
"@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==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
+ "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
"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-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.0",
+ "@babel/types": "^7.19.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==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
+ "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==",
"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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
+ "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
"dev": true,
"requires": {
- "@babel/types": "^7.17.0"
+ "@babel/types": "^7.18.6"
}
},
"@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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
+ "@babel/helper-string-parser": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
+ "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
+ "dev": true
+ },
"@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=="
+ "version": "7.19.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
},
"@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==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
"dev": true
},
"@babel/helpers": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
- "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz",
+ "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==",
"dev": true,
"requires": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.0",
+ "@babel/types": "^7.19.0"
}
},
"@babel/highlight": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
- "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -14308,15 +15593,28 @@
"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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
"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="
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
},
"supports-color": {
"version": "5.5.0",
@@ -14329,9 +15627,9 @@
}
},
"@babel/parser": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
- "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ=="
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz",
+ "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ=="
},
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
@@ -14442,39 +15740,47 @@
}
},
"@babel/plugin-syntax-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
- "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz",
+ "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz",
+ "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+ "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.10",
+ "@babel/types": "^7.18.10"
}
},
"@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz",
+ "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.19.3",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.19.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.19.3",
+ "@babel/types": "^7.19.3",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -14488,12 +15794,13 @@
}
},
"@babel/types": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
- "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
+ "version": "7.19.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz",
+ "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-string-parser": "^7.18.10",
+ "@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
}
},
@@ -14504,9 +15811,9 @@
"dev": true
},
"@es-joy/jsdoccomment": {
- "version": "0.22.1",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.1.tgz",
- "integrity": "sha512-/WMkqLYfwCf0waCAMC8Eddt3iAOdghkDF5vmyKEu8pfO66KRFY1L15yks8mfgURiwOAOJpAQ3blvB3Znj6ZwBw==",
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.2.tgz",
+ "integrity": "sha512-pM6WQKcuAtdYoqCsXSvVSu3Ij8K0HY50L8tIheOKHDl0wH1uA4zbP88etY8SIeP16NVCMCTFU+Q2DahSKheGGQ==",
"dev": true,
"requires": {
"comment-parser": "1.3.1",
@@ -14515,19 +15822,19 @@
}
},
"@eslint/eslintrc": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
- "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz",
+ "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.3.1",
- "globals": "^13.9.0",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
}
},
@@ -14538,9 +15845,9 @@
"dev": true
},
"@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==",
+ "version": "0.10.7",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
+ "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
"dev": true,
"requires": {
"@humanwhocodes/object-schema": "^1.2.1",
@@ -14548,6 +15855,18 @@
"minimatch": "^3.0.4"
}
},
+ "@humanwhocodes/gitignore-to-minimatch": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
+ "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
+ "dev": true
+ },
+ "@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true
+ },
"@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -14560,6 +15879,12 @@
"integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
"dev": true
},
+ "@isaacs/string-locale-compare": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
+ "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
+ "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",
@@ -14629,12 +15954,6 @@
"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
- },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -14837,22 +16156,38 @@
"chalk": "^4.0.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.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz",
- "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "dev": true
+ },
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
"dev": true
},
"@jridgewell/sourcemap-codec": {
- "version": "1.4.11",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
- "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==",
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
},
"@jridgewell/trace-mapping": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz",
- "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==",
+ "version": "0.3.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
+ "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
"dev": true,
"requires": {
"@jridgewell/resolve-uri": "^3.0.3",
@@ -14860,425 +16195,512 @@
}
},
"@lerna/add": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz",
- "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/add/-/add-5.6.1.tgz",
+ "integrity": "sha512-cZvqMYoAclefw/KQwrRIpeQiKuj/KhbkNItWc6LnWcpweUmnrAm/AEfddIOnSagRHUgkSIY/pafjL2DGdIU25w==",
"dev": true,
"requires": {
- "@lerna/bootstrap": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/npm-conf": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/bootstrap": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/npm-conf": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"dedent": "^0.7.0",
- "npm-package-arg": "^8.1.0",
+ "npm-package-arg": "8.1.1",
"p-map": "^4.0.0",
- "pacote": "^11.2.6",
+ "pacote": "^13.6.1",
"semver": "^7.3.4"
}
},
"@lerna/bootstrap": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz",
- "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==",
- "dev": true,
- "requires": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/has-npm-version": "4.0.0",
- "@lerna/npm-install": "4.0.0",
- "@lerna/package-graph": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/rimraf-dir": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/symlink-binary": "4.0.0",
- "@lerna/symlink-dependencies": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.6.1.tgz",
+ "integrity": "sha512-YMNDTDtAo5fpt/pmA/JOcU2HvgD/bdwiZAa80312HcRy6MortJqFDo6wOM6trfoqf0XkWOpcw+P7/d/8+b8SVw==",
+ "dev": true,
+ "requires": {
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/has-npm-version": "5.6.1",
+ "@lerna/npm-install": "5.6.1",
+ "@lerna/package-graph": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/rimraf-dir": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/symlink-binary": "5.6.1",
+ "@lerna/symlink-dependencies": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@npmcli/arborist": "5.3.0",
"dedent": "^0.7.0",
"get-port": "^5.1.1",
"multimatch": "^5.0.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1",
- "read-package-tree": "^5.3.1",
"semver": "^7.3.4"
}
},
"@lerna/changed": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz",
- "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-5.6.1.tgz",
+ "integrity": "sha512-YVXkTEXlQWW1BSyURwZHz4HDpfl/yAwkLQbRQ2OtEmknkh4QOK41PPBgX0q1SCWKs3OYdSuI30A2H3KY8LMkxg==",
"dev": true,
"requires": {
- "@lerna/collect-updates": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/listable": "4.0.0",
- "@lerna/output": "4.0.0"
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/listable": "5.6.1",
+ "@lerna/output": "5.6.1"
}
},
"@lerna/check-working-tree": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz",
- "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.6.1.tgz",
+ "integrity": "sha512-pzM/d+009Yl7ThpbWPntao5WuHi4nb/T9WKTOG/CzS/yLQgceVaX1vRaf3fML92RYmV+XGFPq+PaVQXtwHdMkA==",
"dev": true,
"requires": {
- "@lerna/collect-uncommitted": "4.0.0",
- "@lerna/describe-ref": "4.0.0",
- "@lerna/validation-error": "4.0.0"
+ "@lerna/collect-uncommitted": "5.6.1",
+ "@lerna/describe-ref": "5.6.1",
+ "@lerna/validation-error": "5.6.1"
}
},
"@lerna/child-process": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz",
- "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.6.1.tgz",
+ "integrity": "sha512-+86Z5EwBkdypTyV8z8Se3McbGCHh4wUBfGuOoNmar4NjeY2HVuiRCoaJsyqgoyNLoXJb1gqDGlWkG5LTuKvw/A==",
"dev": true,
"requires": {
"chalk": "^4.1.0",
"execa": "^5.0.0",
"strong-log-transformer": "^2.1.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": 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==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ }
}
},
"@lerna/clean": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz",
- "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-5.6.1.tgz",
+ "integrity": "sha512-af+jZ/JT5AKvnW3JwFjqcuZyOiV1MCdYCi8KwHGJbEOT3ak2u7jdgFyHYtTngYTYeFn+VOSi9+vnVZ8RhQ0DQg==",
"dev": true,
"requires": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/rimraf-dir": "4.0.0",
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/rimraf-dir": "5.6.1",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1"
}
},
"@lerna/cli": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz",
- "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-5.6.1.tgz",
+ "integrity": "sha512-y7GmT30rVovwJHKZQE+1aH5BbR+m9psNwzGhAl3bI3pIi3DPNwa+5Ag7XV+tzKItqwfNtNQbrGIt6u3xbVgR3Q==",
"dev": true,
"requires": {
- "@lerna/global-options": "4.0.0",
+ "@lerna/global-options": "5.6.1",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"yargs": "^16.2.0"
}
},
"@lerna/collect-uncommitted": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz",
- "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.6.1.tgz",
+ "integrity": "sha512-Z1I4BFBcbqxX3RRiHtPA3JU92NOyTeJF/pWB5DImWDL7i5AYXWYA6iW99HyKTGfIsA3GrS4BIL0UOmp4vP7Yvw==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
+ "@lerna/child-process": "5.6.1",
"chalk": "^4.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/collect-updates": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz",
- "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.6.1.tgz",
+ "integrity": "sha512-xY5nJ//ACDVU/k9zn45W//wWw9+Cf4HWN7nla8J1YHLsRmn79uJONZnyK3MBCjMpgVzSAmMe47wuDu+ZzqV/Ew==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/describe-ref": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/describe-ref": "5.6.1",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"slash": "^3.0.0"
}
},
"@lerna/command": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz",
- "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/command/-/command-5.6.1.tgz",
+ "integrity": "sha512-QxJr73TUQQ4B+4mWfwH7kNNTxP3lBnNKN6zX9NnjanQ2u6Nij/SMbvym1L0T2EVgZMseFzZEQnXE3d+jbWn/aQ==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/package-graph": "4.0.0",
- "@lerna/project": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "@lerna/write-log-file": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/package-graph": "5.6.1",
+ "@lerna/project": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@lerna/write-log-file": "5.6.1",
"clone-deep": "^4.0.1",
"dedent": "^0.7.0",
"execa": "^5.0.0",
"is-ci": "^2.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": 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==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ }
}
},
"@lerna/conventional-commits": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz",
- "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.6.1.tgz",
+ "integrity": "sha512-H86fO470tU/lnws+xrSxzeJFBehAo10dtI35+AC9kwub7XwWO19AhdbQjf4PwWhG8/CTl65Tn9UMg+kHYilmzA==",
"dev": true,
"requires": {
- "@lerna/validation-error": "4.0.0",
+ "@lerna/validation-error": "5.6.1",
"conventional-changelog-angular": "^5.0.12",
- "conventional-changelog-core": "^4.2.2",
+ "conventional-changelog-core": "^4.2.4",
"conventional-recommended-bump": "^6.1.0",
"fs-extra": "^9.1.0",
"get-stream": "^6.0.0",
- "lodash.template": "^4.5.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
"semver": "^7.3.4"
+ },
+ "dependencies": {
+ "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
+ }
}
},
"@lerna/create": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz",
- "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-5.6.1.tgz",
+ "integrity": "sha512-DSDprUvSszb6qedync3TFfDLrFzP264LNPdw+MBSw4o3lpZAmAGelzyw+xSQQQjLNoGC5q/UUePKiCiWps8aPw==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/npm-conf": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/npm-conf": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"globby": "^11.0.2",
- "init-package-json": "^2.0.2",
- "npm-package-arg": "^8.1.0",
+ "init-package-json": "^3.0.2",
+ "npm-package-arg": "8.1.1",
"p-reduce": "^2.1.0",
- "pacote": "^11.2.6",
+ "pacote": "^13.6.1",
"pify": "^5.0.0",
"semver": "^7.3.4",
"slash": "^3.0.0",
"validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^3.0.0",
- "whatwg-url": "^8.4.0",
+ "validate-npm-package-name": "^4.0.0",
"yargs-parser": "20.2.4"
}
},
"@lerna/create-symlink": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz",
- "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.6.1.tgz",
+ "integrity": "sha512-u46aoyxdoHXiyOQ1vCsA8PPkPkyjZanKuiJxnqMXITMwpQFjo18FvSN9BvnZkbJ6Jwnj/boO1TjDUewrQ4wPjw==",
"dev": true,
"requires": {
- "cmd-shim": "^4.1.0",
+ "cmd-shim": "^5.0.0",
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/describe-ref": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz",
- "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.6.1.tgz",
+ "integrity": "sha512-VskLszuC3NoN5l31kSh3NiIt4cqaulBI75Ek1HDT+VcGXR2AJzsE1BweDWrh2xJBdqdK8cLp72R/vgUDbjKQCg==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.6.1",
+ "npmlog": "^6.0.2"
}
},
"@lerna/diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz",
- "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-5.6.1.tgz",
+ "integrity": "sha512-5JTxFUuLfEJZwtplAhWAbffv+FzJsP9ndsJFsmobdfKHZxxoyCvwc5fgMFRgQQMZcQue+lnZEYITJim078xy2A==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "npmlog": "^6.0.2"
}
},
"@lerna/exec": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz",
- "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-5.6.1.tgz",
+ "integrity": "sha512-nNZAm6yhbHG59xMOCnJjYjQRtjqZqwjSiWakWz8upj+2HBd2Z0eMnQvrX1j9GhurhgHzhG7AM7FLnJHyh1b3Tw==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/profiler": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/profiler": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"p-map": "^4.0.0"
}
},
"@lerna/filter-options": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz",
- "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.6.1.tgz",
+ "integrity": "sha512-uii0ZDlv2j8e6d3D25wp59L0nRUh7C3B6ImCTOraEdkir6E1UEXZK7VmIzxWD44L78vnUW1kl+j/q7Kib3cP/g==",
"dev": true,
"requires": {
- "@lerna/collect-updates": "4.0.0",
- "@lerna/filter-packages": "4.0.0",
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/filter-packages": "5.6.1",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/filter-packages": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz",
- "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.6.1.tgz",
+ "integrity": "sha512-uKaIebxrx235wg78SqY8A0ZugValdW6PgwkDFjss/Y2m8/9c+PiAbfkBeF5Q8iv8VP7te2MsGcvV12UmIQKDdA==",
"dev": true,
"requires": {
- "@lerna/validation-error": "4.0.0",
+ "@lerna/validation-error": "5.6.1",
"multimatch": "^5.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/get-npm-exec-opts": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz",
- "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.6.1.tgz",
+ "integrity": "sha512-y+Fzd9l1LM6tlarKrWxXQBKm02m7sjzj1T7vgiPW5uo324qEZVil89849iXgm2tLZt7/KD18Gqene2Hik0jmGQ==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/get-packed": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz",
- "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.6.1.tgz",
+ "integrity": "sha512-PI+WSCHXsBCF2+McaEUtcR3acZu/0JApUH+IJMz0TdYzspF4ewzEWhBn+4Gmw926oFsqnqfz37KInXNHGmBvCg==",
"dev": true,
"requires": {
"fs-extra": "^9.1.0",
- "ssri": "^8.0.1",
+ "ssri": "^9.0.1",
"tar": "^6.1.0"
}
},
"@lerna/github-client": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz",
- "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.6.1.tgz",
+ "integrity": "sha512-XGAry8MX2fou8aAP3mf1+6oPP34QdgXzrRbdtXlCv8ksddbp/S1Tn5hNvorEJn2yDMNcjIDIdvrL/T4UiVzQjA==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
+ "@lerna/child-process": "5.6.1",
"@octokit/plugin-enterprise-rest": "^6.0.1",
- "@octokit/rest": "^18.1.0",
- "git-url-parse": "^11.4.4",
- "npmlog": "^4.1.2"
+ "@octokit/rest": "^19.0.3",
+ "git-url-parse": "^13.1.0",
+ "npmlog": "^6.0.2"
}
},
"@lerna/gitlab-client": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz",
- "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.6.1.tgz",
+ "integrity": "sha512-zNG27B1dNy4QF45tUPEywthNtsDbzvsUSiokMx847Gxq5qLHtRHRR8kK51Q2dJ6u2biZafGNyzHqT5CQ/0ndnQ==",
"dev": true,
"requires": {
"node-fetch": "^2.6.1",
- "npmlog": "^4.1.2",
- "whatwg-url": "^8.4.0"
+ "npmlog": "^6.0.2"
}
},
"@lerna/global-options": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz",
- "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.6.1.tgz",
+ "integrity": "sha512-VgHVo0T2NC/YK/mR9nu8Z3DL65UtoamRclrnqK3HsaTub15UnqAlbcnEk2lB50e5TLsIZAp4TatDYrYNPKKJPQ==",
"dev": true
},
"@lerna/has-npm-version": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz",
- "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.6.1.tgz",
+ "integrity": "sha512-V6lt830kXnEm/1pHyFh9Pci4lgRbQcBr1eORAD8d03uxQDfxA7Z8Gu9afhH5m0rk+P8txNO/3pUe2pf5Ex4DGg==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
+ "@lerna/child-process": "5.6.1",
"semver": "^7.3.4"
}
},
"@lerna/import": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz",
- "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/import/-/import-5.6.1.tgz",
+ "integrity": "sha512-cOLjRAWWfY1ezsiBRIbA6lN4THu89xjtS+wJ8WUqr/xbYbGZ/qr4DBAWnpWpMfLLWN6Eel6nEAhah+Ch1IKNog==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"p-map-series": "^2.1.0"
}
},
"@lerna/info": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz",
- "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/info/-/info-5.6.1.tgz",
+ "integrity": "sha512-0ixkn6Z8jlesMozQBlG3vdivFOjleapCusjDFZ1F7quuEcWDQuW1bQ4i55ISsVhh5gLCTTwQiNEhPnDQzs7fww==",
"dev": true,
"requires": {
- "@lerna/command": "4.0.0",
- "@lerna/output": "4.0.0",
+ "@lerna/command": "5.6.1",
+ "@lerna/output": "5.6.1",
"envinfo": "^7.7.4"
}
},
"@lerna/init": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz",
- "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/init/-/init-5.6.1.tgz",
+ "integrity": "sha512-EPA3XCteadwZjb7GOqJFw+QcqwV/CrpWm9FZOEpo9uXNUCvOW8NqDlFzTEMrMiXBTldoP0H9SK9yM81c0Mip7Q==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/command": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/project": "5.6.1",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"write-json-file": "^4.3.0"
}
},
"@lerna/link": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz",
- "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/link/-/link-5.6.1.tgz",
+ "integrity": "sha512-iWr7HGviIK3N/WNUoAZVV0RRf0CQzpR9uJXmsfuVKXj5gN8IHqFOdGS8TIIN57ekC0DOpDtR21h65zZXD1TSHQ==",
"dev": true,
"requires": {
- "@lerna/command": "4.0.0",
- "@lerna/package-graph": "4.0.0",
- "@lerna/symlink-dependencies": "4.0.0",
+ "@lerna/command": "5.6.1",
+ "@lerna/package-graph": "5.6.1",
+ "@lerna/symlink-dependencies": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"p-map": "^4.0.0",
"slash": "^3.0.0"
}
},
"@lerna/list": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz",
- "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/list/-/list-5.6.1.tgz",
+ "integrity": "sha512-4VyAvVwKZQC+ntfjJuL8PbFu5jeR/8t21BzFXVWRkrZc3/sGVxSNtzi+9Brgrxm4n8qir3+wiiC4LSHdYG8Mlw==",
"dev": true,
"requires": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/listable": "4.0.0",
- "@lerna/output": "4.0.0"
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/listable": "5.6.1",
+ "@lerna/output": "5.6.1"
}
},
"@lerna/listable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz",
- "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-5.6.1.tgz",
+ "integrity": "sha512-c7vzJYEPiH0DT7BJpjomLt2zwViPupk0g/dU9rCBkm4w2jk6Vult60/O3rx5rb95PUFz/pYM+3w3vkZWXx9AnQ==",
"dev": true,
"requires": {
- "@lerna/query-graph": "4.0.0",
+ "@lerna/query-graph": "5.6.1",
"chalk": "^4.1.0",
- "columnify": "^1.5.4"
+ "columnify": "^1.6.0"
}
},
"@lerna/log-packed": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz",
- "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.6.1.tgz",
+ "integrity": "sha512-nyrrI8SbwO4nezuwDDQPea2XR3IWVRxgDzuZHA+g5utx75BuCZ2d1yrZe8URzfCIVVoGYI5OuOlv32BtLzt4tw==",
"dev": true,
"requires": {
"byte-size": "^7.0.0",
- "columnify": "^1.5.4",
+ "columnify": "^1.6.0",
"has-unicode": "^2.0.1",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/npm-conf": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz",
- "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.6.1.tgz",
+ "integrity": "sha512-u4Pg0IjMhRIGdgNr18nzwyv6wcP5Qo0QEvf07P6tV8G3ocY+3w8q6mrPyFT3NitodLQ4AMWFDfyFZzXikJI+uw==",
"dev": true,
"requires": {
"config-chain": "^1.1.12",
@@ -15286,156 +16708,170 @@
}
},
"@lerna/npm-dist-tag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz",
- "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.6.1.tgz",
+ "integrity": "sha512-YEbIP1J6V0U9qco7wk9qK0JbApIshPrUGqr0Kp1rx57pwtcwxIAvH/AEbqdVqjmItiPDpYgP7VukG7MI6EGe1w==",
"dev": true,
"requires": {
- "@lerna/otplease": "4.0.0",
- "npm-package-arg": "^8.1.0",
- "npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/otplease": "5.6.1",
+ "npm-package-arg": "8.1.1",
+ "npm-registry-fetch": "^13.3.0",
+ "npmlog": "^6.0.2"
}
},
"@lerna/npm-install": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz",
- "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.6.1.tgz",
+ "integrity": "sha512-PWJyqWzDQGkhn5/mr88yYfLF+t9NzHadcmMPYxv8lBTBUTZy9sdCw8k0uQ19lNUsI/DfMTLrcYZPSLxqe3mN8A==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/get-npm-exec-opts": "4.0.0",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/get-npm-exec-opts": "5.6.1",
"fs-extra": "^9.1.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"signal-exit": "^3.0.3",
"write-pkg": "^4.0.0"
}
},
"@lerna/npm-publish": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz",
- "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.6.1.tgz",
+ "integrity": "sha512-eSotBP+mu6EtRIfhKsbQR3m5RnL7zxhZav1zxtnYvolKPjodLlGxzqcYCqTMdnR6GAIcInFh123uuTfZNzu9CA==",
"dev": true,
"requires": {
- "@lerna/otplease": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
+ "@lerna/otplease": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
"fs-extra": "^9.1.0",
- "libnpmpublish": "^4.0.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "libnpmpublish": "^6.0.4",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
- "read-package-json": "^3.0.0"
+ "read-package-json": "^5.0.1"
}
},
"@lerna/npm-run-script": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz",
- "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.6.1.tgz",
+ "integrity": "sha512-VRScf/chK01PxFCiH6j8GWOlS8w3dH4koq7tVX9OSi3FVwqrNvN7wky/AO7cKRyuTmdoG+puDsI7gHtGclYvrQ==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "@lerna/get-npm-exec-opts": "4.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.6.1",
+ "@lerna/get-npm-exec-opts": "5.6.1",
+ "npmlog": "^6.0.2"
}
},
"@lerna/otplease": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz",
- "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.6.1.tgz",
+ "integrity": "sha512-MbS09KoDHDvsFpnwIYOZ3lu5+d/bDUm2jQ+kcJe7VH3P37t84OFRXmixSVjf1xpLuvoXbSZZsfDsYx9VkAdq4w==",
"dev": true,
"requires": {
- "@lerna/prompt": "4.0.0"
+ "@lerna/prompt": "5.6.1"
}
},
"@lerna/output": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz",
- "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/output/-/output-5.6.1.tgz",
+ "integrity": "sha512-XEUvLn8jOVL63PRcjwSd8SdjAJvWLDDNpq75hBfemHHSpcfc7qlqqkXWs+Mz1C938rub8MtPUj7ImEUo12k1KQ==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/pack-directory": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz",
- "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.6.1.tgz",
+ "integrity": "sha512-vmkvD4LnYJhPps+I9t03pV02rnZak4gyAh/St1lj/OYV9ecRWQWOqWIFhffKOFHBes3Lxmha8FMSN2IOkG1BxQ==",
"dev": true,
"requires": {
- "@lerna/get-packed": "4.0.0",
- "@lerna/package": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "npm-packlist": "^2.1.4",
- "npmlog": "^4.1.2",
- "tar": "^6.1.0",
- "temp-write": "^4.0.0"
+ "@lerna/get-packed": "5.6.1",
+ "@lerna/package": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/temp-write": "5.6.1",
+ "npm-packlist": "^5.1.1",
+ "npmlog": "^6.0.2",
+ "tar": "^6.1.0"
}
},
"@lerna/package": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz",
- "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/package/-/package-5.6.1.tgz",
+ "integrity": "sha512-QTWoRe/wTETDrF9ByhctmyZpFl+UmwSJJUcsTd2pUqvd5QaOd1twXwZdc5/1Rr08Yxl0PZqJCtZYJDcXce0eRg==",
"dev": true,
"requires": {
"load-json-file": "^6.2.0",
- "npm-package-arg": "^8.1.0",
+ "npm-package-arg": "8.1.1",
"write-pkg": "^4.0.0"
}
},
"@lerna/package-graph": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz",
- "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.6.1.tgz",
+ "integrity": "sha512-R3ToEGzFy5x1Po/eoOy8vsM2x/zxR26bFewDLUDWbs5lWDC7ml5v44JqjfWB869M/XprN55yz2/VE5NhEB6QsQ==",
"dev": true,
"requires": {
- "@lerna/prerelease-id-from-version": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "@lerna/prerelease-id-from-version": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "npm-package-arg": "8.1.1",
+ "npmlog": "^6.0.2",
"semver": "^7.3.4"
}
},
"@lerna/prerelease-id-from-version": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz",
- "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.6.1.tgz",
+ "integrity": "sha512-+ctzgoA1XAGbTQCeJjMEoQQCzCBW6WVAMVKNEOKrcsEVMb5gsKKSVha8WsKEzvK6gAC/x3pXemtuVWQvtYPw0Q==",
"dev": true,
"requires": {
"semver": "^7.3.4"
}
},
"@lerna/profiler": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz",
- "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.6.1.tgz",
+ "integrity": "sha512-HxY0hg5iHxPzyHvb7gVkZzUG+jJKZ1fErATcC53+kA7qOBTGlz2huZ8gU+rpX3SlTJGodnZ5FwHQvHD2bzkTZg==",
"dev": true,
"requires": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"upath": "^2.0.1"
}
},
"@lerna/project": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz",
- "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/project/-/project-5.6.1.tgz",
+ "integrity": "sha512-GlM+b4pyImtegQztMRsLAkSPCYfmAqCqtgkffjXQS9tMjXnUBqu4+gW/uMBTTOD2CKf+Nikwjc602rpRaUQLyw==",
"dev": true,
"requires": {
- "@lerna/package": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "@lerna/package": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
"cosmiconfig": "^7.0.0",
"dedent": "^0.7.0",
"dot-prop": "^6.0.1",
"glob-parent": "^5.1.1",
"globby": "^11.0.2",
+ "js-yaml": "^4.1.0",
"load-json-file": "^6.2.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"resolve-from": "^5.0.0",
"write-json-file": "^4.3.0"
},
"dependencies": {
+ "cosmiconfig": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "dev": true,
+ "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"
+ }
+ },
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -15445,6 +16881,18 @@
"is-glob": "^4.0.1"
}
},
+ "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==",
+ "dev": true,
+ "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"
+ }
+ },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -15454,213 +16902,249 @@
}
},
"@lerna/prompt": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz",
- "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.6.1.tgz",
+ "integrity": "sha512-CZSHV2yK6I6+35IKz7Fh3SeNSPR4XuCFXsW0RuauTZoNffk3mP2pOt/CrI1P6yOj7tqcyjghzzv1gkINtrq4/w==",
"dev": true,
"requires": {
- "inquirer": "^7.3.3",
- "npmlog": "^4.1.2"
+ "inquirer": "^8.2.4",
+ "npmlog": "^6.0.2"
}
},
"@lerna/publish": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz",
- "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==",
- "dev": true,
- "requires": {
- "@lerna/check-working-tree": "4.0.0",
- "@lerna/child-process": "4.0.0",
- "@lerna/collect-updates": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/describe-ref": "4.0.0",
- "@lerna/log-packed": "4.0.0",
- "@lerna/npm-conf": "4.0.0",
- "@lerna/npm-dist-tag": "4.0.0",
- "@lerna/npm-publish": "4.0.0",
- "@lerna/otplease": "4.0.0",
- "@lerna/output": "4.0.0",
- "@lerna/pack-directory": "4.0.0",
- "@lerna/prerelease-id-from-version": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/pulse-till-done": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/validation-error": "4.0.0",
- "@lerna/version": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-5.6.1.tgz",
+ "integrity": "sha512-J2zYyDGXs44YQ1h19933F9bm3fjog0gNpD27kL7Zw2nrMrR/LAuxNIFT/0ljtZSuMjlXllxZ7Kyxyz1gvMv3cA==",
+ "dev": true,
+ "requires": {
+ "@lerna/check-working-tree": "5.6.1",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/describe-ref": "5.6.1",
+ "@lerna/log-packed": "5.6.1",
+ "@lerna/npm-conf": "5.6.1",
+ "@lerna/npm-dist-tag": "5.6.1",
+ "@lerna/npm-publish": "5.6.1",
+ "@lerna/otplease": "5.6.1",
+ "@lerna/output": "5.6.1",
+ "@lerna/pack-directory": "5.6.1",
+ "@lerna/prerelease-id-from-version": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/pulse-till-done": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@lerna/version": "5.6.1",
"fs-extra": "^9.1.0",
- "libnpmaccess": "^4.0.1",
- "npm-package-arg": "^8.1.0",
- "npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2",
+ "libnpmaccess": "^6.0.3",
+ "npm-package-arg": "8.1.1",
+ "npm-registry-fetch": "^13.3.0",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
- "pacote": "^11.2.6",
+ "pacote": "^13.6.1",
"semver": "^7.3.4"
}
},
"@lerna/pulse-till-done": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz",
- "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.6.1.tgz",
+ "integrity": "sha512-SCD1gCSkC4roOvCB0GTvnFrYVTLX7o9TXykyg5UTXb/XRMNqr9ZBFH7qZHJnleO9x3eMk1oh4W1rvfFIITyRjw==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/query-graph": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz",
- "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.6.1.tgz",
+ "integrity": "sha512-ySXS5Ur/GtrBOr+u5FZxrcH0xD3LsBSu68OEPNnMIAdt66AOhh6K4OXmc58biTN0sWAdnE43mulqA87bZH0aMg==",
"dev": true,
"requires": {
- "@lerna/package-graph": "4.0.0"
+ "@lerna/package-graph": "5.6.1"
}
},
"@lerna/resolve-symlink": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz",
- "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.6.1.tgz",
+ "integrity": "sha512-25TdowB5dIVycCJWyZGBDPSz6LoFOi/YRh85+dL1RrvxmvfiDwjrJ8P4eDl03/fDSV9YTFVYYmR8r1K2Vw8kQg==",
"dev": true,
"requires": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
- "read-cmd-shim": "^2.0.0"
+ "npmlog": "^6.0.2",
+ "read-cmd-shim": "^3.0.0"
}
},
"@lerna/rimraf-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz",
- "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.6.1.tgz",
+ "integrity": "sha512-1lm5FIiwFOpSzCMyNF90HX6NWHzDmY47TgDs07416B8ghMtZgb5aLMHi/aoarqWopn4X0ae3lxsZjUEOhSAWgA==",
"dev": true,
"requires": {
- "@lerna/child-process": "4.0.0",
- "npmlog": "^4.1.2",
+ "@lerna/child-process": "5.6.1",
+ "npmlog": "^6.0.2",
"path-exists": "^4.0.0",
"rimraf": "^3.0.2"
}
},
"@lerna/run": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz",
- "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==",
- "dev": true,
- "requires": {
- "@lerna/command": "4.0.0",
- "@lerna/filter-options": "4.0.0",
- "@lerna/npm-run-script": "4.0.0",
- "@lerna/output": "4.0.0",
- "@lerna/profiler": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/timer": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/run/-/run-5.6.1.tgz",
+ "integrity": "sha512-kb4hwnhth3GKWIxoNlA/xdDUWGbK67yx1aLEyZjssmMemxfSKxvqrNB+TaHAPSz27hyAKqnOL9Ym/YkAt7s59A==",
+ "dev": true,
+ "requires": {
+ "@lerna/command": "5.6.1",
+ "@lerna/filter-options": "5.6.1",
+ "@lerna/npm-run-script": "5.6.1",
+ "@lerna/output": "5.6.1",
+ "@lerna/profiler": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/timer": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "fs-extra": "^9.1.0",
"p-map": "^4.0.0"
}
},
"@lerna/run-lifecycle": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz",
- "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.6.1.tgz",
+ "integrity": "sha512-LkEvYDVYNX2mUY3PoNoDDBPDMofzNa5dHvAg7P2NVpffE41VbWBI0c0Q7uhN9nGuCksvsqamTffvmPdU9lCffA==",
"dev": true,
"requires": {
- "@lerna/npm-conf": "4.0.0",
- "npm-lifecycle": "^3.1.5",
- "npmlog": "^4.1.2"
+ "@lerna/npm-conf": "5.6.1",
+ "@npmcli/run-script": "^4.1.7",
+ "npmlog": "^6.0.2",
+ "p-queue": "^6.6.2"
}
},
"@lerna/run-topologically": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz",
- "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.6.1.tgz",
+ "integrity": "sha512-UjOppd/1dSQxDfIjQIJOH+c/lLwuTKSNyd9uKhII11OnpO+gmBP1kvA65k1cm9EZVky63o7X9/O+oTB8Tr8C3g==",
"dev": true,
"requires": {
- "@lerna/query-graph": "4.0.0",
+ "@lerna/query-graph": "5.6.1",
"p-queue": "^6.6.2"
}
},
"@lerna/symlink-binary": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz",
- "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.6.1.tgz",
+ "integrity": "sha512-Y9x8gvvAP281467+QPwp56L6DDGdWtt24pREyWF7D+FIRcooJ29pn2C3B0rmzd5Ti63/6mrfCipUp9DXSWGwNg==",
"dev": true,
"requires": {
- "@lerna/create-symlink": "4.0.0",
- "@lerna/package": "4.0.0",
+ "@lerna/create-symlink": "5.6.1",
+ "@lerna/package": "5.6.1",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0"
}
},
"@lerna/symlink-dependencies": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz",
- "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.6.1.tgz",
+ "integrity": "sha512-lKnJFbEpIdj9R70cpRor6vf3pxBnvk0RF7fwiTlWpF2BmlBYVihM+lML2vCts5G7ZBSQ9zTVyIqlCXG3qhyoxQ==",
"dev": true,
"requires": {
- "@lerna/create-symlink": "4.0.0",
- "@lerna/resolve-symlink": "4.0.0",
- "@lerna/symlink-binary": "4.0.0",
+ "@lerna/create-symlink": "5.6.1",
+ "@lerna/resolve-symlink": "5.6.1",
+ "@lerna/symlink-binary": "5.6.1",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0"
}
},
+ "@lerna/temp-write": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.6.1.tgz",
+ "integrity": "sha512-o0MOTsAfvMM8RC2o1wQ//F05hUd/cZJjBH8PKTrgXINDweW9VFey2fuUdL7TCpzgC4MUenL2x1nV6o8w87nFOQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.15",
+ "is-stream": "^2.0.0",
+ "make-dir": "^3.0.0",
+ "temp-dir": "^1.0.0",
+ "uuid": "^8.3.2"
+ },
+ "dependencies": {
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ }
+ }
+ },
"@lerna/timer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz",
- "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-5.6.1.tgz",
+ "integrity": "sha512-MALjTi1KuYZeRPH18xttlJb6+BLAcVuwGIsSYHBREkuXdRwW1oEcnnN5xzGsMGpG0KRxWu5wgNgc94aH/MCz6A==",
"dev": true
},
"@lerna/validation-error": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz",
- "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.6.1.tgz",
+ "integrity": "sha512-0Kl9SmRb72bcXANdRO3fjuz+hHhHL9AEl/exCGODaT+PYAC+xH717Xj2ts/1u4qNuLlsQEE6+iVhAAMLUv86CA==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/version": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz",
- "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==",
- "dev": true,
- "requires": {
- "@lerna/check-working-tree": "4.0.0",
- "@lerna/child-process": "4.0.0",
- "@lerna/collect-updates": "4.0.0",
- "@lerna/command": "4.0.0",
- "@lerna/conventional-commits": "4.0.0",
- "@lerna/github-client": "4.0.0",
- "@lerna/gitlab-client": "4.0.0",
- "@lerna/output": "4.0.0",
- "@lerna/prerelease-id-from-version": "4.0.0",
- "@lerna/prompt": "4.0.0",
- "@lerna/run-lifecycle": "4.0.0",
- "@lerna/run-topologically": "4.0.0",
- "@lerna/validation-error": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/version/-/version-5.6.1.tgz",
+ "integrity": "sha512-s9WIzduXOxeLH2Vu0T2HLBe1ICd9gxUsB3tlUyQveIAGE5wBuTAIL3nGQ3ljImPzFnriPqcS0xa5PC2DaW9JLA==",
+ "dev": true,
+ "requires": {
+ "@lerna/check-working-tree": "5.6.1",
+ "@lerna/child-process": "5.6.1",
+ "@lerna/collect-updates": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/conventional-commits": "5.6.1",
+ "@lerna/github-client": "5.6.1",
+ "@lerna/gitlab-client": "5.6.1",
+ "@lerna/output": "5.6.1",
+ "@lerna/prerelease-id-from-version": "5.6.1",
+ "@lerna/prompt": "5.6.1",
+ "@lerna/run-lifecycle": "5.6.1",
+ "@lerna/run-topologically": "5.6.1",
+ "@lerna/temp-write": "5.6.1",
+ "@lerna/validation-error": "5.6.1",
+ "@nrwl/devkit": ">=14.8.1 < 16",
"chalk": "^4.1.0",
"dedent": "^0.7.0",
"load-json-file": "^6.2.0",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
"p-reduce": "^2.1.0",
"p-waterfall": "^2.1.1",
"semver": "^7.3.4",
"slash": "^3.0.0",
- "temp-write": "^4.0.0",
"write-json-file": "^4.3.0"
}
},
"@lerna/write-log-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz",
- "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.6.1.tgz",
+ "integrity": "sha512-wvgkL/tMozHbW6EkCFH7yLhLh5D3djRuwREsn5ptZxcCcay1RQjraON18yMX06mwsPfbpDItMH4D68q1dMSk5w==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2",
- "write-file-atomic": "^3.0.3"
+ "npmlog": "^6.0.2",
+ "write-file-atomic": "^4.0.1"
+ },
+ "dependencies": {
+ "write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ }
+ }
}
},
"@lit/reactive-element": {
@@ -15703,32 +17187,92 @@
"fastq": "^1.6.0"
}
},
- "@npmcli/ci-detect": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz",
- "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==",
- "dev": true
+ "@npmcli/arborist": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz",
+ "integrity": "sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==",
+ "dev": 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"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^7.5.1"
+ }
+ },
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
+ }
+ }
+ }
},
"@npmcli/fs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
- "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
+ "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
"dev": true,
"requires": {
- "@gar/promisify": "^1.0.1",
+ "@gar/promisify": "^1.1.3",
"semver": "^7.3.5"
}
},
"@npmcli/git": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz",
- "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz",
+ "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==",
"dev": true,
"requires": {
- "@npmcli/promise-spawn": "^1.3.2",
- "lru-cache": "^6.0.0",
+ "@npmcli/promise-spawn": "^3.0.0",
+ "lru-cache": "^7.4.4",
"mkdirp": "^1.0.4",
- "npm-pick-manifest": "^6.1.1",
+ "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",
@@ -15745,122 +17289,196 @@
"npm-normalize-package-bin": "^1.0.1"
}
},
+ "@npmcli/map-workspaces": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz",
+ "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==",
+ "dev": true,
+ "requires": {
+ "@npmcli/name-from-folder": "^1.0.1",
+ "glob": "^8.0.1",
+ "minimatch": "^5.0.1",
+ "read-package-json-fast": "^2.0.3"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "@npmcli/metavuln-calculator": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz",
+ "integrity": "sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==",
+ "dev": 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": "1.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
- "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+ "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
"dev": true,
"requires": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
}
},
+ "@npmcli/name-from-folder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz",
+ "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==",
+ "dev": true
+ },
"@npmcli/node-gyp": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz",
- "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz",
+ "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==",
"dev": true
},
+ "@npmcli/package-json": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz",
+ "integrity": "sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==",
+ "dev": true,
+ "requires": {
+ "json-parse-even-better-errors": "^2.3.1"
+ }
+ },
"@npmcli/promise-spawn": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz",
- "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz",
+ "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==",
"dev": true,
"requires": {
"infer-owner": "^1.0.4"
}
},
"@npmcli/run-script": {
- "version": "1.8.6",
- "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz",
- "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz",
+ "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==",
"dev": true,
"requires": {
- "@npmcli/node-gyp": "^1.0.2",
- "@npmcli/promise-spawn": "^1.3.2",
- "node-gyp": "^7.1.0",
- "read-package-json-fast": "^2.0.1"
- },
- "dependencies": {
- "node-gyp": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
- "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
- "dev": true,
- "requires": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.3",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "request": "^2.88.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.2",
- "tar": "^6.0.2",
- "which": "^2.0.2"
- }
- },
- "nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- }
+ "@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"
+ }
+ },
+ "@nrwl/cli": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-14.8.3.tgz",
+ "integrity": "sha512-a8URAbqyZvegXMYU8pCA3Hfv0UdiDJc6HboazxinCJJgZWyqKYxRIWmKiWnfpXsr+qF6ntmBR/tC6yHbOL22gQ==",
+ "dev": true,
+ "requires": {
+ "nx": "14.8.3"
+ }
+ },
+ "@nrwl/devkit": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-14.8.3.tgz",
+ "integrity": "sha512-jEH+oKS4F4MJvoIe0Zw6zUODO2j2ib7f+62D4lMDKl5qopcgnKyU9rVnSCDolqCH81j326dfr8b7FfE6Z7p71A==",
+ "dev": true,
+ "requires": {
+ "@phenomnomnominal/tsquery": "4.1.1",
+ "ejs": "^3.1.7",
+ "ignore": "^5.0.4",
+ "tslib": "^2.3.0"
+ }
+ },
+ "@nrwl/tao": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-14.8.3.tgz",
+ "integrity": "sha512-lN7+1biSM/7PYMMgh3jjOXJ9fe6VjhVrtZsDcB6lcklpShjXfHXqlpXDM7vjlw19aLeZMdFWHFoU2C5BTBtzgQ==",
+ "dev": true,
+ "requires": {
+ "nx": "14.8.3"
}
},
"@octokit/auth-token": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
- "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.1.tgz",
+ "integrity": "sha512-/USkK4cioY209wXRpund6HZzHo9GmjakpV9ycOkpMcMxMk7QVcVFVyCMtzvXYiHsB2crgDgrtNYSELYFBXhhaA==",
"dev": true,
"requires": {
- "@octokit/types": "^6.0.3"
+ "@octokit/types": "^7.0.0"
}
},
"@octokit/core": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
- "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.0.5.tgz",
+ "integrity": "sha512-4R3HeHTYVHCfzSAi0C6pbGXV8UDI5Rk+k3G7kLVNckswN9mvpOzW9oENfjfH3nEmzg8y3AmKmzs8Sg6pLCeOCA==",
"dev": true,
"requires": {
- "@octokit/auth-token": "^2.4.4",
- "@octokit/graphql": "^4.5.8",
- "@octokit/request": "^5.6.3",
- "@octokit/request-error": "^2.0.5",
- "@octokit/types": "^6.0.3",
+ "@octokit/auth-token": "^3.0.0",
+ "@octokit/graphql": "^5.0.0",
+ "@octokit/request": "^6.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^7.0.0",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
- "version": "6.0.12",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
- "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.2.tgz",
+ "integrity": "sha512-8/AUACfE9vpRpehE6ZLfEtzkibe5nfsSwFZVMsG8qabqRt1M81qZYUFRZa1B8w8lP6cdfDJfRq9HWS+MbmR7tw==",
"dev": true,
"requires": {
- "@octokit/types": "^6.0.3",
+ "@octokit/types": "^7.0.0",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
- "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.1.tgz",
+ "integrity": "sha512-sxmnewSwAixkP1TrLdE6yRG53eEhHhDTYUykUwdV9x8f91WcbhunIHk9x1PZLALdBZKRPUO2HRcm4kezZ79HoA==",
"dev": true,
"requires": {
- "@octokit/request": "^5.6.0",
- "@octokit/types": "^6.0.3",
+ "@octokit/request": "^6.0.0",
+ "@octokit/types": "^7.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz",
- "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==",
+ "version": "13.13.1",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.13.1.tgz",
+ "integrity": "sha512-4EuKSk3N95UBWFau3Bz9b3pheQ8jQYbKmBL5+GSuY8YDPDwu03J4BjI+66yNi8aaX/3h1qDpb0mbBkLdr+cfGQ==",
"dev": true
},
"@octokit/plugin-enterprise-rest": {
@@ -15870,12 +17488,12 @@
"dev": true
},
"@octokit/plugin-paginate-rest": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz",
- "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-4.3.1.tgz",
+ "integrity": "sha512-h8KKxESmSFTcXX409CAxlaOYscEDvN2KGQRsLCGT1NSqRW+D6EXLVQ8vuHhFznS9MuH9QYw1GfsUN30bg8hjVA==",
"dev": true,
"requires": {
- "@octokit/types": "^6.34.0"
+ "@octokit/types": "^7.5.0"
}
},
"@octokit/plugin-request-log": {
@@ -15886,59 +17504,78 @@
"requires": {}
},
"@octokit/plugin-rest-endpoint-methods": {
- "version": "5.13.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz",
- "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.6.2.tgz",
+ "integrity": "sha512-n9dL5KMpz9qVFSNdcVWC8ZPbl68QbTk7+CMPXCXqaMZOLn1n1YuoSFFCy84Ge0fx333fUqpnBHv8BFjwGtUQkA==",
"dev": true,
"requires": {
- "@octokit/types": "^6.34.0",
+ "@octokit/types": "^7.5.0",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
- "version": "5.6.3",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
- "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.1.tgz",
+ "integrity": "sha512-gYKRCia3cpajRzDSU+3pt1q2OcuC6PK8PmFIyxZDWCzRXRSIBH8jXjFJ8ZceoygBIm0KsEUg4x1+XcYBz7dHPQ==",
"dev": true,
"requires": {
- "@octokit/endpoint": "^6.0.1",
- "@octokit/request-error": "^2.1.0",
- "@octokit/types": "^6.16.1",
+ "@octokit/endpoint": "^7.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^7.0.0",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.7",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
- "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.1.tgz",
+ "integrity": "sha512-ym4Bp0HTP7F3VFssV88WD1ZyCIRoE8H35pXSKwLeMizcdZAYc/t6N9X9Yr9n6t3aG9IH75XDnZ6UeZph0vHMWQ==",
"dev": true,
"requires": {
- "@octokit/types": "^6.0.3",
+ "@octokit/types": "^7.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
- "version": "18.12.0",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
- "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
+ "version": "19.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.4.tgz",
+ "integrity": "sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA==",
"dev": true,
"requires": {
- "@octokit/core": "^3.5.1",
- "@octokit/plugin-paginate-rest": "^2.16.8",
+ "@octokit/core": "^4.0.0",
+ "@octokit/plugin-paginate-rest": "^4.0.0",
"@octokit/plugin-request-log": "^1.0.4",
- "@octokit/plugin-rest-endpoint-methods": "^5.12.0"
+ "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
}
},
"@octokit/types": {
- "version": "6.34.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz",
- "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.5.1.tgz",
+ "integrity": "sha512-Zk4OUMLCSpXNI8KZZn47lVLJSsgMyCimsWWQI5hyjZg7hdYm0kjotaIkbG0Pp8SfU2CofMBzonboTqvzn3FrJA==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^13.11.0"
+ }
+ },
+ "@parcel/watcher": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+ "dev": true,
+ "requires": {
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ }
+ },
+ "@phenomnomnominal/tsquery": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz",
+ "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==",
"dev": true,
"requires": {
- "@octokit/openapi-types": "^11.2.0"
+ "esquery": "^1.0.1"
}
},
"@sinonjs/commons": {
@@ -15957,12 +17594,48 @@
"@sinonjs/commons": "^1.7.0"
}
},
+ "@testing-library/dom": {
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.18.1.tgz",
+ "integrity": "sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==",
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^4.2.0",
+ "aria-query": "^5.0.0",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.4.4",
+ "pretty-format": "^27.0.2"
+ }
+ },
+ "@testing-library/react": {
+ "version": "12.1.5",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz",
+ "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==",
+ "requires": {
+ "@babel/runtime": "^7.12.5",
+ "@testing-library/dom": "^8.0.0",
+ "@types/react-dom": "<18.0.0"
+ }
+ },
+ "@testing-library/user-event": {
+ "version": "14.4.3",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz",
+ "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==",
+ "requires": {}
+ },
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true
},
+ "@types/aria-query": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz",
+ "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig=="
+ },
"@types/babel__core": {
"version": "7.1.19",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
@@ -15996,9 +17669,9 @@
}
},
"@types/babel__traverse": {
- "version": "7.14.2",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz",
- "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==",
+ "version": "7.18.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz",
+ "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==",
"dev": true,
"requires": {
"@babel/types": "^7.3.0"
@@ -16066,9 +17739,9 @@
}
},
"@types/jest": {
- "version": "27.4.1",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz",
- "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==",
+ "version": "27.5.2",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz",
+ "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==",
"dev": true,
"requires": {
"jest-matcher-utils": "^27.0.0",
@@ -16076,15 +17749,15 @@
}
},
"@types/json-schema": {
- "version": "7.0.10",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz",
- "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==",
+ "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==",
"dev": true
},
"@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/minimatch": {
@@ -16125,16 +17798,44 @@
"dev": true
},
"@types/prettier": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz",
- "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==",
"dev": true
},
+ "@types/prop-types": {
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ },
"@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=="
},
+ "@types/react": {
+ "version": "17.0.50",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz",
+ "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==",
+ "requires": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "@types/react-dom": {
+ "version": "17.0.17",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz",
+ "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==",
+ "requires": {
+ "@types/react": "^17"
+ }
+ },
+ "@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ },
"@types/stack-utils": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
@@ -16159,98 +17860,98 @@
"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
},
"@typescript-eslint/eslint-plugin": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz",
- "integrity": "sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz",
+ "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.16.0",
- "@typescript-eslint/type-utils": "5.16.0",
- "@typescript-eslint/utils": "5.16.0",
- "debug": "^4.3.2",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.1.8",
+ "@typescript-eslint/scope-manager": "5.39.0",
+ "@typescript-eslint/type-utils": "5.39.0",
+ "@typescript-eslint/utils": "5.39.0",
+ "debug": "^4.3.4",
+ "ignore": "^5.2.0",
"regexpp": "^3.2.0",
- "semver": "^7.3.5",
+ "semver": "^7.3.7",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/parser": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz",
- "integrity": "sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz",
+ "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.16.0",
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/typescript-estree": "5.16.0",
- "debug": "^4.3.2"
+ "@typescript-eslint/scope-manager": "5.39.0",
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/typescript-estree": "5.39.0",
+ "debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz",
- "integrity": "sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz",
+ "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/visitor-keys": "5.16.0"
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/visitor-keys": "5.39.0"
}
},
"@typescript-eslint/type-utils": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz",
- "integrity": "sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz",
+ "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==",
"dev": true,
"requires": {
- "@typescript-eslint/utils": "5.16.0",
- "debug": "^4.3.2",
+ "@typescript-eslint/typescript-estree": "5.39.0",
+ "@typescript-eslint/utils": "5.39.0",
+ "debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz",
- "integrity": "sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz",
+ "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz",
- "integrity": "sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz",
+ "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/visitor-keys": "5.16.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/visitor-keys": "5.39.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
"is-glob": "^4.0.3",
- "semver": "^7.3.5",
+ "semver": "^7.3.7",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/utils": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz",
- "integrity": "sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz",
+ "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.16.0",
- "@typescript-eslint/types": "5.16.0",
- "@typescript-eslint/typescript-estree": "5.16.0",
+ "@typescript-eslint/scope-manager": "5.39.0",
+ "@typescript-eslint/types": "5.39.0",
+ "@typescript-eslint/typescript-estree": "5.39.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz",
- "integrity": "sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz",
+ "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.16.0",
- "eslint-visitor-keys": "^3.0.0"
+ "@typescript-eslint/types": "5.39.0",
+ "eslint-visitor-keys": "^3.3.0"
}
},
"@vue/compiler-core": {
@@ -16336,6 +18037,13 @@
"@vue/runtime-core": "3.2.40",
"@vue/shared": "3.2.40",
"csstype": "^2.6.8"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ }
}
},
"@vue/server-renderer": {
@@ -16351,11 +18059,58 @@
"version": "3.2.40",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz",
"integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ=="
+
+ },
+ "@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "dev": true
+ },
+ "@yarnpkg/parsers": {
+ "version": "3.0.0-rc.22",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.22.tgz",
+ "integrity": "sha512-GAWDjXduYBUVmOzlj3X0OwTQ1BV4ZeDdgw8yXST3K0lB95drWEGxa1at0v7BmHDyK2y1F1IJufc8N4yrcuXjWg==",
+ "dev": true,
+ "requires": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.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"
+ }
+ }
+ }
+ },
+ "@zkochan/js-yaml": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+ "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
},
"abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
"dev": true
},
"abbrev": {
@@ -16365,9 +18120,9 @@
"dev": true
},
"acorn": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
- "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
"dev": true
},
"acorn-globals": {
@@ -16404,7 +18159,7 @@
"add-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
- "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=",
+ "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
"dev": true
},
"agent-base": {
@@ -16448,6 +18203,12 @@
"uri-js": "^4.2.2"
}
},
+ "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==",
+ "dev": true
+ },
"ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -16471,9 +18232,12 @@
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"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=="
+ "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",
@@ -16492,39 +18256,13 @@
"dev": true
},
"are-we-there-yet": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
- "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+ "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
"dev": true,
"requires": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "readable-stream": "^3.6.0"
}
},
"argparse": {
@@ -16533,6 +18271,11 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
+ "aria-query": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz",
+ "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q=="
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -16557,18 +18300,18 @@
"array-ify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
- "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
+ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
"dev": true
},
"array-includes": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
- "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
+ "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5",
"get-intrinsic": "^1.1.1",
"is-string": "^1.0.7"
}
@@ -16590,51 +18333,43 @@
"integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ=="
},
"array.prototype.flat": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz",
- "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
+ "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.19.0"
+ "es-abstract": "^1.19.2",
+ "es-shim-unscopables": "^1.0.0"
}
},
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
"dev": true
},
"asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
- },
- "asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw=="
},
+ "async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
+ },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"at-least-node": {
"version": "1.0.0",
@@ -16647,17 +18382,14 @@
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
+ "axios": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
+ "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
+ "dev": true,
+ "requires": {
+ "follow-redirects": "^1.10.0"
+ }
},
"babel-jest": {
"version": "27.5.1",
@@ -16759,21 +18491,67 @@
}
}
},
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true
+ },
+ "before-after-hook": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
+ "dev": true
+ },
+ "bin-links": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz",
+ "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==",
"dev": true,
"requires": {
- "tweetnacl": "^0.14.3"
+ "cmd-shim": "^5.0.0",
+ "mkdirp-infer-owner": "^2.0.0",
+ "npm-normalize-package-bin": "^2.0.0",
+ "read-cmd-shim": "^3.0.0",
+ "rimraf": "^3.0.0",
+ "write-file-atomic": "^4.0.0"
+ },
+ "dependencies": {
+ "npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ }
+ }
}
},
- "before-after-hook": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
- "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==",
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true
},
+ "bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
+ "requires": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -16798,16 +18576,15 @@
"dev": true
},
"browserslist": {
- "version": "4.20.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
- "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
+ "version": "4.21.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001317",
- "electron-to-chromium": "^1.4.84",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.2",
- "picocolors": "^1.0.0"
+ "caniuse-lite": "^1.0.30001400",
+ "electron-to-chromium": "^1.4.251",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.9"
}
},
"bs-logger": {
@@ -16828,22 +18605,29 @@
"node-int64": "^0.4.0"
}
},
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
"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=="
},
"builtins": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
- "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
- "dev": true
- },
- "byline": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
- "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
- "dev": true
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.0.0"
+ }
},
"byte-size": {
"version": "7.0.1",
@@ -16852,29 +18636,62 @@
"dev": true
},
"cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "version": "16.1.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
+ "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
"dev": true,
"requires": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
+ "@npmcli/fs": "^2.1.0",
+ "@npmcli/move-file": "^2.0.0",
"chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
+ "fs-minipass": "^2.1.0",
+ "glob": "^8.0.1",
"infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
+ "minipass-pipeline": "^1.2.4",
+ "mkdirp": "^1.0.4",
"p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
"rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
+ "ssri": "^9.0.0",
+ "tar": "^6.1.11",
+ "unique-filename": "^2.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
"cache-base": {
@@ -16910,7 +18727,7 @@
"caller-callsite": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==",
"dev": true,
"requires": {
"callsites": "^2.0.0"
@@ -16919,7 +18736,7 @@
"callsites": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==",
"dev": true
}
}
@@ -16927,7 +18744,7 @@
"caller-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==",
"dev": true,
"requires": {
"caller-callsite": "^2.0.0"
@@ -16957,15 +18774,15 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001319",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
- "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==",
+ "version": "1.0.30001418",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz",
+ "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==",
"dev": true
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
},
"chalk": {
"version": "4.1.2",
@@ -16974,29 +18791,6 @@
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "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=="
- }
}
},
"char-regex": {
@@ -17011,6 +18805,33 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "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"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
+ }
+ },
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -17018,9 +18839,10 @@
"dev": true
},
"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=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
},
"cjs-module-lexer": {
"version": "1.2.2",
@@ -17114,6 +18936,12 @@
"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==",
+ "dev": true
+ },
"cli-width": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
@@ -17134,7 +18962,7 @@
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"dev": true
},
"clone-deep": {
@@ -17160,9 +18988,9 @@
}
},
"cmd-shim": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz",
- "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz",
+ "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==",
"dev": true,
"requires": {
"mkdirp-infer-owner": "^2.0.0"
@@ -17171,13 +18999,7 @@
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
"dev": true
},
"collect-v8-coverage": {
@@ -17196,17 +19018,23 @@
}
},
"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==",
+ "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.3"
+ "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-support": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true
},
"columnify": {
"version": "1.6.0",
@@ -17232,6 +19060,12 @@
"integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==",
"dev": true
},
+ "common-ancestor-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz",
+ "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==",
+ "dev": true
+ },
"compare-func": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
@@ -17261,7 +19095,7 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"concat-stream": {
"version": "2.0.0",
@@ -17288,7 +19122,7 @@
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
"dev": true
},
"conventional-changelog-angular": {
@@ -17321,6 +19155,78 @@
"read-pkg": "^3.0.0",
"read-pkg-up": "^3.0.0",
"through2": "^4.0.0"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "dependencies": {
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "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
+ }
}
},
"conventional-changelog-preset-loader": {
@@ -17409,21 +19315,57 @@
"integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw=="
},
"core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"cosmiconfig": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
"dev": true,
"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"
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.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"
+ }
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==",
+ "dev": true,
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "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": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==",
+ "dev": true
+ }
}
},
"cp-file": {
@@ -17706,9 +19648,10 @@
}
},
"csstype": {
- "version": "2.6.21",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
+
},
"dargs": {
"version": "7.0.0",
@@ -17716,15 +19659,6 @@
"integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
"dev": true
},
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
"data-urls": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
@@ -17762,19 +19696,19 @@
"debuglog": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
- "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+ "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==",
"dev": true
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
"dev": true
},
"decamelize-keys": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
- "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==",
"dev": true,
"requires": {
"decamelize": "^1.1.0",
@@ -17784,26 +19718,26 @@
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
"dev": true
}
}
},
"decimal.js": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
- "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.1.tgz",
+ "integrity": "sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw==",
"dev": true
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og=="
},
"dedent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
"dev": true
},
"deep-is": {
@@ -17821,19 +19755,26 @@
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
"dev": true,
"requires": {
"clone": "^1.0.2"
}
},
+ "define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true
+ },
"define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
"dev": true,
"requires": {
- "object-keys": "^1.0.12"
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
}
},
"define-property": {
@@ -17848,18 +19789,18 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"dev": true
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"dev": true
},
"deprecation": {
@@ -17881,9 +19822,9 @@
"dev": true
},
"dezalgo": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
- "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
"dev": true,
"requires": {
"asap": "^2.0.0",
@@ -17914,6 +19855,11 @@
"esutils": "^2.0.2"
}
},
+ "dom-accessibility-api": {
+ "version": "0.5.14",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz",
+ "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg=="
+ },
"domexception": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
@@ -17940,26 +19886,31 @@
"is-obj": "^2.0.0"
}
},
+ "dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+ "dev": true
+ },
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
"dev": true
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"dev": true,
"requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "jake": "^10.8.5"
}
},
"electron-to-chromium": {
- "version": "1.4.89",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.89.tgz",
- "integrity": "sha512-z1Axg0Fu54fse8wN4fd+GAINdU5mJmLtcl6bqIcYyzNVGONcfHAeeJi88KYMQVKalhXlYuVPzKkFIU5VD0raUw==",
+ "version": "1.4.275",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz",
+ "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==",
"dev": true
},
"emittery": {
@@ -18003,6 +19954,15 @@
"once": "^1.4.0"
}
},
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
"env-paths": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
@@ -18031,31 +19991,44 @@
}
},
"es-abstract": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
- "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==",
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
+ "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
- "get-intrinsic": "^1.1.1",
+ "function.prototype.name": "^1.1.5",
+ "get-intrinsic": "^1.1.3",
"get-symbol-description": "^1.0.0",
"has": "^1.0.3",
- "has-symbols": "^1.0.2",
+ "has-property-descriptors": "^1.0.0",
+ "has-symbols": "^1.0.3",
"internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
- "is-negative-zero": "^2.0.1",
+ "is-callable": "^1.2.7",
+ "is-negative-zero": "^2.0.2",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.1",
+ "is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
- "is-weakref": "^1.0.1",
- "object-inspect": "^1.11.0",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.12.2",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "string.prototype.trimend": "^1.0.4",
- "string.prototype.trimstart": "^1.0.4",
- "unbox-primitive": "^1.0.1"
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.4.3",
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trimend": "^1.0.5",
+ "string.prototype.trimstart": "^1.0.5",
+ "unbox-primitive": "^1.0.2"
+ }
+ },
+ "es-shim-unscopables": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
+ "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
}
},
"es-to-primitive": {
@@ -18103,7 +20076,7 @@
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
"dev": true,
"requires": {
"prelude-ls": "~1.1.2",
@@ -18127,13 +20100,13 @@
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
"dev": true
},
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
"dev": true,
"requires": {
"prelude-ls": "~1.1.2"
@@ -18142,13 +20115,15 @@
}
},
"eslint": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz",
- "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==",
+ "version": "8.24.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz",
+ "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==",
"dev": true,
"requires": {
- "@eslint/eslintrc": "^1.2.1",
- "@humanwhocodes/config-array": "^0.9.2",
+ "@eslint/eslintrc": "^1.3.2",
+ "@humanwhocodes/config-array": "^0.10.5",
+ "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+ "@humanwhocodes/module-importer": "^1.0.1",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -18158,30 +20133,32 @@
"eslint-scope": "^7.1.1",
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.3.0",
- "espree": "^9.3.1",
+ "espree": "^9.4.0",
"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",
+ "find-up": "^5.0.0",
"glob-parent": "^6.0.1",
- "globals": "^13.6.0",
+ "globals": "^13.15.0",
+ "globby": "^11.1.0",
+ "grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
+ "js-sdsl": "^4.1.4",
"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",
+ "minimatch": "^3.1.2",
"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"
+ "text-table": "^0.2.0"
},
"dependencies": {
"eslint-scope": {
@@ -18231,13 +20208,12 @@
}
},
"eslint-module-utils": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
- "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
+ "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
"dev": true,
"requires": {
- "debug": "^3.2.7",
- "find-up": "^2.1.0"
+ "debug": "^3.2.7"
},
"dependencies": {
"debug": {
@@ -18264,9 +20240,9 @@
}
},
"eslint-plugin-import": {
- "version": "2.25.4",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
- "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
+ "version": "2.26.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
+ "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
"dev": true,
"requires": {
"array-includes": "^3.1.4",
@@ -18274,14 +20250,14 @@
"debug": "^2.6.9",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.2",
+ "eslint-module-utils": "^2.7.3",
"has": "^1.0.3",
- "is-core-module": "^2.8.0",
+ "is-core-module": "^2.8.1",
"is-glob": "^4.0.3",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"object.values": "^1.1.5",
- "resolve": "^1.20.0",
- "tsconfig-paths": "^3.12.0"
+ "resolve": "^1.22.0",
+ "tsconfig-paths": "^3.14.1"
},
"dependencies": {
"debug": {
@@ -18305,24 +20281,24 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
}
}
},
"eslint-plugin-jest": {
- "version": "26.1.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.2.tgz",
- "integrity": "sha512-1bXCoRODPkGN06n9KAMls4Jm0eyS+0Q/LWcIxhqWR2ycV0Z7lnx2c10idk4dtFIJY5xStgiIr5snC6/rxcXpbw==",
+ "version": "26.9.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz",
+ "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==",
"dev": true,
"requires": {
"@typescript-eslint/utils": "^5.10.0"
}
},
"eslint-plugin-jsdoc": {
- "version": "38.0.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.6.tgz",
- "integrity": "sha512-Wvh5ERLUL8zt2yLZ8LLgi8RuF2UkjDvD+ri1/i7yMpbfreK2S29B9b5JC7iBIoFR7KDaEWCLnUPHTqgwcXX1Sg==",
+ "version": "38.1.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz",
+ "integrity": "sha512-n4s95oYlg0L43Bs8C0dkzIldxYf8pLCutC/tCbjIdF7VDiobuzPI+HZn9Q0BvgOvgPNgh5n7CSStql25HUG4Tw==",
"dev": true,
"requires": {
"@es-joy/jsdoccomment": "~0.22.1",
@@ -18346,9 +20322,9 @@
}
},
"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==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
"dev": true,
"requires": {
"prettier-linter-helpers": "^1.0.0"
@@ -18388,13 +20364,13 @@
"dev": true
},
"espree": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
- "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+ "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
"dev": true,
"requires": {
- "acorn": "^8.7.0",
- "acorn-jsx": "^5.3.1",
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.3.0"
}
},
@@ -18438,50 +20414,99 @@
}
}
},
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
- "estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
- },
- "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"
- }
- },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
"exit": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
"dev": true
},
"expand-brackets": {
@@ -18597,12 +20622,6 @@
"jest-message-util": "^27.5.1"
}
},
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -18661,12 +20680,6 @@
}
}
},
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -18680,9 +20693,9 @@
"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==",
+ "version": "3.2.12",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
"dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
@@ -18712,7 +20725,7 @@
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
"dev": true
},
"fastq": {
@@ -18725,9 +20738,9 @@
}
},
"fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"dev": true,
"requires": {
"bser": "2.1.1"
@@ -18745,7 +20758,7 @@
"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=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true
}
}
@@ -18759,6 +20772,35 @@
"flat-cache": "^3.0.4"
}
},
+ "filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "requires": {
+ "minimatch": "^5.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -18767,21 +20809,22 @@
"to-regex-range": "^5.0.1"
}
},
- "filter-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
- "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=",
- "dev": true
- },
"find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"requires": {
- "locate-path": "^2.0.0"
+ "locate-path": "^6.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==",
+ "dev": true
+ },
"flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -18793,9 +20836,15 @@
}
},
"flatted": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
- "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true
},
"for-in": {
@@ -18803,12 +20852,6 @@
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
},
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
"form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
@@ -18827,6 +20870,12 @@
"map-cache": "^0.2.2"
}
},
+ "fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true
+ },
"fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -18851,7 +20900,7 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"fsevents": {
"version": "2.3.2",
@@ -18865,69 +20914,38 @@
"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": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "function.prototype.name": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
+ "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.0",
+ "functions-have-names": "^1.2.2"
+ }
+ },
+ "functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true
},
"gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
"dev": true,
"requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "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"
}
},
"gensync": {
@@ -18943,13 +20961,13 @@
"dev": true
},
"get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "has-symbols": "^1.0.3"
}
},
"get-package-type": {
@@ -19019,10 +21037,13 @@
"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
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
},
"get-symbol-description": {
"version": "1.0.0",
@@ -19039,15 +21060,6 @@
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA=="
},
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
"git-raw-commits": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
@@ -19064,7 +21076,7 @@
"git-remote-origin-url": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
- "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
+ "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==",
"dev": true,
"requires": {
"gitconfiglocal": "^1.0.0",
@@ -19074,7 +21086,7 @@
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true
}
}
@@ -19098,42 +21110,42 @@
}
},
"git-up": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz",
- "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz",
+ "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==",
"dev": true,
"requires": {
- "is-ssh": "^1.3.0",
- "parse-url": "^6.0.0"
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
}
},
"git-url-parse": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz",
- "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==",
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz",
+ "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==",
"dev": true,
"requires": {
- "git-up": "^4.0.0"
+ "git-up": "^7.0.0"
}
},
"gitconfiglocal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
- "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
+ "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==",
"dev": true,
"requires": {
"ini": "^1.3.2"
}
},
"glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
@@ -19153,9 +21165,9 @@
"integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig=="
},
"globals": {
- "version": "13.13.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
- "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
@@ -19176,9 +21188,15 @@
}
},
"graceful-fs": {
- "version": "4.2.9",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
- "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ },
+ "grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+ "dev": true
},
"handlebars": {
"version": "4.7.7",
@@ -19193,22 +21211,6 @@
"wordwrap": "^1.0.0"
}
},
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
"hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
@@ -19224,9 +21226,9 @@
}
},
"has-bigints": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
- "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
"dev": true
},
"has-flag": {
@@ -19252,6 +21254,15 @@
}
}
},
+ "has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.1"
+ }
+ },
"has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -19269,7 +21280,7 @@
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
"dev": true
},
"has-value": {
@@ -19331,6 +21342,17 @@
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
}
},
"html-encoding-sniffer": {
@@ -19437,21 +21459,10 @@
}
}
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
"https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"requires": {
"agent-base": "6",
@@ -19467,7 +21478,7 @@
"humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"dev": true,
"requires": {
"ms": "^2.0.0"
@@ -19491,115 +21502,13 @@
"slash": "^3.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"
- }
- },
- "cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
- "dev": true,
- "requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
- },
- "dependencies": {
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- }
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
"find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
- "import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
- "dev": true,
- "requires": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
- }
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
- },
- "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==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "locate-path": "^3.0.0"
}
},
"locate-path": {
@@ -19612,27 +21521,6 @@
"path-exists": "^3.0.0"
}
},
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -19651,77 +21539,11 @@
"p-limit": "^2.0.0"
}
},
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- }
- },
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
}
}
},
@@ -19734,6 +21556,12 @@
"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==",
+ "dev": true
+ },
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -19741,12 +21569,32 @@
"dev": true
},
"ignore-walk": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz",
- "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz",
+ "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==",
"dev": true,
"requires": {
- "minimatch": "^3.0.4"
+ "minimatch": "^5.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
"import-fresh": {
@@ -19772,7 +21620,7 @@
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true
},
"indent-string": {
@@ -19789,7 +21637,7 @@
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -19807,53 +21655,75 @@
"dev": true
},
"init-package-json": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz",
- "integrity": "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz",
+ "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==",
"dev": true,
"requires": {
- "npm-package-arg": "^8.1.5",
+ "npm-package-arg": "^9.0.1",
"promzard": "^0.3.0",
- "read": "~1.0.1",
- "read-package-json": "^4.1.1",
+ "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": "^3.0.0"
+ "validate-npm-package-name": "^4.0.0"
},
"dependencies": {
- "read-package-json": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.2.tgz",
- "integrity": "sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==",
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"requires": {
- "glob": "^7.1.1",
- "json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^3.0.0",
- "npm-normalize-package-bin": "^1.0.0"
+ "lru-cache": "^7.5.1"
+ }
+ },
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
}
}
}
},
"inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
"dev": true,
"requires": {
"ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
+ "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.19",
+ "lodash": "^4.17.21",
"mute-stream": "0.0.8",
+ "ora": "^5.4.1",
"run-async": "^2.4.0",
- "rxjs": "^6.6.0",
+ "rxjs": "^7.5.5",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
- "through": "^2.3.6"
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz",
+ "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
}
},
"internal-slot": {
@@ -19868,9 +21738,9 @@
}
},
"ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"dev": true
},
"is-accessor-descriptor": {
@@ -19884,7 +21754,7 @@
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"dev": true
},
"is-bigint": {
@@ -19896,6 +21766,15 @@
"has-bigints": "^1.0.1"
}
},
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
"is-boolean-object": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
@@ -19912,9 +21791,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-callable": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
- "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
"dev": true
},
"is-ci": {
@@ -19924,20 +21803,12 @@
"dev": true,
"requires": {
"ci-info": "^2.0.0"
- },
- "dependencies": {
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- }
}
},
"is-core-module": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
- "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
"dev": true,
"requires": {
"has": "^1.0.3"
@@ -19973,7 +21844,13 @@
"is-directory": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==",
+ "dev": true
+ },
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true
},
"is-extendable": {
@@ -19997,7 +21874,7 @@
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
},
"is-fullwidth-code-point": {
"version": "3.0.0",
@@ -20019,10 +21896,16 @@
"is-extglob": "^2.1.1"
}
},
+ "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==",
+ "dev": true
+ },
"is-lambda": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
- "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
"dev": true
},
"is-negative-zero": {
@@ -20037,9 +21920,9 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
},
"is-number-object": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
- "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
"dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
@@ -20054,7 +21937,7 @@
"is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
"dev": true
},
"is-plain-object": {
@@ -20080,24 +21963,27 @@
}
},
"is-shared-array-buffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz",
- "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==",
- "dev": true
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2"
+ }
},
"is-ssh": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz",
- "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz",
+ "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==",
"dev": true,
"requires": {
- "protocols": "^1.1.0"
+ "protocols": "^2.0.1"
}
},
"is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"dev": true
},
"is-string": {
@@ -20121,7 +22007,7 @@
"is-text-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
- "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
+ "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==",
"dev": true,
"requires": {
"text-extensions": "^1.0.0"
@@ -20130,7 +22016,13 @@
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+ "dev": true
+ },
+ "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==",
"dev": true
},
"is-weakref": {
@@ -20147,27 +22039,30 @@
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
},
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true
},
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
},
"istanbul-lib-coverage": {
"version": "3.2.0",
@@ -20176,9 +22071,9 @@
"dev": true
},
"istanbul-lib-instrument": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
- "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
"dev": true,
"requires": {
"@babel/core": "^7.12.3",
@@ -20219,15 +22114,27 @@
}
},
"istanbul-reports": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
- "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
+ "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
"dev": true,
"requires": {
"html-escaper": "^2.0.0",
"istanbul-lib-report": "^3.0.0"
}
},
+ "jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dev": true,
+ "requires": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ }
+ },
"jest": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
@@ -20248,6 +22155,46 @@
"@jest/types": "^27.5.1",
"execa": "^5.0.0",
"throat": "^6.0.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": 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==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ }
}
},
"jest-circus": {
@@ -20327,6 +22274,26 @@
"pretty-format": "^27.5.1",
"slash": "^3.0.0",
"strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "ci-info": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
+ "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "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"
+ }
+ }
}
},
"jest-diff": {
@@ -20590,6 +22557,46 @@
"jest-util": "^27.5.1",
"slash": "^3.0.0",
"strip-bom": "^4.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": 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==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ }
}
},
"jest-serializer": {
@@ -20643,6 +22650,13 @@
"ci-info": "^3.2.0",
"graceful-fs": "^4.2.9",
"picomatch": "^2.2.3"
+ },
+ "dependencies": {
+ "ci-info": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
+ "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug=="
+ }
}
},
"jest-validate": {
@@ -20709,6 +22723,13 @@
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
"integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
},
+ "js-sdsl": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
+ "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
+ "dev": true
+
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -20723,12 +22744,6 @@
"argparse": "^2.0.1"
}
},
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
"jsdoc-type-pratt-parser": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
@@ -20811,12 +22826,6 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
- "json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -20826,13 +22835,19 @@
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "json-stringify-nice": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz",
+ "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==",
"dev": true
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
"dev": true
},
"json5": {
@@ -20842,9 +22857,9 @@
"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==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
"dev": true
},
"jsonfile": {
@@ -20860,7 +22875,7 @@
"jsonparse": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
"dev": true
},
"JSONStream": {
@@ -20873,23 +22888,23 @@
"through": ">=2.2.7 <3"
}
},
- "jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
"junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
"integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
},
+ "just-diff": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.1.1.tgz",
+ "integrity": "sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==",
+ "dev": true
+ },
+ "just-diff-apply": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.4.1.tgz",
+ "integrity": "sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==",
+ "dev": true
+ },
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -20902,29 +22917,34 @@
"dev": true
},
"lerna": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz",
- "integrity": "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==",
- "dev": true,
- "requires": {
- "@lerna/add": "4.0.0",
- "@lerna/bootstrap": "4.0.0",
- "@lerna/changed": "4.0.0",
- "@lerna/clean": "4.0.0",
- "@lerna/cli": "4.0.0",
- "@lerna/create": "4.0.0",
- "@lerna/diff": "4.0.0",
- "@lerna/exec": "4.0.0",
- "@lerna/import": "4.0.0",
- "@lerna/info": "4.0.0",
- "@lerna/init": "4.0.0",
- "@lerna/link": "4.0.0",
- "@lerna/list": "4.0.0",
- "@lerna/publish": "4.0.0",
- "@lerna/run": "4.0.0",
- "@lerna/version": "4.0.0",
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/lerna/-/lerna-5.6.1.tgz",
+ "integrity": "sha512-gAZxKlQVpYpAvzXMOpc6VfFa6WYZmdD7u6js1u3wu7tOwnwHcSQK+qGOO3/Ky/YP+LbrXuH0BnLj09d+ev9OwA==",
+ "dev": true,
+ "requires": {
+ "@lerna/add": "5.6.1",
+ "@lerna/bootstrap": "5.6.1",
+ "@lerna/changed": "5.6.1",
+ "@lerna/clean": "5.6.1",
+ "@lerna/cli": "5.6.1",
+ "@lerna/command": "5.6.1",
+ "@lerna/create": "5.6.1",
+ "@lerna/diff": "5.6.1",
+ "@lerna/exec": "5.6.1",
+ "@lerna/import": "5.6.1",
+ "@lerna/info": "5.6.1",
+ "@lerna/init": "5.6.1",
+ "@lerna/link": "5.6.1",
+ "@lerna/list": "5.6.1",
+ "@lerna/publish": "5.6.1",
+ "@lerna/run": "5.6.1",
+ "@lerna/version": "5.6.1",
+ "@nrwl/devkit": ">=14.8.1 < 16",
"import-local": "^3.0.2",
- "npmlog": "^4.1.2"
+ "inquirer": "^8.2.4",
+ "npmlog": "^6.0.2",
+ "nx": ">=14.8.1 < 16",
+ "typescript": "^3 || ^4"
}
},
"leven": {
@@ -20944,128 +22964,84 @@
}
},
"libnpmaccess": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz",
- "integrity": "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz",
+ "integrity": "sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==",
"dev": true,
"requires": {
"aproba": "^2.0.0",
"minipass": "^3.1.1",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^11.0.0"
+ "npm-package-arg": "^9.0.1",
+ "npm-registry-fetch": "^13.0.0"
},
- "dependencies": {
- "make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
- "requires": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
- }
- },
- "npm-registry-fetch": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz",
- "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==",
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"requires": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "lru-cache": "^7.5.1"
}
},
- "socks-proxy-agent": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
- "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
"dev": true,
"requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.1",
- "socks": "^2.6.1"
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
}
}
}
},
"libnpmpublish": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz",
- "integrity": "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==",
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.5.tgz",
+ "integrity": "sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg==",
"dev": true,
"requires": {
- "normalize-package-data": "^3.0.2",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^11.0.0",
- "semver": "^7.1.3",
- "ssri": "^8.0.1"
+ "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"
},
"dependencies": {
- "make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"requires": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
+ "lru-cache": "^7.5.1"
}
},
- "npm-registry-fetch": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz",
- "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==",
+ "normalize-package-data": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz",
+ "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==",
"dev": true,
"requires": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "hosted-git-info": "^5.0.0",
+ "is-core-module": "^2.8.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
}
},
- "socks-proxy-agent": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
- "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
"dev": true,
"requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.1",
- "socks": "^2.6.1"
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
}
}
}
@@ -21115,6 +23091,18 @@
"type-fest": "^0.6.0"
},
"dependencies": {
+ "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==",
+ "dev": true,
+ "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"
+ }
+ },
"type-fest": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
@@ -21124,21 +23112,12 @@
}
},
"locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
+ "p-locate": "^5.0.0"
}
},
"lodash": {
@@ -21147,34 +23126,28 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
"dev": true
},
"lodash.ismatch": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
- "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=",
+ "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==",
"dev": true
},
"lodash.kebabcase": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
- "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
+ "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==",
"dev": true
},
"lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
"dev": true
},
"lodash.merge": {
@@ -21186,34 +23159,25 @@
"lodash.snakecase": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
- "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
+ "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==",
"dev": true
},
- "lodash.template": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.templatesettings": "^4.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
- "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0"
- }
- },
"lodash.upperfirst": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
- "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
+ "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==",
"dev": true
},
+ "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==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ }
+ },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -21223,13 +23187,15 @@
}
},
"lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
+ "version": "7.14.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz",
+ "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==",
+ "dev": true
+ },
+ "lz-string": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
+ "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ=="
},
"magic-string": {
"version": "0.25.9",
@@ -21261,26 +23227,46 @@
"dev": true
},
"make-fetch-happen": {
- "version": "8.0.14",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz",
- "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==",
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+ "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
"dev": true,
"requires": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.0.5",
+ "agentkeepalive": "^4.2.1",
+ "cacache": "^16.1.0",
"http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
+ "http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
"minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.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": "^5.0.0",
- "ssri": "^8.0.0"
+ "socks-proxy-agent": "^7.0.0",
+ "ssri": "^9.0.0"
+ },
+ "dependencies": {
+ "@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "dev": true
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ }
}
},
"makeerror": {
@@ -21340,12 +23326,6 @@
"path-exists": "^4.0.0"
}
},
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -21373,44 +23353,6 @@
"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
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "dependencies": {
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
- }
- }
- },
"read-pkg-up": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
@@ -21430,12 +23372,6 @@
}
}
},
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
"type-fest": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
@@ -21456,12 +23392,12 @@
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
},
"micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
}
},
"mime-db": {
@@ -21498,9 +23434,9 @@
}
},
"minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"minimist-options": {
@@ -21515,9 +23451,9 @@
}
},
"minipass": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
- "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
@@ -21533,15 +23469,15 @@
}
},
"minipass-fetch": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
- "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+ "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
"dev": true,
"requires": {
- "encoding": "^0.1.12",
- "minipass": "^3.1.0",
+ "encoding": "^0.1.13",
+ "minipass": "^3.1.6",
"minipass-sized": "^1.0.3",
- "minizlib": "^2.0.0"
+ "minizlib": "^2.1.2"
}
},
"minipass-flush": {
@@ -21682,7 +23618,7 @@
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
"negotiator": {
@@ -21708,6 +23644,12 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
+ "node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+ "dev": true
+ },
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
@@ -21719,17 +23661,17 @@
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -21738,140 +23680,59 @@
}
},
"node-gyp": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz",
- "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.2.0.tgz",
+ "integrity": "sha512-/+/YxGfIJOh/fnMsr4Ep0v6oOIjnO1BgLd2dcDspBX1spTkQU7xSIox5RdRE/2/Uq3ZwK8Z5swRIbMUmPlslmg==",
"dev": true,
"requires": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
- "graceful-fs": "^4.2.2",
- "mkdirp": "^0.5.1",
- "nopt": "^4.0.1",
- "npmlog": "^4.1.2",
- "request": "^2.88.0",
- "rimraf": "^2.6.3",
- "semver": "^5.7.1",
- "tar": "^4.4.12",
- "which": "^1.3.1"
- },
- "dependencies": {
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "dev": true,
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "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==",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "tar": {
- "version": "4.4.19",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
- "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.4",
- "fs-minipass": "^1.2.7",
- "minipass": "^2.9.0",
- "minizlib": "^1.3.3",
- "mkdirp": "^0.5.5",
- "safe-buffer": "^5.2.1",
- "yallist": "^3.1.1"
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^10.0.3",
+ "nopt": "^6.0.0",
+ "npmlog": "^6.0.0",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
+ "which": "^2.0.2"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
+ "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "abbrev": "^1.0.0"
}
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
}
}
},
+ "node-gyp-build": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
+ "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
+ "dev": true
+ },
"node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
"dev": true
},
"node-releases": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
- "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
"nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dev": true,
"requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
+ "abbrev": "1"
}
},
"normalize-package-data": {
@@ -21892,12 +23753,6 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true
- },
"npm-bundled": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz",
@@ -21908,41 +23763,14 @@
}
},
"npm-install-checks": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz",
- "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz",
+ "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==",
"dev": true,
"requires": {
"semver": "^7.1.1"
}
},
- "npm-lifecycle": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz",
- "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==",
- "dev": true,
- "requires": {
- "byline": "^5.0.0",
- "graceful-fs": "^4.1.15",
- "node-gyp": "^5.0.2",
- "resolve-from": "^4.0.0",
- "slide": "^1.1.6",
- "uid-number": "0.0.6",
- "umask": "^1.1.0",
- "which": "^1.3.1"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
"npm-normalize-package-bin": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
@@ -21950,99 +23778,410 @@
"dev": true
},
"npm-package-arg": {
- "version": "8.1.5",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz",
- "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz",
+ "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==",
"dev": true,
"requires": {
- "hosted-git-info": "^4.0.1",
- "semver": "^7.3.4",
+ "hosted-git-info": "^3.0.6",
+ "semver": "^7.0.0",
"validate-npm-package-name": "^3.0.0"
+ },
+ "dependencies": {
+ "builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+ "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "validate-npm-package-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+ "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==",
+ "dev": true,
+ "requires": {
+ "builtins": "^1.0.3"
+ }
+ }
}
},
"npm-packlist": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz",
- "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz",
+ "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==",
"dev": true,
"requires": {
- "glob": "^7.1.6",
- "ignore-walk": "^3.0.3",
- "npm-bundled": "^1.1.1",
- "npm-normalize-package-bin": "^1.0.1"
+ "glob": "^8.0.1",
+ "ignore-walk": "^5.0.1",
+ "npm-bundled": "^2.0.0",
+ "npm-normalize-package-bin": "^2.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "npm-bundled": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz",
+ "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==",
+ "dev": true,
+ "requires": {
+ "npm-normalize-package-bin": "^2.0.0"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true
+ }
}
},
"npm-pick-manifest": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz",
- "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz",
+ "integrity": "sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==",
"dev": true,
"requires": {
- "npm-install-checks": "^4.0.0",
- "npm-normalize-package-bin": "^1.0.1",
- "npm-package-arg": "^8.1.2",
- "semver": "^7.3.4"
+ "npm-install-checks": "^5.0.0",
+ "npm-normalize-package-bin": "^2.0.0",
+ "npm-package-arg": "^9.0.0",
+ "semver": "^7.3.5"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^7.5.1"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true
+ },
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": 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-registry-fetch": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz",
- "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==",
+ "version": "13.3.1",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz",
+ "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==",
"dev": true,
"requires": {
- "@npmcli/ci-detect": "^1.0.0",
- "lru-cache": "^6.0.0",
- "make-fetch-happen": "^8.0.9",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
+ "make-fetch-happen": "^10.0.6",
+ "minipass": "^3.1.6",
+ "minipass-fetch": "^2.0.3",
"minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "minizlib": "^2.1.2",
+ "npm-package-arg": "^9.0.1",
+ "proc-log": "^2.0.0"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^7.5.1"
+ }
+ },
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
+ "dev": 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-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==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
"dev": true,
"requires": {
- "path-key": "^3.0.0"
+ "path-key": "^2.0.0"
+ },
+ "dependencies": {
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+ "dev": true
+ }
}
},
"npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
"dev": true,
"requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
}
},
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
- },
"nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
+ "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==",
+ "dev": true
+ },
+ "nx": {
+ "version": "14.8.3",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-14.8.3.tgz",
+ "integrity": "sha512-6aMYrzlTqE77vHbaE1teI5P1A2oYkJGkuDMIo/zegRwUxCAjRzLAluUgPrmgqhuPTyTDn8p4aDfxAWV3Q0o/2Q==",
+ "dev": true,
+ "requires": {
+ "@nrwl/cli": "14.8.3",
+ "@nrwl/tao": "14.8.3",
+ "@parcel/watcher": "2.0.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "^3.0.0-rc.18",
+ "@zkochan/js-yaml": "0.0.6",
+ "axios": "0.21.1",
+ "chalk": "4.1.0",
+ "chokidar": "^3.5.1",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^7.0.2",
+ "dotenv": "~10.0.0",
+ "enquirer": "~2.3.6",
+ "fast-glob": "3.2.7",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "fs-extra": "^10.1.0",
+ "glob": "7.1.4",
+ "ignore": "^5.0.4",
+ "js-yaml": "4.1.0",
+ "jsonc-parser": "3.2.0",
+ "minimatch": "3.0.5",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "semver": "7.3.4",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^3.9.0",
+ "tslib": "^2.3.0",
+ "v8-compile-cache": "2.3.0",
+ "yargs": "^17.4.0",
+ "yargs-parser": "21.0.1"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "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"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "17.6.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
+ "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
+ "dev": true,
+ "requires": {
+ "cliui": "^8.0.1",
+ "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": {
+ "cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ }
+ }
+ }
+ },
+ "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
+ }
+ }
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
},
"object-copy": {
"version": "0.1.0",
@@ -22106,9 +24245,9 @@
}
},
"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=="
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
},
"object-keys": {
"version": "1.1.1",
@@ -22125,26 +24264,15 @@
}
},
"object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz",
- "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
+ "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
+ "define-properties": "^1.1.4",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
}
},
"object.pick": {
@@ -22169,7 +24297,7 @@
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"requires": {
"wrappy": "1"
}
@@ -22183,6 +24311,17 @@
"mimic-fn": "^2.1.0"
}
},
+ "open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+ "dev": true,
+ "requires": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ }
+ },
"optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@@ -22197,28 +24336,29 @@
"word-wrap": "^1.2.3"
}
},
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
+ "ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "dev": true,
+ "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"
+ }
},
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
"dev": true
},
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"p-all": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz",
@@ -22260,24 +24400,24 @@
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow=="
},
"p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"requires": {
- "p-try": "^1.0.0"
+ "yocto-queue": "^0.1.0"
}
},
"p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"requires": {
- "p-limit": "^1.1.0"
+ "p-limit": "^3.0.2"
}
},
"p-map": {
@@ -22326,9 +24466,9 @@
}
},
"p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "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
},
"p-waterfall": {
@@ -22341,79 +24481,53 @@
}
},
"pacote": {
- "version": "11.3.5",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz",
- "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==",
+ "version": "13.6.2",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz",
+ "integrity": "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==",
"dev": true,
"requires": {
- "@npmcli/git": "^2.1.0",
- "@npmcli/installed-package-contents": "^1.0.6",
- "@npmcli/promise-spawn": "^1.2.0",
- "@npmcli/run-script": "^1.8.2",
- "cacache": "^15.0.5",
+ "@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.3",
- "mkdirp": "^1.0.3",
- "npm-package-arg": "^8.0.1",
- "npm-packlist": "^2.1.4",
- "npm-pick-manifest": "^6.0.0",
- "npm-registry-fetch": "^11.0.0",
+ "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-fast": "^2.0.1",
+ "read-package-json": "^5.0.0",
+ "read-package-json-fast": "^2.0.3",
"rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.1.0"
+ "ssri": "^9.0.0",
+ "tar": "^6.1.11"
},
"dependencies": {
- "make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
- "requires": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
- }
- },
- "npm-registry-fetch": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz",
- "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==",
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
"dev": true,
"requires": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
+ "lru-cache": "^7.5.1"
}
},
- "socks-proxy-agent": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
- "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
+ "npm-package-arg": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz",
+ "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==",
"dev": true,
"requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.1",
- "socks": "^2.6.1"
+ "hosted-git-info": "^5.0.0",
+ "proc-log": "^2.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^4.0.0"
}
}
}
@@ -22432,40 +24546,43 @@
"resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
"integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="
},
+ "parse-conflict-json": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz",
+ "integrity": "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==",
+ "dev": true,
+ "requires": {
+ "json-parse-even-better-errors": "^2.3.1",
+ "just-diff": "^5.0.1",
+ "just-diff-apply": "^5.2.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==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"dev": true,
"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"
+ "json-parse-better-errors": "^1.0.1"
}
},
"parse-path": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz",
- "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz",
+ "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==",
"dev": true,
"requires": {
- "is-ssh": "^1.3.0",
- "protocols": "^1.4.0",
- "qs": "^6.9.4",
- "query-string": "^6.13.8"
+ "protocols": "^2.0.0"
}
},
"parse-url": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz",
- "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz",
+ "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==",
"dev": true,
"requires": {
- "is-ssh": "^1.3.0",
- "normalize-url": "^6.1.0",
- "parse-path": "^4.0.0",
- "protocols": "^1.4.0"
+ "parse-path": "^7.0.0"
}
},
"parse5": {
@@ -22493,7 +24610,7 @@
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
},
"path-key": {
"version": "3.1.1",
@@ -22513,12 +24630,6 @@
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
"dev": true
},
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -22586,12 +24697,6 @@
"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
}
}
},
@@ -22626,9 +24731,9 @@
"dev": true
},
"prettier": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
- "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
"dev": true
},
"prettier-linter-helpers": {
@@ -22648,8 +24753,21 @@
"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=="
+ }
}
},
+ "proc-log": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz",
+ "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==",
+ "dev": true
+ },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -22663,10 +24781,22 @@
"asap": "~2.0.6"
}
},
+ "promise-all-reject-late": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz",
+ "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==",
+ "dev": true
+ },
+ "promise-call-limit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz",
+ "integrity": "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==",
+ "dev": true
+ },
"promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
"dev": true
},
"promise-retry": {
@@ -22692,7 +24822,7 @@
"promzard": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz",
- "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=",
+ "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==",
"dev": true,
"requires": {
"read": "1"
@@ -22701,19 +24831,19 @@
"proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
"dev": true
},
"protocols": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz",
- "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz",
+ "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==",
"dev": true
},
"psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
"dev": true
},
"pump": {
@@ -22735,28 +24865,22 @@
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
"dev": true
},
"qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"requires": {
"side-channel": "^1.0.4"
}
},
- "query-string": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
- "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
- "dev": true,
- "requires": {
- "decode-uri-component": "^0.2.0",
- "filter-obj": "^1.1.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
- }
+ "querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+ "dev": true
},
"queue-microtask": {
"version": "1.2.3",
@@ -22797,28 +24921,88 @@
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
"dev": true,
"requires": {
"mute-stream": "~0.0.4"
}
},
"read-cmd-shim": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz",
- "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz",
+ "integrity": "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==",
"dev": true
},
"read-package-json": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz",
- "integrity": "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz",
+ "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==",
"dev": true,
"requires": {
- "glob": "^7.1.1",
- "json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^3.0.0",
- "npm-normalize-package-bin": "^1.0.0"
+ "glob": "^8.0.1",
+ "json-parse-even-better-errors": "^2.3.1",
+ "normalize-package-data": "^4.0.0",
+ "npm-normalize-package-bin": "^2.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz",
+ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^7.5.1"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz",
+ "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==",
+ "dev": 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-normalize-package-bin": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
+ "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+ "dev": true
+ }
}
},
"read-package-json-fast": {
@@ -22831,15 +25015,16 @@
"npm-normalize-package-bin": "^1.0.1"
}
},
- "read-package-tree": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
- "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"requires": {
- "read-package-json": "^2.0.0",
- "readdir-scoped-modules": "^1.0.0",
- "util-promisify": "^2.1.0"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
},
"dependencies": {
"hosted-git-info": {
@@ -22860,16 +25045,16 @@
"validate-npm-package-license": "^3.0.1"
}
},
- "read-package-json": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz",
- "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==",
+ "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==",
"dev": true,
"requires": {
- "glob": "^7.1.1",
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
"json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^2.0.0",
- "npm-normalize-package-bin": "^1.0.0"
+ "lines-and-columns": "^1.1.6"
}
},
"semver": {
@@ -22877,20 +25062,34 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
+ },
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
}
}
},
- "read-pkg": {
+ "read-pkg-up": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
"dev": true,
"requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
},
"dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
"hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
@@ -22900,7 +25099,7 @@
"load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
@@ -22909,6 +25108,16 @@
"strip-bom": "^3.0.0"
}
},
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -22921,16 +25130,36 @@
"validate-npm-package-license": "^3.0.1"
}
},
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "p-try": "^1.0.0"
}
},
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "dev": true
+ },
"path-type": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
@@ -22943,9 +25172,20 @@
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"dev": true
},
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -22955,21 +25195,11 @@
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true
}
}
},
- "read-pkg-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^3.0.0"
- }
- },
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -22993,6 +25223,15 @@
"once": "^1.3.0"
}
},
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
"redent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
@@ -23003,6 +25242,11 @@
"strip-indent": "^3.0.0"
}
},
+ "regenerator-runtime": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -23012,6 +25256,17 @@
"safe-regex": "^1.1.0"
}
},
+ "regexp.prototype.flags": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
+ "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "functions-have-names": "^1.2.2"
+ }
+ },
"regexpp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
@@ -23034,76 +25289,25 @@
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w=="
},
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- }
- }
- },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
"resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dev": true,
"requires": {
- "is-core-module": "^2.8.1",
+ "is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -23160,7 +25364,7 @@
"retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
"dev": true
},
"reusify": {
@@ -23203,8 +25407,17 @@
"version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "peer": true,
"requires": {
"tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
+ }
}
},
"safe-buffer": {
@@ -23220,6 +25433,17 @@
"ret": "~0.1.10"
}
},
+ "safe-regex-test": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+ "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "is-regex": "^1.1.4"
+ }
+ },
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -23244,24 +25468,35 @@
}
},
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
}
},
"semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
"dev": true
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
"dev": true
},
"set-value": {
@@ -23349,12 +25584,6 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
- "slide": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
- "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
- "dev": true
- },
"smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
@@ -23507,24 +25736,24 @@
}
},
"socks": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
- "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
"dev": true,
"requires": {
- "ip": "^1.1.5",
+ "ip": "^2.0.0",
"smart-buffer": "^4.2.0"
}
},
"socks-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
"dev": true,
"requires": {
"agent-base": "^6.0.2",
- "debug": "4",
- "socks": "^2.3.3"
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
}
},
"sort-keys": {
@@ -23613,9 +25842,9 @@
}
},
"spdx-license-ids": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
- "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
+ "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
"dev": true
},
"split": {
@@ -23627,12 +25856,6 @@
"through": "2"
}
},
- "split-on-first": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
- "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
- "dev": true
- },
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -23653,30 +25876,13 @@
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true
},
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
"ssri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
- "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+ "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
"dev": true,
"requires": {
"minipass": "^3.1.1"
@@ -23767,12 +25973,6 @@
}
}
},
- "strict-uri-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
- "dev": true
- },
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -23812,23 +26012,25 @@
}
},
"string.prototype.trimend": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
- "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
+ "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
}
},
"string.prototype.trimstart": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
- "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
+ "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
}
},
"strip-ansi": {
@@ -23849,7 +26051,7 @@
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==",
"dev": true
},
"strip-final-newline": {
@@ -23893,9 +26095,9 @@
}
},
"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==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+ "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
"dev": true,
"requires": {
"has-flag": "^4.0.0",
@@ -23953,25 +26155,25 @@
"yallist": "^4.0.0"
}
},
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ }
+ },
"temp-dir": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
"dev": true
},
- "temp-write": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz",
- "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.15",
- "is-stream": "^2.0.0",
- "make-dir": "^3.0.0",
- "temp-dir": "^1.0.0",
- "uuid": "^3.3.2"
- }
- },
"terminal-link": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
@@ -24002,7 +26204,7 @@
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
"then-request": {
@@ -24082,7 +26284,7 @@
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"dev": true
},
"through2": {
@@ -24112,7 +26314,7 @@
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true
},
"to-object-path": {
@@ -24153,20 +26355,21 @@
}
},
"tough-cookie": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
- "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz",
+ "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
"dev": true,
"requires": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
- "universalify": "^0.1.2"
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
},
"dependencies": {
"universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"dev": true
}
}
@@ -24180,6 +26383,12 @@
"punycode": "^2.1.1"
}
},
+ "treeverse": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-2.0.0.tgz",
+ "integrity": "sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A==",
+ "dev": true
+ },
"trim-newlines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
@@ -24187,9 +26396,9 @@
"dev": true
},
"ts-jest": {
- "version": "27.1.3",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz",
- "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==",
+ "version": "27.1.5",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.5.tgz",
+ "integrity": "sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==",
"dev": true,
"requires": {
"bs-logger": "0.x",
@@ -24203,14 +26412,14 @@
}
},
"tsconfig-paths": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz",
- "integrity": "sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
+ "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
"dev": true,
"requires": {
"@types/json5": "^0.0.29",
"json5": "^1.0.1",
- "minimist": "^1.2.0",
+ "minimist": "^1.2.6",
"strip-bom": "^3.0.0"
},
"dependencies": {
@@ -24226,15 +26435,15 @@
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true
}
}
},
"tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"tsutils": {
"version": "3.21.0",
@@ -24243,23 +26452,16 @@
"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
+ }
}
},
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -24283,7 +26485,7 @@
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"typedarray-to-buffer": {
"version": "3.1.5",
@@ -24295,39 +26497,27 @@
}
},
"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==",
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
+ "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
"dev": true
},
"uglify-js": {
- "version": "3.15.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz",
- "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==",
+ "version": "3.17.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.3.tgz",
+ "integrity": "sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==",
"dev": true,
"optional": true
},
- "uid-number": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
- "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
- "dev": true
- },
- "umask": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz",
- "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=",
- "dev": true
- },
"unbox-primitive": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
- "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
"dev": true,
"requires": {
- "function-bind": "^1.1.1",
- "has-bigints": "^1.0.1",
- "has-symbols": "^1.0.2",
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
"which-boxed-primitive": "^1.0.2"
}
},
@@ -24350,18 +26540,18 @@
}
},
"unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
+ "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
"dev": true,
"requires": {
- "unique-slug": "^2.0.0"
+ "unique-slug": "^3.0.0"
}
},
"unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
+ "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
"dev": true,
"requires": {
"imurmurhash": "^0.1.4"
@@ -24421,6 +26611,16 @@
"integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
"dev": true
},
+ "update-browserslist-db": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "dev": true,
+ "requires": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ }
+ },
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -24435,6 +26635,16 @@
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg=="
},
+ "url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dev": true,
+ "requires": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@@ -24443,21 +26653,12 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "util-promisify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
- "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
- "dev": true,
- "requires": {
- "object.getownpropertydescriptors": "^2.0.3"
- }
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true
},
"v8-compile-cache": {
@@ -24478,9 +26679,9 @@
},
"dependencies": {
"source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
"dev": true
}
}
@@ -24496,23 +26697,12 @@
}
},
"validate-npm-package-name": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
- "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
- "dev": true,
- "requires": {
- "builtins": "^1.0.3"
- }
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz",
+ "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "builtins": "^5.0.0"
}
},
"vscode-json-languageservice": {
@@ -24529,27 +26719,27 @@
}
},
"vscode-languageserver-textdocument": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz",
- "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.7.tgz",
+ "integrity": "sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==",
"dev": true
},
"vscode-languageserver-types": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
- "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
+ "version": "3.17.2",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz",
+ "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==",
"dev": true
},
"vscode-nls": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz",
- "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz",
+ "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==",
"dev": true
},
"vscode-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz",
- "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.6.tgz",
+ "integrity": "sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==",
"dev": true
},
"vue": {
@@ -24582,6 +26772,12 @@
"xml-name-validator": "^3.0.0"
}
},
+ "walk-up-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz",
+ "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==",
+ "dev": true
+ },
"walker": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
@@ -24594,7 +26790,7 @@
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dev": true,
"requires": {
"defaults": "^1.0.3"
@@ -24687,7 +26883,7 @@
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
},
"wrap-ansi": {
@@ -24699,38 +26895,12 @@
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- }
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"write-file-atomic": {
"version": "3.0.3",
@@ -24780,7 +26950,7 @@
"detect-indent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz",
- "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=",
+ "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==",
"dev": true
},
"make-dir": {
@@ -24808,7 +26978,7 @@
"sort-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
- "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
"dev": true,
"requires": {
"is-plain-obj": "^1.0.0"
@@ -24848,9 +27018,9 @@
}
},
"ws": {
- "version": "7.5.7",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
- "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"dev": true,
"requires": {}
},
@@ -24911,6 +27081,12 @@
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
"dev": true
},
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true
+ },
"zone.js": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz",
diff --git a/package.json b/package.json
index 4ebb27ea3..66758a8aa 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,7 @@
"eslint-plugin-prettier": "^4.0.0",
"husky": "2.3.0",
"jest": "^27.5.1",
- "lerna": "^4.0.0",
+ "lerna": "^5.6.1",
"prettier": "^2.6.0",
"semver": "^7.3.5",
"ts-jest": "^27.1.3",
@@ -47,4 +47,4 @@
"engines": {
"node": ">=12.13"
}
-}
+}
\ No newline at end of file
diff --git a/packages/global-registrator/src/GlobalRegistrator.ts b/packages/global-registrator/src/GlobalRegistrator.ts
index c0854cf54..1e78f9245 100644
--- a/packages/global-registrator/src/GlobalRegistrator.ts
+++ b/packages/global-registrator/src/GlobalRegistrator.ts
@@ -31,7 +31,8 @@ export default class GlobalRegistrator {
'Failed to unregister. Happy DOM has not previously been globally registered.'
);
}
- for (const key of this.registered) {
+ while (this.registered.length) {
+ const key = this.registered.pop();
delete global[key];
}
}
diff --git a/packages/global-registrator/test/react/ReactComponent.tsx b/packages/global-registrator/test/react/ReactComponent.tsx
index af2218fa6..0333c4d8c 100644
--- a/packages/global-registrator/test/react/ReactComponent.tsx
+++ b/packages/global-registrator/test/react/ReactComponent.tsx
@@ -3,11 +3,13 @@ import React from 'react';
/**
*
*/
-export default class ReactComponent extends React.Component<{}, void> {
+export default class ReactComponent extends React.Component<{}, {}> {
+ public $props = {};
+
/**
* @override
*/
- public render(): void {
+ public render(): React.ReactElement {
return
Test
;
}
}
diff --git a/packages/happy-dom/.gitignore b/packages/happy-dom/.gitignore
index 188a574ae..048cacdf3 100755
--- a/packages/happy-dom/.gitignore
+++ b/packages/happy-dom/.gitignore
@@ -1,3 +1,4 @@
node_modules
tmp
-lib
\ No newline at end of file
+lib
+.DS_Store
\ No newline at end of file
diff --git a/packages/happy-dom/README.md b/packages/happy-dom/README.md
index ac2ba5d3e..0e9f937c0 100644
--- a/packages/happy-dom/README.md
+++ b/packages/happy-dom/README.md
@@ -84,11 +84,13 @@ The default Window class is a [VM context](https://nodejs.org/api/vm.html#vm_vm_
```javascript
import { Window } from 'happy-dom';
-const window = new Window();
+const window = new Window({
+ innerWidth: 1024,
+ innerHeight: 768,
+ url: 'http://localhost:8080'
+});
const document = window.document;
-window.location.href = 'http://localhost:8080';
-
document.write(`
@@ -143,11 +145,13 @@ The example below will show you how to setup a Node [VM context](https://nodejs.
```javascript
import { Window } from 'happy-dom';
-const window = new Window();
+const window = new Window({
+ innerWidth: 1024,
+ innerHeight: 768,
+ url: 'http://localhost:8080'
+});
const document = window.document;
-window.location.href = 'http://localhost:8080';
-
document.write(`
@@ -230,6 +234,22 @@ window.setTimeout(() => {
window.happyDOM.cancelAsync();
```
+**setInnerWidth()**
+
+Sets the property `window.innerWidth` and dispatches a "resize" event.
+
+```javascript
+window.happyDOM.setInnerWidth(1024);
+```
+
+**setInnerHeight()**
+
+Sets the property `window.innerHeight` and dispatches a "resize" event.
+
+```javascript
+window.happyDOM.setInnerHeight(768);
+```
+
# Performance
diff --git a/packages/happy-dom/package-lock.json b/packages/happy-dom/package-lock.json
deleted file mode 100644
index 592007acb..000000000
--- a/packages/happy-dom/package-lock.json
+++ /dev/null
@@ -1,11454 +0,0 @@
-{
- "name": "happy-dom",
- "version": "0.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "happy-dom",
- "version": "0.0.0",
- "license": "MIT",
- "dependencies": {
- "css.escape": "^1.5.1",
- "he": "^1.2.0",
- "node-fetch": "^2.x.x",
- "sync-request": "^6.1.0",
- "webidl-conversions": "^7.0.0",
- "whatwg-encoding": "^2.0.0",
- "whatwg-mimetype": "^3.0.0"
- },
- "devDependencies": {
- "@types/he": "^1.1.2",
- "@types/jest": "^27.4.1",
- "@types/node": "^15.6.0",
- "@types/node-fetch": "^2.6.1",
- "@typescript-eslint/eslint-plugin": "^5.16.0",
- "@typescript-eslint/parser": "^5.16.0",
- "eslint": "^8.11.0",
- "eslint-config-prettier": "^8.5.0",
- "eslint-plugin-filenames": "^1.3.2",
- "eslint-plugin-import": "^2.25.4",
- "eslint-plugin-jest": "^26.1.2",
- "eslint-plugin-jsdoc": "^38.0.6",
- "eslint-plugin-json": "^3.1.0",
- "eslint-plugin-prettier": "^4.0.0",
- "jest": "^27.5.1",
- "prettier": "^2.6.0",
- "ts-jest": "^27.1.3",
- "typescript": "^4.6.2"
- }
- },
- "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/@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==",
- "dev": true,
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz",
- "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==",
- "dev": true,
- "dependencies": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.18.2",
- "@babel/helper-compilation-targets": "^7.18.2",
- "@babel/helper-module-transforms": "^7.18.0",
- "@babel/helpers": "^7.18.2",
- "@babel/parser": "^7.18.0",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.18.2",
- "@babel/types": "^7.18.2",
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz",
- "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.18.2",
- "@jridgewell/gen-mapping": "^0.3.0",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz",
- "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.0",
- "@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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz",
- "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==",
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz",
- "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==",
- "dev": true,
- "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.18.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz",
- "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==",
- "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.18.0",
- "@babel/types": "^7.18.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.17.12",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz",
- "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz",
- "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.18.2"
- },
- "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==",
- "dev": true,
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz",
- "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.18.2",
- "@babel/types": "^7.18.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.17.12",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz",
- "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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=",
- "dev": true
- },
- "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=",
- "dev": true,
- "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=",
- "dev": true,
- "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==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.0.tgz",
- "integrity": "sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg==",
- "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.12",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz",
- "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.17.12"
- },
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz",
- "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.18.2",
- "@babel/helper-environment-visitor": "^7.18.2",
- "@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.18.0",
- "@babel/types": "^7.18.2",
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.2.tgz",
- "integrity": "sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q==",
- "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/@es-joy/jsdoccomment": {
- "version": "0.22.2",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.2.tgz",
- "integrity": "sha512-pM6WQKcuAtdYoqCsXSvVSu3Ij8K0HY50L8tIheOKHDl0wH1uA4zbP88etY8SIeP16NVCMCTFU+Q2DahSKheGGQ==",
- "dev": true,
- "dependencies": {
- "comment-parser": "1.3.1",
- "esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "~2.2.5"
- },
- "engines": {
- "node": "^12 || ^14 || ^16 || ^17"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
- "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.3.2",
- "globals": "^13.15.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.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/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/@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/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@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": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
- "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.5.1",
- "jest-util": "^27.5.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/core": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
- "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.5.1",
- "@jest/reporters": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "jest-changed-files": "^27.5.1",
- "jest-config": "^27.5.1",
- "jest-haste-map": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-resolve-dependencies": "^27.5.1",
- "jest-runner": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "jest-watcher": "^27.5.1",
- "micromatch": "^4.0.4",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/environment": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
- "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
- "dev": true,
- "dependencies": {
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/fake-timers": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
- "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "@sinonjs/fake-timers": "^8.0.1",
- "@types/node": "*",
- "jest-message-util": "^27.5.1",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/globals": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
- "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/types": "^27.5.1",
- "expect": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/reporters": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
- "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
- "dev": true,
- "dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "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-haste-map": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-worker": "^27.5.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.1.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/source-map": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
- "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.9",
- "source-map": "^0.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/test-result": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
- "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/test-sequencer": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
- "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
- "dev": true,
- "dependencies": {
- "@jest/test-result": "^27.5.1",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^27.5.1",
- "jest-runtime": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/transform": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
- "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.5.1",
- "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": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-util": "^27.5.1",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.4",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/types": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
- "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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.0.7",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz",
- "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz",
- "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz",
- "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz",
- "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "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/@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": "8.1.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
- "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "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/concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/form-data": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
- "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "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/he": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@types/he/-/he-1.1.2.tgz",
- "integrity": "sha512-kSJPcLO1x+oolc0R89pUl2kozldQ/fVQ1C1p5mp8fPoLdF/ZcBvckaTC2M8xXh3GYendXvCpy5m/a2eSbfgNgw==",
- "dev": true
- },
- "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.1",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz",
- "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==",
- "dev": true,
- "dependencies": {
- "jest-matcher-utils": "^27.0.0",
- "pretty-format": "^27.0.0"
- }
- },
- "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==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "15.14.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz",
- "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A=="
- },
- "node_modules/@types/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "node_modules/@types/prettier": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz",
- "integrity": "sha512-XFjFHmaLVifrAKaZ+EKghFHtHSUonyw8P2Qmy2/+osBnrKbH9UYtlK10zg8/kCt47MFilll/DEDKy3DHfJ0URw==",
- "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=="
- },
- "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/yargs": {
- "version": "16.0.4",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
- "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
- "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/@typescript-eslint/eslint-plugin": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz",
- "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.26.0",
- "@typescript-eslint/type-utils": "5.26.0",
- "@typescript-eslint/utils": "5.26.0",
- "debug": "^4.3.4",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.2.0",
- "regexpp": "^3.2.0",
- "semver": "^7.3.7",
- "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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz",
- "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.26.0",
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/typescript-estree": "5.26.0",
- "debug": "^4.3.4"
- },
- "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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz",
- "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/visitor-keys": "5.26.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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz",
- "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/utils": "5.26.0",
- "debug": "^4.3.4",
- "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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz",
- "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==",
- "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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz",
- "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/visitor-keys": "5.26.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz",
- "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.26.0",
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/typescript-estree": "5.26.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.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz",
- "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.26.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/abab": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
- "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
- "dev": true
- },
- "node_modules/acorn": {
- "version": "8.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-globals": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
- "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
- "dev": true,
- "dependencies": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- }
- },
- "node_modules/acorn-globals/node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-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": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-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==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "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-includes": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
- "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5",
- "get-intrinsic": "^1.1.1",
- "is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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/array.prototype.flat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
- "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
- },
- "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/babel-jest": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
- "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
- "dev": true,
- "dependencies": {
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^27.5.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
- "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
- "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
- "dev": true,
- "dependencies": {
- "babel-plugin-jest-hoist": "^27.5.1",
- "babel-preset-current-node-syntax": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "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==",
- "dev": true,
- "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-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/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==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001342",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz",
- "integrity": "sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- }
- ]
- },
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
- "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/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/ci-info": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz",
- "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==",
- "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/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "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-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/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/comment-parser": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz",
- "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==",
- "dev": true,
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "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/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/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/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css.escape": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
- },
- "node_modules/cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "node_modules/cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "dependencies": {
- "cssom": "~0.3.6"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cssstyle/node_modules/cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- },
- "node_modules/data-urls": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
- "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
- "dev": true,
- "dependencies": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/data-urls/node_modules/whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decimal.js": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
- "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
- "dev": true
- },
- "node_modules/dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "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==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "dev": true,
- "dependencies": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "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/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/domexception": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
- "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
- "dev": true,
- "dependencies": {
- "webidl-conversions": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/domexception/node_modules/webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.138",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.138.tgz",
- "integrity": "sha512-IOyp2Seq3w4QLln+yZWcMF3VXhhduz4bwg9gfI+CnP5TkzwNXQ8FCZuwwPsnes73AfWdf5J2n2OXdUwDUspDPQ==",
- "dev": true
- },
- "node_modules/emittery": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
- "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "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==",
- "dev": true
- },
- "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==",
- "dev": true,
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz",
- "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.1",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "regexp.prototype.flags": "^1.4.3",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "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/escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
- "dev": true,
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/escodegen/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/escodegen/node_modules/levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/escodegen/node_modules/optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "dependencies": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/escodegen/node_modules/prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/escodegen/node_modules/type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/eslint": {
- "version": "8.16.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
- "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
- "dev": true,
- "dependencies": {
- "@eslint/eslintrc": "^1.3.0",
- "@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.2",
- "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.15.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.1.2",
- "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-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
- "dev": true,
- "dependencies": {
- "debug": "^3.2.7",
- "resolve": "^1.20.0"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-module-utils": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
- "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
- "dev": true,
- "dependencies": {
- "debug": "^3.2.7",
- "find-up": "^2.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-filenames": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz",
- "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==",
- "dev": true,
- "dependencies": {
- "lodash.camelcase": "4.3.0",
- "lodash.kebabcase": "4.1.1",
- "lodash.snakecase": "4.1.1",
- "lodash.upperfirst": "4.3.1"
- },
- "peerDependencies": {
- "eslint": "*"
- }
- },
- "node_modules/eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
- "has": "^1.0.3",
- "is-core-module": "^2.8.1",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/eslint-plugin-jest": {
- "version": "26.2.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.2.2.tgz",
- "integrity": "sha512-etSFZ8VIFX470aA6kTqDPhIq7YWe0tjBcboFNV3WeiC18PJ/AVonGhuTwlmuz2fBkH8FJHA7JQ4k7GsQIj1Gew==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/utils": "^5.10.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "@typescript-eslint/eslint-plugin": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "@typescript-eslint/eslint-plugin": {
- "optional": true
- },
- "jest": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-plugin-jsdoc": {
- "version": "38.1.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz",
- "integrity": "sha512-n4s95oYlg0L43Bs8C0dkzIldxYf8pLCutC/tCbjIdF7VDiobuzPI+HZn9Q0BvgOvgPNgh5n7CSStql25HUG4Tw==",
- "dev": true,
- "dependencies": {
- "@es-joy/jsdoccomment": "~0.22.1",
- "comment-parser": "1.3.1",
- "debug": "^4.3.4",
- "escape-string-regexp": "^4.0.0",
- "esquery": "^1.4.0",
- "regextras": "^0.8.0",
- "semver": "^7.3.5",
- "spdx-expression-parse": "^3.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || ^16 || ^17"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/eslint-plugin-json": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz",
- "integrity": "sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.21",
- "vscode-json-languageservice": "^4.1.6"
- },
- "engines": {
- "node": ">=12.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==",
- "dev": true,
- "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/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/espree": {
- "version": "9.3.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
- "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.7.1",
- "acorn-jsx": "^5.3.2",
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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/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": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/expect": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
- "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "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-glob/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==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "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/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==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "dependencies": {
- "locate-path": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "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/form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "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/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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==",
- "dev": true,
- "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-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
- "engines": {
- "node": ">=4"
- }
- },
- "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/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "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/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/globals": {
- "version": "13.15.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
- "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
- "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/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
- },
- "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-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "bin": {
- "he": "bin/he"
- }
- },
- "node_modules/html-encoding-sniffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
- "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
- "dev": true,
- "dependencies": {
- "whatwg-encoding": "^1.0.5"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/html-encoding-sniffer/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/html-encoding-sniffer/node_modules/whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "dependencies": {
- "iconv-lite": "0.4.24"
- }
- },
- "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-basic": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
- "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
- "dependencies": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/http-response-object": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
- "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
- "dependencies": {
- "@types/node": "^10.0.3"
- }
- },
- "node_modules/http-response-object/node_modules/@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "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.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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==",
- "dev": true,
- "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": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
- "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-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==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/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-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/jest": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
- "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==",
- "dev": true,
- "dependencies": {
- "@jest/core": "^27.5.1",
- "import-local": "^3.0.2",
- "jest-cli": "^27.5.1"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
- "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-circus": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
- "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.5.1",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-cli": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
- "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
- "dev": true,
- "dependencies": {
- "@jest/core": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "import-local": "^3.0.2",
- "jest-config": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "prompts": "^2.0.1",
- "yargs": "^16.2.0"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-config": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
- "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.8.0",
- "@jest/test-sequencer": "^27.5.1",
- "@jest/types": "^27.5.1",
- "babel-jest": "^27.5.1",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.9",
- "jest-circus": "^27.5.1",
- "jest-environment-jsdom": "^27.5.1",
- "jest-environment-node": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-jasmine2": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-runner": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "micromatch": "^4.0.4",
- "parse-json": "^5.2.0",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": 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-docblock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
- "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
- "dev": true,
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-each": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
- "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.5.1",
- "jest-util": "^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-environment-jsdom": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
- "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1",
- "jsdom": "^16.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-environment-node": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
- "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "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-haste-map": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
- "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.9",
- "jest-regex-util": "^27.5.1",
- "jest-serializer": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-worker": "^27.5.1",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "optionalDependencies": {
- "fsevents": "^2.3.2"
- }
- },
- "node_modules/jest-jasmine2": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
- "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/source-map": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.5.1",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-leak-detector": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
- "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
- "dev": true,
- "dependencies": {
- "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": {
- "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-message-util": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
- "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.5.1",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-mock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
- "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "@types/node": "*"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
- "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
- "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^27.5.1",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "resolve": "^1.20.0",
- "resolve.exports": "^1.1.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve-dependencies": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
- "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-snapshot": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-runner": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
- "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.5.1",
- "@jest/environment": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "graceful-fs": "^4.2.9",
- "jest-docblock": "^27.5.1",
- "jest-environment-jsdom": "^27.5.1",
- "jest-environment-node": "^27.5.1",
- "jest-haste-map": "^27.5.1",
- "jest-leak-detector": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-worker": "^27.5.1",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-runtime": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
- "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/globals": "^27.5.1",
- "@jest/source-map": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "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": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-mock": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-serializer": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
- "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "graceful-fs": "^4.2.9"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-snapshot": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
- "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.5.1",
- "graceful-fs": "^4.2.9",
- "jest-diff": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-haste-map": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-util": "^27.5.1",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.5.1",
- "semver": "^7.3.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-util": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
- "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-validate": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
- "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.5.1",
- "leven": "^3.1.0",
- "pretty-format": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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-watcher": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
- "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
- "dev": true,
- "dependencies": {
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.5.1",
- "string-length": "^4.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "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==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.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/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "node_modules/js-yaml": {
- "version": "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/jsdoc-type-pratt-parser": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
- "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
- "dev": true,
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/jsdom": {
- "version": "16.7.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
- "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
- "dev": true,
- "dependencies": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.6",
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "canvas": "^2.5.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "node_modules/jsdom/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/jsdom/node_modules/webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true,
- "engines": {
- "node": ">=10.4"
- }
- },
- "node_modules/jsdom/node_modules/whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "dependencies": {
- "iconv-lite": "0.4.24"
- }
- },
- "node_modules/jsdom/node_modules/whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- },
- "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-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==",
- "dev": true
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "node_modules/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==",
- "dev": true
- },
- "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/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/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==",
- "dev": true
- },
- "node_modules/locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "dependencies": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
- "dev": true
- },
- "node_modules/lodash.kebabcase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
- "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
- "dev": true
- },
- "node_modules/lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
- "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/lodash.snakecase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
- "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
- "dev": true
- },
- "node_modules/lodash.upperfirst": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
- "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
- "dev": true
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/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/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "node_modules/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/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-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==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "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==",
- "dev": true
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node_modules/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/node-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
- },
- "node_modules/node-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
- },
- "node_modules/node-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
- "dev": true
- },
- "node_modules/node-releases": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz",
- "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/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==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "node_modules/object-inspect": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.1.tgz",
- "integrity": "sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "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/p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "dependencies": {
- "p-try": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "dependencies": {
- "p-limit": "^1.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104="
- },
- "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==",
- "dev": true,
- "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/parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "dev": true
- },
- "node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=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==",
- "dev": true
- },
- "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==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/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/promise": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
- "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
- "dependencies": {
- "asap": "~2.0.6"
- }
- },
- "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/psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/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/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/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/regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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/regextras": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
- "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
- "dev": true,
- "engines": {
- "node": ">=0.1.14"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "dev": true,
- "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-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==",
- "dev": true,
- "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/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==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "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/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/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "node_modules/saxes": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
- "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
- "dev": true,
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "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==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "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==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "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==",
- "dev": true
- },
- "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.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/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==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-license-ids": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
- "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
- "dev": true
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "node_modules/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/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-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==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/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==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
- },
- "node_modules/sync-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
- "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
- "dependencies": {
- "http-response-object": "^3.0.1",
- "sync-rpc": "^1.2.1",
- "then-request": "^6.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/sync-rpc": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
- "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
- "dependencies": {
- "get-port": "^3.1.0"
- }
- },
- "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/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-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "node_modules/then-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
- "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
- "dependencies": {
- "@types/concat-stream": "^1.6.0",
- "@types/form-data": "0.0.33",
- "@types/node": "^8.0.0",
- "@types/qs": "^6.2.31",
- "caseless": "~0.12.0",
- "concat-stream": "^1.6.0",
- "form-data": "^2.2.0",
- "http-basic": "^8.1.1",
- "http-response-object": "^3.0.1",
- "promise": "^8.0.0",
- "qs": "^6.4.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/then-request/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/then-request/node_modules/form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "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/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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "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==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tough-cookie": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
- "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
- "dev": true,
- "dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ts-jest": {
- "version": "27.1.5",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.5.tgz",
- "integrity": "sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==",
- "dev": true,
- "dependencies": {
- "bs-logger": "0.x",
- "fast-json-stable-stringify": "2.x",
- "jest-util": "^27.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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.0 <8",
- "@types/jest": "^27.0.0",
- "babel-jest": ">=27.0.0 <28",
- "jest": "^27.0.0",
- "typescript": ">=3.8 <5.0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "@types/jest": {
- "optional": true
- },
- "babel-jest": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- }
- }
- },
- "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==",
- "dev": true,
- "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/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "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": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "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/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/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/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/typescript": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
- "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "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-to-istanbul": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz",
- "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "node_modules/v8-to-istanbul/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/vscode-json-languageservice": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz",
- "integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==",
- "dev": true,
- "dependencies": {
- "jsonc-parser": "^3.0.0",
- "vscode-languageserver-textdocument": "^1.0.3",
- "vscode-languageserver-types": "^3.16.0",
- "vscode-nls": "^5.0.0",
- "vscode-uri": "^3.0.3"
- }
- },
- "node_modules/vscode-languageserver-textdocument": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz",
- "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==",
- "dev": true
- },
- "node_modules/vscode-languageserver-types": {
- "version": "3.17.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz",
- "integrity": "sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ==",
- "dev": true
- },
- "node_modules/vscode-nls": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz",
- "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==",
- "dev": true
- },
- "node_modules/vscode-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz",
- "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==",
- "dev": true
- },
- "node_modules/w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
- "dev": true,
- "dependencies": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "node_modules/w3c-xmlserializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
- "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
- "dev": true,
- "dependencies": {
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "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/webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/whatwg-encoding": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
- "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
- "dependencies": {
- "iconv-lite": "0.6.3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/whatwg-mimetype": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
- "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/whatwg-url/node_modules/webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true,
- "engines": {
- "node": ">=10.4"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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==",
- "dev": true,
- "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": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "node_modules/ws": {
- "version": "7.5.7",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
- "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
- "dev": true,
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "node_modules/xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "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/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==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- }
- },
- "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"
- }
- },
- "@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==",
- "dev": true,
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz",
- "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==",
- "dev": true,
- "requires": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.18.2",
- "@babel/helper-compilation-targets": "^7.18.2",
- "@babel/helper-module-transforms": "^7.18.0",
- "@babel/helpers": "^7.18.2",
- "@babel/parser": "^7.18.0",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.18.2",
- "@babel/types": "^7.18.2",
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz",
- "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.18.2",
- "@jridgewell/gen-mapping": "^0.3.0",
- "jsesc": "^2.5.1"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz",
- "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==",
- "dev": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- }
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz",
- "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==",
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz",
- "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==",
- "dev": true
- },
- "@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.18.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz",
- "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==",
- "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.18.0",
- "@babel/types": "^7.18.0"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.17.12",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz",
- "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==",
- "dev": true
- },
- "@babel/helper-simple-access": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz",
- "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.18.2"
- }
- },
- "@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==",
- "dev": true
- },
- "@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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz",
- "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.18.2",
- "@babel/types": "^7.18.2"
- }
- },
- "@babel/highlight": {
- "version": "7.17.12",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz",
- "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "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==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.0.tgz",
- "integrity": "sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg==",
- "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.12",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz",
- "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.17.12"
- }
- },
- "@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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz",
- "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.18.2",
- "@babel/helper-environment-visitor": "^7.18.2",
- "@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.18.0",
- "@babel/types": "^7.18.2",
- "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.18.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.2.tgz",
- "integrity": "sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q==",
- "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
- },
- "@es-joy/jsdoccomment": {
- "version": "0.22.2",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.2.tgz",
- "integrity": "sha512-pM6WQKcuAtdYoqCsXSvVSu3Ij8K0HY50L8tIheOKHDl0wH1uA4zbP88etY8SIeP16NVCMCTFU+Q2DahSKheGGQ==",
- "dev": true,
- "requires": {
- "comment-parser": "1.3.1",
- "esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "~2.2.5"
- }
- },
- "@eslint/eslintrc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
- "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.3.2",
- "globals": "^13.15.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@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"
- }
- },
- "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"
- }
- },
- "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"
- }
- },
- "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"
- }
- },
- "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
- },
- "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
- },
- "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": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
- "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.5.1",
- "jest-util": "^27.5.1",
- "slash": "^3.0.0"
- }
- },
- "@jest/core": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
- "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.5.1",
- "@jest/reporters": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "jest-changed-files": "^27.5.1",
- "jest-config": "^27.5.1",
- "jest-haste-map": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-resolve-dependencies": "^27.5.1",
- "jest-runner": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "jest-watcher": "^27.5.1",
- "micromatch": "^4.0.4",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "@jest/environment": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
- "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1"
- }
- },
- "@jest/fake-timers": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
- "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "@sinonjs/fake-timers": "^8.0.1",
- "@types/node": "*",
- "jest-message-util": "^27.5.1",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1"
- }
- },
- "@jest/globals": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
- "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.5.1",
- "@jest/types": "^27.5.1",
- "expect": "^27.5.1"
- }
- },
- "@jest/reporters": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
- "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "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-haste-map": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-worker": "^27.5.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.1.0"
- }
- },
- "@jest/source-map": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
- "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.9",
- "source-map": "^0.6.0"
- }
- },
- "@jest/test-result": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
- "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/test-sequencer": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
- "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.5.1",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^27.5.1",
- "jest-runtime": "^27.5.1"
- }
- },
- "@jest/transform": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
- "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.5.1",
- "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": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-util": "^27.5.1",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.4",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- }
- },
- "@jest/types": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
- "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.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.7",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz",
- "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==",
- "dev": true
- },
- "@jridgewell/set-array": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz",
- "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==",
- "dev": true
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz",
- "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==",
- "dev": true
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz",
- "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==",
- "dev": true,
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@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"
- }
- },
- "@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": "8.1.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
- "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "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/concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/form-data": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
- "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@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/he": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@types/he/-/he-1.1.2.tgz",
- "integrity": "sha512-kSJPcLO1x+oolc0R89pUl2kozldQ/fVQ1C1p5mp8fPoLdF/ZcBvckaTC2M8xXh3GYendXvCpy5m/a2eSbfgNgw==",
- "dev": true
- },
- "@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.1",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz",
- "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==",
- "dev": true,
- "requires": {
- "jest-matcher-utils": "^27.0.0",
- "pretty-format": "^27.0.0"
- }
- },
- "@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==",
- "dev": true
- },
- "@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
- },
- "@types/node": {
- "version": "15.14.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz",
- "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A=="
- },
- "@types/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "@types/prettier": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz",
- "integrity": "sha512-XFjFHmaLVifrAKaZ+EKghFHtHSUonyw8P2Qmy2/+osBnrKbH9UYtlK10zg8/kCt47MFilll/DEDKy3DHfJ0URw==",
- "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=="
- },
- "@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/yargs": {
- "version": "16.0.4",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
- "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
- "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
- },
- "@typescript-eslint/eslint-plugin": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz",
- "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "5.26.0",
- "@typescript-eslint/type-utils": "5.26.0",
- "@typescript-eslint/utils": "5.26.0",
- "debug": "^4.3.4",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.2.0",
- "regexpp": "^3.2.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/parser": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz",
- "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "5.26.0",
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/typescript-estree": "5.26.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz",
- "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/visitor-keys": "5.26.0"
- }
- },
- "@typescript-eslint/type-utils": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz",
- "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==",
- "dev": true,
- "requires": {
- "@typescript-eslint/utils": "5.26.0",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz",
- "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz",
- "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/visitor-keys": "5.26.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/utils": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz",
- "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.26.0",
- "@typescript-eslint/types": "5.26.0",
- "@typescript-eslint/typescript-estree": "5.26.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz",
- "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.26.0",
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "abab": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
- "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
- "dev": true
- },
- "acorn": {
- "version": "8.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
- "dev": true
- },
- "acorn-globals": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
- "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true
- }
- }
- },
- "acorn-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": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
- "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"
- }
- },
- "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==",
- "dev": true,
- "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==",
- "dev": true
- }
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "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-includes": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
- "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5",
- "get-intrinsic": "^1.1.1",
- "is-string": "^1.0.7"
- }
- },
- "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
- },
- "array.prototype.flat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
- "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
- "es-shim-unscopables": "^1.0.0"
- }
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "babel-jest": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
- "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
- "dev": true,
- "requires": {
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^27.5.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "slash": "^3.0.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": "27.5.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
- "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@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": "27.5.1",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
- "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^27.5.1",
- "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==",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
- "dev": true,
- "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-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=="
- },
- "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==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001342",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz",
- "integrity": "sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA==",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
- "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"
- }
- },
- "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
- },
- "ci-info": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz",
- "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==",
- "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
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "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-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "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"
- }
- },
- "comment-parser": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz",
- "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "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"
- }
- },
- "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=="
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "css.escape": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
- },
- "cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- }
- }
- },
- "data-urls": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
- "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- },
- "dependencies": {
- "whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- }
- }
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decimal.js": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
- "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
- "dev": true
- },
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "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==",
- "dev": true
- },
- "define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "dev": true,
- "requires": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
- },
- "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
- },
- "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"
- }
- },
- "domexception": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
- "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
- "dev": true,
- "requires": {
- "webidl-conversions": "^5.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true
- }
- }
- },
- "electron-to-chromium": {
- "version": "1.4.138",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.138.tgz",
- "integrity": "sha512-IOyp2Seq3w4QLln+yZWcMF3VXhhduz4bwg9gfI+CnP5TkzwNXQ8FCZuwwPsnes73AfWdf5J2n2OXdUwDUspDPQ==",
- "dev": true
- },
- "emittery": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
- "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
- "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==",
- "dev": true
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz",
- "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.1",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "regexp.prototype.flags": "^1.4.3",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
- }
- },
- "es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- },
- "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
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- }
- }
- },
- "eslint": {
- "version": "8.16.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
- "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
- "dev": true,
- "requires": {
- "@eslint/eslintrc": "^1.3.0",
- "@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.2",
- "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.15.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.1.2",
- "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": {
- "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
- }
- }
- },
- "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-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
- "dev": true,
- "requires": {
- "debug": "^3.2.7",
- "resolve": "^1.20.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
- "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
- "dev": true,
- "requires": {
- "debug": "^3.2.7",
- "find-up": "^2.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "eslint-plugin-filenames": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz",
- "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==",
- "dev": true,
- "requires": {
- "lodash.camelcase": "4.3.0",
- "lodash.kebabcase": "4.1.1",
- "lodash.snakecase": "4.1.1",
- "lodash.upperfirst": "4.3.1"
- }
- },
- "eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
- "dev": true,
- "requires": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
- "has": "^1.0.3",
- "is-core-module": "^2.8.1",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "eslint-plugin-jest": {
- "version": "26.2.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.2.2.tgz",
- "integrity": "sha512-etSFZ8VIFX470aA6kTqDPhIq7YWe0tjBcboFNV3WeiC18PJ/AVonGhuTwlmuz2fBkH8FJHA7JQ4k7GsQIj1Gew==",
- "dev": true,
- "requires": {
- "@typescript-eslint/utils": "^5.10.0"
- }
- },
- "eslint-plugin-jsdoc": {
- "version": "38.1.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz",
- "integrity": "sha512-n4s95oYlg0L43Bs8C0dkzIldxYf8pLCutC/tCbjIdF7VDiobuzPI+HZn9Q0BvgOvgPNgh5n7CSStql25HUG4Tw==",
- "dev": true,
- "requires": {
- "@es-joy/jsdoccomment": "~0.22.1",
- "comment-parser": "1.3.1",
- "debug": "^4.3.4",
- "escape-string-regexp": "^4.0.0",
- "esquery": "^1.4.0",
- "regextras": "^0.8.0",
- "semver": "^7.3.5",
- "spdx-expression-parse": "^3.0.1"
- }
- },
- "eslint-plugin-json": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz",
- "integrity": "sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.21",
- "vscode-json-languageservice": "^4.1.6"
- }
- },
- "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==",
- "dev": true,
- "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.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
- "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==",
- "dev": true,
- "requires": {
- "acorn": "^8.7.1",
- "acorn-jsx": "^5.3.2",
- "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==",
- "dev": true,
- "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==",
- "dev": true
- }
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "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": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expect": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
- "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1"
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-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"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "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"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "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
- },
- "form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- }
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "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==",
- "dev": true
- },
- "get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "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-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw="
- },
- "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
- },
- "get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- }
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": 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"
- }
- },
- "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"
- }
- },
- "globals": {
- "version": "13.15.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
- "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
- "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"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
- },
- "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-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.1"
- }
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
- },
- "has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- },
- "html-encoding-sniffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
- "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.5"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.24"
- }
- }
- }
- },
- "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-basic": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
- "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
- "requires": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- }
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "http-response-object": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
- "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
- "requires": {
- "@types/node": "^10.0.3"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
- }
- }
- },
- "https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "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
- },
- "iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "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==",
- "dev": true,
- "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": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "requires": {
- "has-bigints": "^1.0.1"
- }
- },
- "is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-callable": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
- "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
- "dev": true
- },
- "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==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-generator-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
- },
- "is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true
- },
- "is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "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"
- }
- },
- "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"
- }
- },
- "jest": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
- "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.5.1",
- "import-local": "^3.0.2",
- "jest-cli": "^27.5.1"
- }
- },
- "jest-changed-files": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
- "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- }
- },
- "jest-circus": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
- "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.5.1",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- }
- },
- "jest-cli": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
- "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "import-local": "^3.0.2",
- "jest-config": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "prompts": "^2.0.1",
- "yargs": "^16.2.0"
- }
- },
- "jest-config": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
- "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.8.0",
- "@jest/test-sequencer": "^27.5.1",
- "@jest/types": "^27.5.1",
- "babel-jest": "^27.5.1",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.9",
- "jest-circus": "^27.5.1",
- "jest-environment-jsdom": "^27.5.1",
- "jest-environment-node": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-jasmine2": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-runner": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "micromatch": "^4.0.4",
- "parse-json": "^5.2.0",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "strip-json-comments": "^3.1.1"
- }
- },
- "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"
- }
- },
- "jest-docblock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
- "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
- "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1"
- }
- },
- "jest-environment-jsdom": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
- "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1",
- "jsdom": "^16.6.0"
- }
- },
- "jest-environment-node": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
- "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1"
- }
- },
- "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-haste-map": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
- "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.3.2",
- "graceful-fs": "^4.2.9",
- "jest-regex-util": "^27.5.1",
- "jest-serializer": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-worker": "^27.5.1",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- }
- },
- "jest-jasmine2": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
- "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.5.1",
- "@jest/source-map": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.5.1",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1",
- "throat": "^6.0.1"
- }
- },
- "jest-leak-detector": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
- "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
- "dev": true,
- "requires": {
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
- }
- },
- "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"
- }
- },
- "jest-message-util": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
- "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.5.1",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- }
- },
- "jest-mock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
- "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "@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": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
- "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
- "dev": true
- },
- "jest-resolve": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
- "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^27.5.1",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "resolve": "^1.20.0",
- "resolve.exports": "^1.1.0",
- "slash": "^3.0.0"
- }
- },
- "jest-resolve-dependencies": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
- "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-snapshot": "^27.5.1"
- }
- },
- "jest-runner": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
- "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.5.1",
- "@jest/environment": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "graceful-fs": "^4.2.9",
- "jest-docblock": "^27.5.1",
- "jest-environment-jsdom": "^27.5.1",
- "jest-environment-node": "^27.5.1",
- "jest-haste-map": "^27.5.1",
- "jest-leak-detector": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-runtime": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-worker": "^27.5.1",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- }
- },
- "jest-runtime": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
- "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/globals": "^27.5.1",
- "@jest/source-map": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "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": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-mock": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-snapshot": "^27.5.1",
- "jest-util": "^27.5.1",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0"
- }
- },
- "jest-serializer": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
- "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "graceful-fs": "^4.2.9"
- }
- },
- "jest-snapshot": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
- "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.5.1",
- "graceful-fs": "^4.2.9",
- "jest-diff": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-haste-map": "^27.5.1",
- "jest-matcher-utils": "^27.5.1",
- "jest-message-util": "^27.5.1",
- "jest-util": "^27.5.1",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.5.1",
- "semver": "^7.3.2"
- }
- },
- "jest-util": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
- "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- }
- },
- "jest-validate": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
- "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.5.1",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.5.1",
- "leven": "^3.1.0",
- "pretty-format": "^27.5.1"
- },
- "dependencies": {
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- }
- }
- },
- "jest-watcher": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
- "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.5.1",
- "string-length": "^4.0.1"
- }
- },
- "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==",
- "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"
- }
- }
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "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"
- }
- },
- "jsdoc-type-pratt-parser": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
- "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
- "dev": true
- },
- "jsdom": {
- "version": "16.7.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
- "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
- "dev": true,
- "requires": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.6",
- "xml-name-validator": "^3.0.0"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true
- },
- "whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.24"
- }
- },
- "whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- }
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true
- },
- "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"
- }
- },
- "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==",
- "dev": true
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
- "dev": true
- },
- "lodash.kebabcase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
- "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
- "dev": true
- },
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
- "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
- },
- "lodash.snakecase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
- "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
- "dev": true
- },
- "lodash.upperfirst": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
- "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
- "dev": true
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "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"
- }
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "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-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==",
- "dev": true
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "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==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node-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"
- },
- "dependencies": {
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
- "node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
- "dev": true
- },
- "node-releases": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz",
- "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "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==",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "object-inspect": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.1.tgz",
- "integrity": "sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA=="
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- }
- },
- "object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "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"
- }
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104="
- },
- "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==",
- "dev": true,
- "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"
- }
- },
- "parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "dev": true
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
- },
- "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"
- },
- "dependencies": {
- "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"
- }
- },
- "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"
- }
- },
- "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
- },
- "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
- }
- }
- },
- "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=="
- },
- "promise": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
- "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
- "requires": {
- "asap": "~2.0.6"
- }
- },
- "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"
- }
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "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
- },
- "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"
- }
- },
- "regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
- }
- },
- "regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true
- },
- "regextras": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
- "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
- "dev": true
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.8.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "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==",
- "dev": true
- },
- "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
- },
- "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==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "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"
- }
- },
- "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=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "saxes": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
- "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
- "dev": true,
- "requires": {
- "xmlchars": "^2.2.0"
- }
- },
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "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.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.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
- "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
- "dev": true
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "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
- }
- }
- },
- "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"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "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==",
- "dev": true
- },
- "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
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "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==",
- "dev": true
- },
- "symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
- },
- "sync-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
- "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
- "requires": {
- "http-response-object": "^3.0.1",
- "sync-rpc": "^1.2.1",
- "then-request": "^6.0.0"
- }
- },
- "sync-rpc": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
- "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
- "requires": {
- "get-port": "^3.1.0"
- }
- },
- "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"
- }
- },
- "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-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "then-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
- "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
- "requires": {
- "@types/concat-stream": "^1.6.0",
- "@types/form-data": "0.0.33",
- "@types/node": "^8.0.0",
- "@types/qs": "^6.2.31",
- "caseless": "~0.12.0",
- "concat-stream": "^1.6.0",
- "form-data": "^2.2.0",
- "http-basic": "^8.1.1",
- "http-response-object": "^3.0.1",
- "promise": "^8.0.0",
- "qs": "^6.4.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
- },
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- }
- }
- },
- "throat": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
- "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
- "dev": true
- },
- "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "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==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tough-cookie": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
- "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
- "dev": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- }
- },
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "ts-jest": {
- "version": "27.1.5",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.5.tgz",
- "integrity": "sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==",
- "dev": true,
- "requires": {
- "bs-logger": "0.x",
- "fast-json-stable-stringify": "2.x",
- "jest-util": "^27.0.0",
- "json5": "2.x",
- "lodash.memoize": "4.x",
- "make-error": "1.x",
- "semver": "7.x",
- "yargs-parser": "20.x"
- }
- },
- "tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "dev": true,
- "requires": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "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": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- }
- }
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "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"
- }
- },
- "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
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
- "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
- "dev": true
- },
- "unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "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-to-istanbul": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz",
- "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "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
- }
- }
- },
- "vscode-json-languageservice": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz",
- "integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==",
- "dev": true,
- "requires": {
- "jsonc-parser": "^3.0.0",
- "vscode-languageserver-textdocument": "^1.0.3",
- "vscode-languageserver-types": "^3.16.0",
- "vscode-nls": "^5.0.0",
- "vscode-uri": "^3.0.3"
- }
- },
- "vscode-languageserver-textdocument": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz",
- "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==",
- "dev": true
- },
- "vscode-languageserver-types": {
- "version": "3.17.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz",
- "integrity": "sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ==",
- "dev": true
- },
- "vscode-nls": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz",
- "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==",
- "dev": true
- },
- "vscode-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz",
- "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==",
- "dev": true
- },
- "w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
- "dev": true,
- "requires": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "w3c-xmlserializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
- "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
- "dev": true,
- "requires": {
- "xml-name-validator": "^3.0.0"
- }
- },
- "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"
- }
- },
- "webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
- },
- "whatwg-encoding": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
- "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
- "requires": {
- "iconv-lite": "0.6.3"
- }
- },
- "whatwg-mimetype": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
- "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q=="
- },
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true
- }
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "requires": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- }
- },
- "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==",
- "dev": true,
- "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": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.7",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
- "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
- "dev": true,
- "requires": {}
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "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"
- }
- },
- "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==",
- "dev": true
- }
- }
-}
diff --git a/packages/happy-dom/src/config/ElementTag.ts b/packages/happy-dom/src/config/ElementTag.ts
index 92ba25b92..3659ba17d 100644
--- a/packages/happy-dom/src/config/ElementTag.ts
+++ b/packages/happy-dom/src/config/ElementTag.ts
@@ -17,6 +17,9 @@ import HTMLSelectElement from '../nodes/html-select-element/HTMLSelectElement';
import HTMLOptionElement from '../nodes/html-option-element/HTMLOptionElement';
import HTMLOptGroupElement from '../nodes/html-opt-group-element/HTMLOptGroupElement';
import HTMLDialogElement from '../nodes/html-dialog-element/HTMLDialogElement';
+import HTMLButtonElement from '../nodes/html-button-element/HTMLButtonElement';
+import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement';
+import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement';
export default {
A: HTMLElement,
@@ -25,7 +28,7 @@ export default {
AREA: HTMLElement,
ARTICLE: HTMLElement,
ASIDE: HTMLElement,
- AUDIO: HTMLElement,
+ AUDIO: HTMLAudioElement,
B: HTMLElement,
BASE: HTMLBaseElement,
BDI: HTMLElement,
@@ -55,7 +58,7 @@ export default {
META: HTMLMetaElement,
BLOCKQUOTE: HTMLElement,
BR: HTMLElement,
- BUTTON: HTMLElement,
+ BUTTON: HTMLButtonElement,
CANVAS: HTMLElement,
CAPTION: HTMLElement,
CITE: HTMLElement,
@@ -144,6 +147,6 @@ export default {
U: HTMLElement,
UL: HTMLElement,
VAR: HTMLElement,
- VIDEO: HTMLElement,
+ VIDEO: HTMLVideoElement,
WBR: HTMLElement
};
diff --git a/packages/happy-dom/src/config/NonImplemenetedElementClasses.ts b/packages/happy-dom/src/config/NonImplemenetedElementClasses.ts
index 6727c9415..3b712841f 100644
--- a/packages/happy-dom/src/config/NonImplemenetedElementClasses.ts
+++ b/packages/happy-dom/src/config/NonImplemenetedElementClasses.ts
@@ -28,7 +28,6 @@ export default [
'HTMLLegendElement',
'HTMLMapElement',
'HTMLMarqueeElement',
- 'HTMLMediaElement',
'HTMLMeterElement',
'HTMLModElement',
'HTMLOutputElement',
@@ -50,7 +49,5 @@ export default [
'HTMLEmbedElement',
'HTMLObjectElement',
'HTMLParamElement',
- 'HTMLVideoElement',
- 'HTMLAudioElement',
'HTMLTrackElement'
];
diff --git a/packages/happy-dom/src/css/CSSParser.ts b/packages/happy-dom/src/css/CSSParser.ts
index fabebd64b..6401f0f51 100644
--- a/packages/happy-dom/src/css/CSSParser.ts
+++ b/packages/happy-dom/src/css/CSSParser.ts
@@ -4,7 +4,7 @@ import CSSStyleRule from './rules/CSSStyleRule';
import CSSKeyframeRule from './rules/CSSKeyframeRule';
import CSSKeyframesRule from './rules/CSSKeyframesRule';
import CSSMediaRule from './rules/CSSMediaRule';
-import CSSStyleDeclaration from './CSSStyleDeclaration';
+import CSSContainerRule from './rules/CSSContainerRule';
const COMMENT_REGEXP = /\/\*[^*]*\*\//gm;
@@ -47,6 +47,14 @@ export default class CSSParser {
newRule.media.appendMedium(medium.trim());
}
+ newRule.parentStyleSheet = parentStyleSheet;
+ cssRules.push(newRule);
+ parentRule = newRule;
+ } else if (selectorText.startsWith('@container')) {
+ const conditionalText = selectorText.replace(/@container */, '');
+ const newRule = new CSSContainerRule();
+
+ (newRule.conditionalText) = conditionalText;
newRule.parentStyleSheet = parentStyleSheet;
cssRules.push(newRule);
parentRule = newRule;
@@ -58,7 +66,10 @@ export default class CSSParser {
(parentRule).cssRules.push(newRule);
parentRule = newRule;
- } else if (parentRule && parentRule.type === CSSRule.MEDIA_RULE) {
+ } else if (
+ parentRule &&
+ (parentRule.type === CSSRule.MEDIA_RULE || parentRule.type === CSSRule.CONTAINER_RULE)
+ ) {
const newRule = new CSSStyleRule();
(newRule.selectorText) = selectorText;
newRule.parentStyleSheet = parentStyleSheet;
@@ -86,10 +97,7 @@ export default class CSSParser {
case CSSRule.FONT_FACE_RULE:
case CSSRule.KEYFRAME_RULE:
case CSSRule.STYLE_RULE:
- const style = new CSSStyleDeclaration();
- style.cssText = cssText;
- (style.parentRule) = parentRule;
- ((parentRule).style) = style;
+ (parentRule)._cssText = cssText;
break;
}
}
diff --git a/packages/happy-dom/src/css/CSSRule.ts b/packages/happy-dom/src/css/CSSRule.ts
index 0294ae200..5d0db44bd 100644
--- a/packages/happy-dom/src/css/CSSRule.ts
+++ b/packages/happy-dom/src/css/CSSRule.ts
@@ -1,22 +1,24 @@
import CSSStyleSheet from './CSSStyleSheet';
+import CSSRuleTypeEnum from './CSSRuleTypeEnum';
/**
* CSSRule interface.
*/
export default class CSSRule {
- public static STYLE_RULE = 1;
- public static IMPORT_RULE = 3;
- public static MEDIA_RULE = 4;
- public static FONT_FACE_RULE = 5;
- public static PAGE_RULE = 6;
- public static KEYFRAMES_RULE = 7;
- public static KEYFRAME_RULE = 8;
- public static NAMESPACE_RULE = 10;
- public static COUNTER_STYLE_RULE = 11;
- public static SUPPORTS_RULE = 12;
- public static DOCUMENT_RULE = 13;
- public static FONT_FEATURE_VALUES_RULE = 14;
- public static REGION_STYLE_RULE = 16;
+ public static CONTAINER_RULE = CSSRuleTypeEnum.containerRule;
+ public static STYLE_RULE = CSSRuleTypeEnum.styleRule;
+ public static IMPORT_RULE = CSSRuleTypeEnum.importRule;
+ public static MEDIA_RULE = CSSRuleTypeEnum.mediaRule;
+ public static FONT_FACE_RULE = CSSRuleTypeEnum.fontFaceRule;
+ public static PAGE_RULE = CSSRuleTypeEnum.pageRule;
+ public static KEYFRAMES_RULE = CSSRuleTypeEnum.keyframesRule;
+ public static KEYFRAME_RULE = CSSRuleTypeEnum.keyframeRule;
+ public static NAMESPACE_RULE = CSSRuleTypeEnum.namespaceRule;
+ public static COUNTER_STYLE_RULE = CSSRuleTypeEnum.counterStyleRule;
+ public static SUPPORTS_RULE = CSSRuleTypeEnum.supportsRule;
+ public static DOCUMENT_RULE = CSSRuleTypeEnum.documentRule;
+ public static FONT_FEATURE_VALUES_RULE = CSSRuleTypeEnum.fontFeatureValuesRule;
+ public static REGION_STYLE_RULE = CSSRuleTypeEnum.regionStyleRule;
public parentRule: CSSRule = null;
public parentStyleSheet: CSSStyleSheet = null;
diff --git a/packages/happy-dom/src/css/CSSRuleTypeEnum.ts b/packages/happy-dom/src/css/CSSRuleTypeEnum.ts
new file mode 100644
index 000000000..64793a109
--- /dev/null
+++ b/packages/happy-dom/src/css/CSSRuleTypeEnum.ts
@@ -0,0 +1,18 @@
+enum CSSRuleTypeEnum {
+ containerRule = 0,
+ styleRule = 1,
+ importRule = 3,
+ mediaRule = 4,
+ fontFaceRule = 5,
+ pageRule = 6,
+ keyframesRule = 7,
+ keyframeRule = 8,
+ namespaceRule = 10,
+ counterStyleRule = 11,
+ supportsRule = 12,
+ documentRule = 13,
+ fontFeatureValuesRule = 14,
+ regionStyleRule = 16
+}
+
+export default CSSRuleTypeEnum;
diff --git a/packages/happy-dom/src/css/CSSStyleDeclaration.ts b/packages/happy-dom/src/css/CSSStyleDeclaration.ts
deleted file mode 100644
index 5a932aa96..000000000
--- a/packages/happy-dom/src/css/CSSStyleDeclaration.ts
+++ /dev/null
@@ -1,5026 +0,0 @@
-import Attr from '../attribute/Attr';
-import CSSRule from './CSSRule';
-
-/**
- * CSS Style Declaration.
- */
-export default class CSSStyleDeclaration {
- public readonly length = 0;
- public readonly parentRule: CSSRule = null;
- private _attributes: { [k: string]: Attr } = null;
- private _computedStyleElement: { isConnected: boolean } = null;
-
- /**
- * Constructor.
- *
- * @param [attributes] Attributes.
- * @param [computedStyleElement] Computed style element.
- * @param computedStyleElement.isConnected
- */
- constructor(
- attributes: { [k: string]: Attr } = {},
- computedStyleElement: { isConnected: boolean } = null
- ) {
- const style = attributes['style'];
- let index = 0;
-
- this._attributes = attributes;
- this._computedStyleElement = computedStyleElement;
-
- if (style && style.value) {
- const parts = style.value.split(';');
- for (const part of parts) {
- if (part) {
- const [name] = part.trim().split(':');
- this[index] = name;
- index++;
- }
- }
- }
-
- (this.length) = index;
- }
-
- /**
- *
- */
- public get alignContent(): string {
- return this.getPropertyValue('align-content');
- }
- /**
- *
- */
- public set alignContent(alignContent: string) {
- this.setProperty('align-content', alignContent);
- }
-
- /**
- *
- */
- public get alignItems(): string {
- return this.getPropertyValue('align-items');
- }
- /**
- *
- */
- public set alignItems(alignItems: string) {
- this.setProperty('align-items', alignItems);
- }
-
- /**
- *
- */
- public get alignSelf(): string {
- return this.getPropertyValue('align-self');
- }
- /**
- *
- */
- public set alignSelf(alignSelf: string) {
- this.setProperty('align-self', alignSelf);
- }
-
- /**
- *
- */
- public get alignmentBaseline(): string {
- return this.getPropertyValue('alignment-baseline');
- }
- /**
- *
- */
- public set alignmentBaseline(alignmentBaseline: string) {
- this.setProperty('alignment-baseline', alignmentBaseline);
- }
-
- /**
- *
- */
- public get all(): string {
- return this.getPropertyValue('all');
- }
- /**
- *
- */
- public set all(all: string) {
- this.setProperty('all', all);
- }
-
- /**
- *
- */
- public get animation(): string {
- return this.getPropertyValue('animation');
- }
- /**
- *
- */
- public set animation(animation: string) {
- this.setProperty('animation', animation);
- }
-
- /**
- *
- */
- public get animationDelay(): string {
- return this.getPropertyValue('animation-delay');
- }
- /**
- *
- */
- public set animationDelay(animationDelay: string) {
- this.setProperty('animation-delay', animationDelay);
- }
-
- /**
- *
- */
- public get animationDirection(): string {
- return this.getPropertyValue('animation-direction');
- }
- /**
- *
- */
- public set animationDirection(animationDirection: string) {
- this.setProperty('animation-direction', animationDirection);
- }
-
- /**
- *
- */
- public get animationDuration(): string {
- return this.getPropertyValue('animation-duration');
- }
- /**
- *
- */
- public set animationDuration(animationDuration: string) {
- this.setProperty('animation-duration', animationDuration);
- }
-
- /**
- *
- */
- public get animationFillMode(): string {
- return this.getPropertyValue('animation-fill-mode');
- }
- /**
- *
- */
- public set animationFillMode(animationFillMode: string) {
- this.setProperty('animation-fill-mode', animationFillMode);
- }
-
- /**
- *
- */
- public get animationIterationCount(): string {
- return this.getPropertyValue('animation-iteration-count');
- }
- /**
- *
- */
- public set animationIterationCount(animationIterationCount: string) {
- this.setProperty('animation-iteration-count', animationIterationCount);
- }
-
- /**
- *
- */
- public get animationName(): string {
- return this.getPropertyValue('animation-name');
- }
- /**
- *
- */
- public set animationName(animationName: string) {
- this.setProperty('animation-name', animationName);
- }
-
- /**
- *
- */
- public get animationPlayState(): string {
- return this.getPropertyValue('animation-play-state');
- }
- /**
- *
- */
- public set animationPlayState(animationPlayState: string) {
- this.setProperty('animation-play-state', animationPlayState);
- }
-
- /**
- *
- */
- public get animationTimingFunction(): string {
- return this.getPropertyValue('animation-timing-function');
- }
- /**
- *
- */
- public set animationTimingFunction(animationTimingFunction: string) {
- this.setProperty('animation-timing-function', animationTimingFunction);
- }
-
- /**
- *
- */
- public get appearance(): string {
- return this.getPropertyValue('appearance');
- }
- /**
- *
- */
- public set appearance(appearance: string) {
- this.setProperty('appearance', appearance);
- }
-
- /**
- *
- */
- public get backdropFilter(): string {
- return this.getPropertyValue('backdrop-filter');
- }
- /**
- *
- */
- public set backdropFilter(backdropFilter: string) {
- this.setProperty('backdrop-filter', backdropFilter);
- }
-
- /**
- *
- */
- public get backfaceVisibility(): string {
- return this.getPropertyValue('backface-visibility');
- }
- /**
- *
- */
- public set backfaceVisibility(backfaceVisibility: string) {
- this.setProperty('backface-visibility', backfaceVisibility);
- }
-
- /**
- *
- */
- public get background(): string {
- return this.getPropertyValue('background');
- }
- /**
- *
- */
- public set background(background: string) {
- this.setProperty('background', background);
- }
-
- /**
- *
- */
- public get backgroundAttachment(): string {
- return this.getPropertyValue('background-attachment');
- }
- /**
- *
- */
- public set backgroundAttachment(backgroundAttachment: string) {
- this.setProperty('background-attachment', backgroundAttachment);
- }
-
- /**
- *
- */
- public get backgroundBlendMode(): string {
- return this.getPropertyValue('background-blend-mode');
- }
- /**
- *
- */
- public set backgroundBlendMode(backgroundBlendMode: string) {
- this.setProperty('background-blend-mode', backgroundBlendMode);
- }
-
- /**
- *
- */
- public get backgroundClip(): string {
- return this.getPropertyValue('background-clip');
- }
- /**
- *
- */
- public set backgroundClip(backgroundClip: string) {
- this.setProperty('background-clip', backgroundClip);
- }
-
- /**
- *
- */
- public get backgroundColor(): string {
- return this.getPropertyValue('background-color');
- }
- /**
- *
- */
- public set backgroundColor(backgroundColor: string) {
- this.setProperty('background-color', backgroundColor);
- }
-
- /**
- *
- */
- public get backgroundImage(): string {
- return this.getPropertyValue('background-image');
- }
- /**
- *
- */
- public set backgroundImage(backgroundImage: string) {
- this.setProperty('background-image', backgroundImage);
- }
-
- /**
- *
- */
- public get backgroundOrigin(): string {
- return this.getPropertyValue('background-origin');
- }
- /**
- *
- */
- public set backgroundOrigin(backgroundOrigin: string) {
- this.setProperty('background-origin', backgroundOrigin);
- }
-
- /**
- *
- */
- public get backgroundPosition(): string {
- return this.getPropertyValue('background-position');
- }
- /**
- *
- */
- public set backgroundPosition(backgroundPosition: string) {
- this.setProperty('background-position', backgroundPosition);
- }
-
- /**
- *
- */
- public get backgroundPositionX(): string {
- return this.getPropertyValue('background-position-x');
- }
- /**
- *
- */
- public set backgroundPositionX(backgroundPositionX: string) {
- this.setProperty('background-position-x', backgroundPositionX);
- }
-
- /**
- *
- */
- public get backgroundPositionY(): string {
- return this.getPropertyValue('background-position-y');
- }
- /**
- *
- */
- public set backgroundPositionY(backgroundPositionY: string) {
- this.setProperty('background-position-y', backgroundPositionY);
- }
-
- /**
- *
- */
- public get backgroundRepeat(): string {
- return this.getPropertyValue('background-repeat');
- }
- /**
- *
- */
- public set backgroundRepeat(backgroundRepeat: string) {
- this.setProperty('background-repeat', backgroundRepeat);
- }
-
- /**
- *
- */
- public get backgroundRepeatX(): string {
- return this.getPropertyValue('background-repeat-x');
- }
- /**
- *
- */
- public set backgroundRepeatX(backgroundRepeatX: string) {
- this.setProperty('background-repeat-x', backgroundRepeatX);
- }
-
- /**
- *
- */
- public get backgroundRepeatY(): string {
- return this.getPropertyValue('background-repeat-y');
- }
- /**
- *
- */
- public set backgroundRepeatY(backgroundRepeatY: string) {
- this.setProperty('background-repeat-y', backgroundRepeatY);
- }
-
- /**
- *
- */
- public get backgroundSize(): string {
- return this.getPropertyValue('background-size');
- }
- /**
- *
- */
- public set backgroundSize(backgroundSize: string) {
- this.setProperty('background-size', backgroundSize);
- }
-
- /**
- *
- */
- public get baselineShift(): string {
- return this.getPropertyValue('baseline-shift');
- }
- /**
- *
- */
- public set baselineShift(baselineShift: string) {
- this.setProperty('baseline-shift', baselineShift);
- }
-
- /**
- *
- */
- public get blockSize(): string {
- return this.getPropertyValue('block-size');
- }
- /**
- *
- */
- public set blockSize(blockSize: string) {
- this.setProperty('block-size', blockSize);
- }
-
- /**
- *
- */
- public get border(): string {
- return this.getPropertyValue('border');
- }
- /**
- *
- */
- public set border(border: string) {
- this.setProperty('border', border);
- }
-
- /**
- *
- */
- public get borderBlockEnd(): string {
- return this.getPropertyValue('border-block-end');
- }
- /**
- *
- */
- public set borderBlockEnd(borderBlockEnd: string) {
- this.setProperty('border-block-end', borderBlockEnd);
- }
-
- /**
- *
- */
- public get borderBlockEndColor(): string {
- return this.getPropertyValue('border-block-end-color');
- }
- /**
- *
- */
- public set borderBlockEndColor(borderBlockEndColor: string) {
- this.setProperty('border-block-end-color', borderBlockEndColor);
- }
-
- /**
- *
- */
- public get borderBlockEndStyle(): string {
- return this.getPropertyValue('border-block-end-style');
- }
- /**
- *
- */
- public set borderBlockEndStyle(borderBlockEndStyle: string) {
- this.setProperty('border-block-end-style', borderBlockEndStyle);
- }
-
- /**
- *
- */
- public get borderBlockEndWidth(): string {
- return this.getPropertyValue('border-block-end-width');
- }
- /**
- *
- */
- public set borderBlockEndWidth(borderBlockEndWidth: string) {
- this.setProperty('border-block-end-width', borderBlockEndWidth);
- }
-
- /**
- *
- */
- public get borderBlockStart(): string {
- return this.getPropertyValue('border-block-start');
- }
- /**
- *
- */
- public set borderBlockStart(borderBlockStart: string) {
- this.setProperty('border-block-start', borderBlockStart);
- }
-
- /**
- *
- */
- public get borderBlockStartColor(): string {
- return this.getPropertyValue('border-block-start-color');
- }
- /**
- *
- */
- public set borderBlockStartColor(borderBlockStartColor: string) {
- this.setProperty('border-block-start-color', borderBlockStartColor);
- }
-
- /**
- *
- */
- public get borderBlockStartStyle(): string {
- return this.getPropertyValue('border-block-start-style');
- }
- /**
- *
- */
- public set borderBlockStartStyle(borderBlockStartStyle: string) {
- this.setProperty('border-block-start-style', borderBlockStartStyle);
- }
-
- /**
- *
- */
- public get borderBlockStartWidth(): string {
- return this.getPropertyValue('border-block-start-width');
- }
- /**
- *
- */
- public set borderBlockStartWidth(borderBlockStartWidth: string) {
- this.setProperty('border-block-start-width', borderBlockStartWidth);
- }
-
- /**
- *
- */
- public get borderBottom(): string {
- return this.getPropertyValue('border-bottom');
- }
- /**
- *
- */
- public set borderBottom(borderBottom: string) {
- this.setProperty('border-bottom', borderBottom);
- }
-
- /**
- *
- */
- public get borderBottomColor(): string {
- return this.getPropertyValue('border-bottom-color');
- }
- /**
- *
- */
- public set borderBottomColor(borderBottomColor: string) {
- this.setProperty('border-bottom-color', borderBottomColor);
- }
-
- /**
- *
- */
- public get borderBottomLeftRadius(): string {
- return this.getPropertyValue('border-bottom-left-radius');
- }
- /**
- *
- */
- public set borderBottomLeftRadius(borderBottomLeftRadius: string) {
- this.setProperty('border-bottom-left-radius', borderBottomLeftRadius);
- }
-
- /**
- *
- */
- public get borderBottomRightRadius(): string {
- return this.getPropertyValue('border-bottom-right-radius');
- }
- /**
- *
- */
- public set borderBottomRightRadius(borderBottomRightRadius: string) {
- this.setProperty('border-bottom-right-radius', borderBottomRightRadius);
- }
-
- /**
- *
- */
- public get borderBottomStyle(): string {
- return this.getPropertyValue('border-bottom-style');
- }
- /**
- *
- */
- public set borderBottomStyle(borderBottomStyle: string) {
- this.setProperty('border-bottom-style', borderBottomStyle);
- }
-
- /**
- *
- */
- public get borderBottomWidth(): string {
- return this.getPropertyValue('border-bottom-width');
- }
- /**
- *
- */
- public set borderBottomWidth(borderBottomWidth: string) {
- this.setProperty('border-bottom-width', borderBottomWidth);
- }
-
- /**
- *
- */
- public get borderCollapse(): string {
- return this.getPropertyValue('border-collapse');
- }
- /**
- *
- */
- public set borderCollapse(borderCollapse: string) {
- this.setProperty('border-collapse', borderCollapse);
- }
-
- /**
- *
- */
- public get borderColor(): string {
- return this.getPropertyValue('border-color');
- }
- /**
- *
- */
- public set borderColor(borderColor: string) {
- this.setProperty('border-color', borderColor);
- }
-
- /**
- *
- */
- public get borderImage(): string {
- return this.getPropertyValue('border-image');
- }
- /**
- *
- */
- public set borderImage(borderImage: string) {
- this.setProperty('border-image', borderImage);
- }
-
- /**
- *
- */
- public get borderImageOutset(): string {
- return this.getPropertyValue('border-image-outset');
- }
- /**
- *
- */
- public set borderImageOutset(borderImageOutset: string) {
- this.setProperty('border-image-outset', borderImageOutset);
- }
-
- /**
- *
- */
- public get borderImageRepeat(): string {
- return this.getPropertyValue('border-image-repeat');
- }
- /**
- *
- */
- public set borderImageRepeat(borderImageRepeat: string) {
- this.setProperty('border-image-repeat', borderImageRepeat);
- }
-
- /**
- *
- */
- public get borderImageSlice(): string {
- return this.getPropertyValue('border-image-slice');
- }
- /**
- *
- */
- public set borderImageSlice(borderImageSlice: string) {
- this.setProperty('border-image-slice', borderImageSlice);
- }
-
- /**
- *
- */
- public get borderImageSource(): string {
- return this.getPropertyValue('border-image-source');
- }
- /**
- *
- */
- public set borderImageSource(borderImageSource: string) {
- this.setProperty('border-image-source', borderImageSource);
- }
-
- /**
- *
- */
- public get borderImageWidth(): string {
- return this.getPropertyValue('border-image-width');
- }
- /**
- *
- */
- public set borderImageWidth(borderImageWidth: string) {
- this.setProperty('border-image-width', borderImageWidth);
- }
-
- /**
- *
- */
- public get borderInlineEnd(): string {
- return this.getPropertyValue('border-inline-end');
- }
- /**
- *
- */
- public set borderInlineEnd(borderInlineEnd: string) {
- this.setProperty('border-inline-end', borderInlineEnd);
- }
-
- /**
- *
- */
- public get borderInlineEndColor(): string {
- return this.getPropertyValue('border-inline-end-color');
- }
- /**
- *
- */
- public set borderInlineEndColor(borderInlineEndColor: string) {
- this.setProperty('border-inline-end-color', borderInlineEndColor);
- }
-
- /**
- *
- */
- public get borderInlineEndStyle(): string {
- return this.getPropertyValue('border-inline-end-style');
- }
- /**
- *
- */
- public set borderInlineEndStyle(borderInlineEndStyle: string) {
- this.setProperty('border-inline-end-style', borderInlineEndStyle);
- }
-
- /**
- *
- */
- public get borderInlineEndWidth(): string {
- return this.getPropertyValue('border-inline-end-width');
- }
- /**
- *
- */
- public set borderInlineEndWidth(borderInlineEndWidth: string) {
- this.setProperty('border-inline-end-width', borderInlineEndWidth);
- }
-
- /**
- *
- */
- public get borderInlineStart(): string {
- return this.getPropertyValue('border-inline-start');
- }
- /**
- *
- */
- public set borderInlineStart(borderInlineStart: string) {
- this.setProperty('border-inline-start', borderInlineStart);
- }
-
- /**
- *
- */
- public get borderInlineStartColor(): string {
- return this.getPropertyValue('border-inline-start-color');
- }
- /**
- *
- */
- public set borderInlineStartColor(borderInlineStartColor: string) {
- this.setProperty('border-inline-start-color', borderInlineStartColor);
- }
-
- /**
- *
- */
- public get borderInlineStartStyle(): string {
- return this.getPropertyValue('border-inline-start-style');
- }
- /**
- *
- */
- public set borderInlineStartStyle(borderInlineStartStyle: string) {
- this.setProperty('border-inline-start-style', borderInlineStartStyle);
- }
-
- /**
- *
- */
- public get borderInlineStartWidth(): string {
- return this.getPropertyValue('border-inline-start-width');
- }
- /**
- *
- */
- public set borderInlineStartWidth(borderInlineStartWidth: string) {
- this.setProperty('border-inline-start-width', borderInlineStartWidth);
- }
-
- /**
- *
- */
- public get borderLeft(): string {
- return this.getPropertyValue('border-left');
- }
- /**
- *
- */
- public set borderLeft(borderLeft: string) {
- this.setProperty('border-left', borderLeft);
- }
-
- /**
- *
- */
- public get borderLeftColor(): string {
- return this.getPropertyValue('border-left-color');
- }
- /**
- *
- */
- public set borderLeftColor(borderLeftColor: string) {
- this.setProperty('border-left-color', borderLeftColor);
- }
-
- /**
- *
- */
- public get borderLeftStyle(): string {
- return this.getPropertyValue('border-left-style');
- }
- /**
- *
- */
- public set borderLeftStyle(borderLeftStyle: string) {
- this.setProperty('border-left-style', borderLeftStyle);
- }
-
- /**
- *
- */
- public get borderLeftWidth(): string {
- return this.getPropertyValue('border-left-width');
- }
- /**
- *
- */
- public set borderLeftWidth(borderLeftWidth: string) {
- this.setProperty('border-left-width', borderLeftWidth);
- }
-
- /**
- *
- */
- public get borderRadius(): string {
- return this.getPropertyValue('border-radius');
- }
- /**
- *
- */
- public set borderRadius(borderRadius: string) {
- this.setProperty('border-radius', borderRadius);
- }
-
- /**
- *
- */
- public get borderRight(): string {
- return this.getPropertyValue('border-right');
- }
- /**
- *
- */
- public set borderRight(borderRight: string) {
- this.setProperty('border-right', borderRight);
- }
-
- /**
- *
- */
- public get borderRightColor(): string {
- return this.getPropertyValue('border-right-color');
- }
- /**
- *
- */
- public set borderRightColor(borderRightColor: string) {
- this.setProperty('border-right-color', borderRightColor);
- }
-
- /**
- *
- */
- public get borderRightStyle(): string {
- return this.getPropertyValue('border-right-style');
- }
- /**
- *
- */
- public set borderRightStyle(borderRightStyle: string) {
- this.setProperty('border-right-style', borderRightStyle);
- }
-
- /**
- *
- */
- public get borderRightWidth(): string {
- return this.getPropertyValue('border-right-width');
- }
- /**
- *
- */
- public set borderRightWidth(borderRightWidth: string) {
- this.setProperty('border-right-width', borderRightWidth);
- }
-
- /**
- *
- */
- public get borderSpacing(): string {
- return this.getPropertyValue('border-spacing');
- }
- /**
- *
- */
- public set borderSpacing(borderSpacing: string) {
- this.setProperty('border-spacing', borderSpacing);
- }
-
- /**
- *
- */
- public get borderStyle(): string {
- return this.getPropertyValue('border-style');
- }
- /**
- *
- */
- public set borderStyle(borderStyle: string) {
- this.setProperty('border-style', borderStyle);
- }
-
- /**
- *
- */
- public get borderTop(): string {
- return this.getPropertyValue('border-top');
- }
- /**
- *
- */
- public set borderTop(borderTop: string) {
- this.setProperty('border-top', borderTop);
- }
-
- /**
- *
- */
- public get borderTopColor(): string {
- return this.getPropertyValue('border-top-color');
- }
- /**
- *
- */
- public set borderTopColor(borderTopColor: string) {
- this.setProperty('border-top-color', borderTopColor);
- }
-
- /**
- *
- */
- public get borderTopLeftRadius(): string {
- return this.getPropertyValue('border-top-left-radius');
- }
- /**
- *
- */
- public set borderTopLeftRadius(borderTopLeftRadius: string) {
- this.setProperty('border-top-left-radius', borderTopLeftRadius);
- }
-
- /**
- *
- */
- public get borderTopRightRadius(): string {
- return this.getPropertyValue('border-top-right-radius');
- }
- /**
- *
- */
- public set borderTopRightRadius(borderTopRightRadius: string) {
- this.setProperty('border-top-right-radius', borderTopRightRadius);
- }
-
- /**
- *
- */
- public get borderTopStyle(): string {
- return this.getPropertyValue('border-top-style');
- }
- /**
- *
- */
- public set borderTopStyle(borderTopStyle: string) {
- this.setProperty('border-top-style', borderTopStyle);
- }
-
- /**
- *
- */
- public get borderTopWidth(): string {
- return this.getPropertyValue('border-top-width');
- }
- /**
- *
- */
- public set borderTopWidth(borderTopWidth: string) {
- this.setProperty('border-top-width', borderTopWidth);
- }
-
- /**
- *
- */
- public get borderWidth(): string {
- return this.getPropertyValue('border-width');
- }
- /**
- *
- */
- public set borderWidth(borderWidth: string) {
- this.setProperty('border-width', borderWidth);
- }
-
- /**
- *
- */
- public get bottom(): string {
- return this.getPropertyValue('bottom');
- }
- /**
- *
- */
- public set bottom(bottom: string) {
- this.setProperty('bottom', bottom);
- }
-
- /**
- *
- */
- public get boxShadow(): string {
- return this.getPropertyValue('box-shadow');
- }
- /**
- *
- */
- public set boxShadow(boxShadow: string) {
- this.setProperty('box-shadow', boxShadow);
- }
-
- /**
- *
- */
- public get boxSizing(): string {
- return this.getPropertyValue('box-sizing');
- }
- /**
- *
- */
- public set boxSizing(boxSizing: string) {
- this.setProperty('box-sizing', boxSizing);
- }
-
- /**
- *
- */
- public get breakAfter(): string {
- return this.getPropertyValue('break-after');
- }
- /**
- *
- */
- public set breakAfter(breakAfter: string) {
- this.setProperty('break-after', breakAfter);
- }
-
- /**
- *
- */
- public get breakBefore(): string {
- return this.getPropertyValue('break-before');
- }
- /**
- *
- */
- public set breakBefore(breakBefore: string) {
- this.setProperty('break-before', breakBefore);
- }
-
- /**
- *
- */
- public get breakInside(): string {
- return this.getPropertyValue('break-inside');
- }
- /**
- *
- */
- public set breakInside(breakInside: string) {
- this.setProperty('break-inside', breakInside);
- }
-
- /**
- *
- */
- public get bufferedRendering(): string {
- return this.getPropertyValue('buffered-rendering');
- }
- /**
- *
- */
- public set bufferedRendering(bufferedRendering: string) {
- this.setProperty('buffered-rendering', bufferedRendering);
- }
-
- /**
- *
- */
- public get captionSide(): string {
- return this.getPropertyValue('caption-side');
- }
- /**
- *
- */
- public set captionSide(captionSide: string) {
- this.setProperty('caption-side', captionSide);
- }
-
- /**
- *
- */
- public get caretColor(): string {
- return this.getPropertyValue('caret-color');
- }
- /**
- *
- */
- public set caretColor(caretColor: string) {
- this.setProperty('caret-color', caretColor);
- }
-
- /**
- *
- */
- public get clear(): string {
- return this.getPropertyValue('clear');
- }
- /**
- *
- */
- public set clear(clear: string) {
- this.setProperty('clear', clear);
- }
-
- /**
- *
- */
- public get clip(): string {
- return this.getPropertyValue('clip');
- }
- /**
- *
- */
- public set clip(clip: string) {
- this.setProperty('clip', clip);
- }
-
- /**
- *
- */
- public get clipPath(): string {
- return this.getPropertyValue('clip-path');
- }
- /**
- *
- */
- public set clipPath(clipPath: string) {
- this.setProperty('clip-path', clipPath);
- }
-
- /**
- *
- */
- public get clipRule(): string {
- return this.getPropertyValue('clip-rule');
- }
- /**
- *
- */
- public set clipRule(clipRule: string) {
- this.setProperty('clip-rule', clipRule);
- }
-
- /**
- *
- */
- public get color(): string {
- return this.getPropertyValue('color');
- }
- /**
- *
- */
- public set color(color: string) {
- this.setProperty('color', color);
- }
-
- /**
- *
- */
- public get colorInterpolation(): string {
- return this.getPropertyValue('color-interpolation');
- }
- /**
- *
- */
- public set colorInterpolation(colorInterpolation: string) {
- this.setProperty('color-interpolation', colorInterpolation);
- }
-
- /**
- *
- */
- public get colorInterpolationFilters(): string {
- return this.getPropertyValue('color-interpolation-filters');
- }
- /**
- *
- */
- public set colorInterpolationFilters(colorInterpolationFilters: string) {
- this.setProperty('color-interpolation-filters', colorInterpolationFilters);
- }
-
- /**
- *
- */
- public get colorRendering(): string {
- return this.getPropertyValue('color-rendering');
- }
- /**
- *
- */
- public set colorRendering(colorRendering: string) {
- this.setProperty('color-rendering', colorRendering);
- }
-
- /**
- *
- */
- public get colorScheme(): string {
- return this.getPropertyValue('color-scheme');
- }
- /**
- *
- */
- public set colorScheme(colorScheme: string) {
- this.setProperty('color-scheme', colorScheme);
- }
-
- /**
- *
- */
- public get columnCount(): string {
- return this.getPropertyValue('column-count');
- }
- /**
- *
- */
- public set columnCount(columnCount: string) {
- this.setProperty('column-count', columnCount);
- }
-
- /**
- *
- */
- public get columnFill(): string {
- return this.getPropertyValue('column-fill');
- }
- /**
- *
- */
- public set columnFill(columnFill: string) {
- this.setProperty('column-fill', columnFill);
- }
-
- /**
- *
- */
- public get columnGap(): string {
- return this.getPropertyValue('column-gap');
- }
- /**
- *
- */
- public set columnGap(columnGap: string) {
- this.setProperty('column-gap', columnGap);
- }
-
- /**
- *
- */
- public get columnRule(): string {
- return this.getPropertyValue('column-rule');
- }
- /**
- *
- */
- public set columnRule(columnRule: string) {
- this.setProperty('column-rule', columnRule);
- }
-
- /**
- *
- */
- public get columnRuleColor(): string {
- return this.getPropertyValue('column-rule-color');
- }
- /**
- *
- */
- public set columnRuleColor(columnRuleColor: string) {
- this.setProperty('column-rule-color', columnRuleColor);
- }
-
- /**
- *
- */
- public get columnRuleStyle(): string {
- return this.getPropertyValue('column-rule-style');
- }
- /**
- *
- */
- public set columnRuleStyle(columnRuleStyle: string) {
- this.setProperty('column-rule-style', columnRuleStyle);
- }
-
- /**
- *
- */
- public get columnRuleWidth(): string {
- return this.getPropertyValue('column-rule-width');
- }
- /**
- *
- */
- public set columnRuleWidth(columnRuleWidth: string) {
- this.setProperty('column-rule-width', columnRuleWidth);
- }
-
- /**
- *
- */
- public get columnSpan(): string {
- return this.getPropertyValue('column-span');
- }
- /**
- *
- */
- public set columnSpan(columnSpan: string) {
- this.setProperty('column-span', columnSpan);
- }
-
- /**
- *
- */
- public get columnWidth(): string {
- return this.getPropertyValue('column-width');
- }
- /**
- *
- */
- public set columnWidth(columnWidth: string) {
- this.setProperty('column-width', columnWidth);
- }
-
- /**
- *
- */
- public get columns(): string {
- return this.getPropertyValue('columns');
- }
- /**
- *
- */
- public set columns(columns: string) {
- this.setProperty('columns', columns);
- }
-
- /**
- *
- */
- public get contain(): string {
- return this.getPropertyValue('contain');
- }
- /**
- *
- */
- public set contain(contain: string) {
- this.setProperty('contain', contain);
- }
-
- /**
- *
- */
- public get containIntrinsicSize(): string {
- return this.getPropertyValue('contain-intrinsic-size');
- }
- /**
- *
- */
- public set containIntrinsicSize(containIntrinsicSize: string) {
- this.setProperty('contain-intrinsic-size', containIntrinsicSize);
- }
-
- /**
- *
- */
- public get content(): string {
- return this.getPropertyValue('content');
- }
- /**
- *
- */
- public set content(content: string) {
- this.setProperty('content', content);
- }
-
- /**
- *
- */
- public get contentVisibility(): string {
- return this.getPropertyValue('content-visibility');
- }
- /**
- *
- */
- public set contentVisibility(contentVisibility: string) {
- this.setProperty('content-visibility', contentVisibility);
- }
-
- /**
- *
- */
- public get counterIncrement(): string {
- return this.getPropertyValue('counter-increment');
- }
- /**
- *
- */
- public set counterIncrement(counterIncrement: string) {
- this.setProperty('counter-increment', counterIncrement);
- }
-
- /**
- *
- */
- public get counterReset(): string {
- return this.getPropertyValue('counter-reset');
- }
- /**
- *
- */
- public set counterReset(counterReset: string) {
- this.setProperty('counter-reset', counterReset);
- }
-
- /**
- *
- */
- public get counterSet(): string {
- return this.getPropertyValue('counter-set');
- }
- /**
- *
- */
- public set counterSet(counterSet: string) {
- this.setProperty('counter-set', counterSet);
- }
-
- /**
- *
- */
- public get cssFloat(): string {
- return this.getPropertyValue('css-float');
- }
- /**
- *
- */
- public set cssFloat(cssFloat: string) {
- this.setProperty('css-float', cssFloat);
- }
-
- /**
- *
- */
- public get cursor(): string {
- return this.getPropertyValue('cursor');
- }
- /**
- *
- */
- public set cursor(cursor: string) {
- this.setProperty('cursor', cursor);
- }
-
- /**
- *
- */
- public get cx(): string {
- return this.getPropertyValue('cx');
- }
- /**
- *
- */
- public set cx(cx: string) {
- this.setProperty('cx', cx);
- }
-
- /**
- *
- */
- public get cy(): string {
- return this.getPropertyValue('cy');
- }
- /**
- *
- */
- public set cy(cy: string) {
- this.setProperty('cy', cy);
- }
-
- /**
- *
- */
- public get d(): string {
- return this.getPropertyValue('d');
- }
- /**
- *
- */
- public set d(d: string) {
- this.setProperty('d', d);
- }
-
- /**
- *
- */
- public get direction(): string {
- return this.getPropertyValue('direction');
- }
- /**
- *
- */
- public set direction(direction: string) {
- this.setProperty('direction', direction);
- }
-
- /**
- *
- */
- public get display(): string {
- return this.getPropertyValue('display');
- }
- /**
- *
- */
- public set display(display: string) {
- this.setProperty('display', display);
- }
-
- /**
- *
- */
- public get dominantBaseline(): string {
- return this.getPropertyValue('dominant-baseline');
- }
- /**
- *
- */
- public set dominantBaseline(dominantBaseline: string) {
- this.setProperty('dominant-baseline', dominantBaseline);
- }
-
- /**
- *
- */
- public get emptyCells(): string {
- return this.getPropertyValue('empty-cells');
- }
- /**
- *
- */
- public set emptyCells(emptyCells: string) {
- this.setProperty('empty-cells', emptyCells);
- }
-
- /**
- *
- */
- public get fill(): string {
- return this.getPropertyValue('fill');
- }
- /**
- *
- */
- public set fill(fill: string) {
- this.setProperty('fill', fill);
- }
-
- /**
- *
- */
- public get fillOpacity(): string {
- return this.getPropertyValue('fill-opacity');
- }
- /**
- *
- */
- public set fillOpacity(fillOpacity: string) {
- this.setProperty('fill-opacity', fillOpacity);
- }
-
- /**
- *
- */
- public get fillRule(): string {
- return this.getPropertyValue('fill-rule');
- }
- /**
- *
- */
- public set fillRule(fillRule: string) {
- this.setProperty('fill-rule', fillRule);
- }
-
- /**
- *
- */
- public get filter(): string {
- return this.getPropertyValue('filter');
- }
- /**
- *
- */
- public set filter(filter: string) {
- this.setProperty('filter', filter);
- }
-
- /**
- *
- */
- public get flex(): string {
- return this.getPropertyValue('flex');
- }
- /**
- *
- */
- public set flex(flex: string) {
- this.setProperty('flex', flex);
- }
-
- /**
- *
- */
- public get flexBasis(): string {
- return this.getPropertyValue('flex-basis');
- }
- /**
- *
- */
- public set flexBasis(flexBasis: string) {
- this.setProperty('flex-basis', flexBasis);
- }
-
- /**
- *
- */
- public get flexDirection(): string {
- return this.getPropertyValue('flex-direction');
- }
- /**
- *
- */
- public set flexDirection(flexDirection: string) {
- this.setProperty('flex-direction', flexDirection);
- }
-
- /**
- *
- */
- public get flexFlow(): string {
- return this.getPropertyValue('flex-flow');
- }
- /**
- *
- */
- public set flexFlow(flexFlow: string) {
- this.setProperty('flex-flow', flexFlow);
- }
-
- /**
- *
- */
- public get flexGrow(): string {
- return this.getPropertyValue('flex-grow');
- }
- /**
- *
- */
- public set flexGrow(flexGrow: string) {
- this.setProperty('flex-grow', flexGrow);
- }
-
- /**
- *
- */
- public get flexShrink(): string {
- return this.getPropertyValue('flex-shrink');
- }
- /**
- *
- */
- public set flexShrink(flexShrink: string) {
- this.setProperty('flex-shrink', flexShrink);
- }
-
- /**
- *
- */
- public get flexWrap(): string {
- return this.getPropertyValue('flex-wrap');
- }
- /**
- *
- */
- public set flexWrap(flexWrap: string) {
- this.setProperty('flex-wrap', flexWrap);
- }
-
- /**
- *
- */
- public get float(): string {
- return this.getPropertyValue('float');
- }
- /**
- *
- */
- public set float(float: string) {
- this.setProperty('float', float);
- }
-
- /**
- *
- */
- public get floodColor(): string {
- return this.getPropertyValue('flood-color');
- }
- /**
- *
- */
- public set floodColor(floodColor: string) {
- this.setProperty('flood-color', floodColor);
- }
-
- /**
- *
- */
- public get floodOpacity(): string {
- return this.getPropertyValue('flood-opacity');
- }
- /**
- *
- */
- public set floodOpacity(floodOpacity: string) {
- this.setProperty('flood-opacity', floodOpacity);
- }
-
- /**
- *
- */
- public get font(): string {
- return this.getPropertyValue('font');
- }
- /**
- *
- */
- public set font(font: string) {
- this.setProperty('font', font);
- }
-
- /**
- *
- */
- public get fontDisplay(): string {
- return this.getPropertyValue('font-display');
- }
- /**
- *
- */
- public set fontDisplay(fontDisplay: string) {
- this.setProperty('font-display', fontDisplay);
- }
-
- /**
- *
- */
- public get fontFamily(): string {
- return this.getPropertyValue('font-family');
- }
- /**
- *
- */
- public set fontFamily(fontFamily: string) {
- this.setProperty('font-family', fontFamily);
- }
-
- /**
- *
- */
- public get fontFeatureSettings(): string {
- return this.getPropertyValue('font-feature-settings');
- }
- /**
- *
- */
- public set fontFeatureSettings(fontFeatureSettings: string) {
- this.setProperty('font-feature-settings', fontFeatureSettings);
- }
-
- /**
- *
- */
- public get fontKerning(): string {
- return this.getPropertyValue('font-kerning');
- }
- /**
- *
- */
- public set fontKerning(fontKerning: string) {
- this.setProperty('font-kerning', fontKerning);
- }
-
- /**
- *
- */
- public get fontOpticalSizing(): string {
- return this.getPropertyValue('font-optical-sizing');
- }
- /**
- *
- */
- public set fontOpticalSizing(fontOpticalSizing: string) {
- this.setProperty('font-optical-sizing', fontOpticalSizing);
- }
-
- /**
- *
- */
- public get fontSize(): string {
- return this.getPropertyValue('font-size');
- }
- /**
- *
- */
- public set fontSize(fontSize: string) {
- this.setProperty('font-size', fontSize);
- }
-
- /**
- *
- */
- public get fontStretch(): string {
- return this.getPropertyValue('font-stretch');
- }
- /**
- *
- */
- public set fontStretch(fontStretch: string) {
- this.setProperty('font-stretch', fontStretch);
- }
-
- /**
- *
- */
- public get fontStyle(): string {
- return this.getPropertyValue('font-style');
- }
- /**
- *
- */
- public set fontStyle(fontStyle: string) {
- this.setProperty('font-style', fontStyle);
- }
-
- /**
- *
- */
- public get fontVariant(): string {
- return this.getPropertyValue('font-variant');
- }
- /**
- *
- */
- public set fontVariant(fontVariant: string) {
- this.setProperty('font-variant', fontVariant);
- }
-
- /**
- *
- */
- public get fontVariantCaps(): string {
- return this.getPropertyValue('font-variant-caps');
- }
- /**
- *
- */
- public set fontVariantCaps(fontVariantCaps: string) {
- this.setProperty('font-variant-caps', fontVariantCaps);
- }
-
- /**
- *
- */
- public get fontVariantEastAsian(): string {
- return this.getPropertyValue('font-variant-east-asian');
- }
- /**
- *
- */
- public set fontVariantEastAsian(fontVariantEastAsian: string) {
- this.setProperty('font-variant-east-asian', fontVariantEastAsian);
- }
-
- /**
- *
- */
- public get fontVariantLigatures(): string {
- return this.getPropertyValue('font-variant-ligatures');
- }
- /**
- *
- */
- public set fontVariantLigatures(fontVariantLigatures: string) {
- this.setProperty('font-variant-ligatures', fontVariantLigatures);
- }
-
- /**
- *
- */
- public get fontVariantNumeric(): string {
- return this.getPropertyValue('font-variant-numeric');
- }
- /**
- *
- */
- public set fontVariantNumeric(fontVariantNumeric: string) {
- this.setProperty('font-variant-numeric', fontVariantNumeric);
- }
-
- /**
- *
- */
- public get fontVariationSettings(): string {
- return this.getPropertyValue('font-variation-settings');
- }
- /**
- *
- */
- public set fontVariationSettings(fontVariationSettings: string) {
- this.setProperty('font-variation-settings', fontVariationSettings);
- }
-
- /**
- *
- */
- public get fontWeight(): string {
- return this.getPropertyValue('font-weight');
- }
- /**
- *
- */
- public set fontWeight(fontWeight: string) {
- this.setProperty('font-weight', fontWeight);
- }
-
- /**
- *
- */
- public get gap(): string {
- return this.getPropertyValue('gap');
- }
- /**
- *
- */
- public set gap(gap: string) {
- this.setProperty('gap', gap);
- }
-
- /**
- *
- */
- public get grid(): string {
- return this.getPropertyValue('grid');
- }
- /**
- *
- */
- public set grid(grid: string) {
- this.setProperty('grid', grid);
- }
-
- /**
- *
- */
- public get gridArea(): string {
- return this.getPropertyValue('grid-area');
- }
- /**
- *
- */
- public set gridArea(gridArea: string) {
- this.setProperty('grid-area', gridArea);
- }
-
- /**
- *
- */
- public get gridAutoColumns(): string {
- return this.getPropertyValue('grid-auto-columns');
- }
- /**
- *
- */
- public set gridAutoColumns(gridAutoColumns: string) {
- this.setProperty('grid-auto-columns', gridAutoColumns);
- }
-
- /**
- *
- */
- public get gridAutoFlow(): string {
- return this.getPropertyValue('grid-auto-flow');
- }
- /**
- *
- */
- public set gridAutoFlow(gridAutoFlow: string) {
- this.setProperty('grid-auto-flow', gridAutoFlow);
- }
-
- /**
- *
- */
- public get gridAutoRows(): string {
- return this.getPropertyValue('grid-auto-rows');
- }
- /**
- *
- */
- public set gridAutoRows(gridAutoRows: string) {
- this.setProperty('grid-auto-rows', gridAutoRows);
- }
-
- /**
- *
- */
- public get gridColumn(): string {
- return this.getPropertyValue('grid-column');
- }
- /**
- *
- */
- public set gridColumn(gridColumn: string) {
- this.setProperty('grid-column', gridColumn);
- }
-
- /**
- *
- */
- public get gridColumnEnd(): string {
- return this.getPropertyValue('grid-column-end');
- }
- /**
- *
- */
- public set gridColumnEnd(gridColumnEnd: string) {
- this.setProperty('grid-column-end', gridColumnEnd);
- }
-
- /**
- *
- */
- public get gridColumnGap(): string {
- return this.getPropertyValue('grid-column-gap');
- }
- /**
- *
- */
- public set gridColumnGap(gridColumnGap: string) {
- this.setProperty('grid-column-gap', gridColumnGap);
- }
-
- /**
- *
- */
- public get gridColumnStart(): string {
- return this.getPropertyValue('grid-column-start');
- }
- /**
- *
- */
- public set gridColumnStart(gridColumnStart: string) {
- this.setProperty('grid-column-start', gridColumnStart);
- }
-
- /**
- *
- */
- public get gridGap(): string {
- return this.getPropertyValue('grid-gap');
- }
- /**
- *
- */
- public set gridGap(gridGap: string) {
- this.setProperty('grid-gap', gridGap);
- }
-
- /**
- *
- */
- public get gridRow(): string {
- return this.getPropertyValue('grid-row');
- }
- /**
- *
- */
- public set gridRow(gridRow: string) {
- this.setProperty('grid-row', gridRow);
- }
-
- /**
- *
- */
- public get gridRowEnd(): string {
- return this.getPropertyValue('grid-row-end');
- }
- /**
- *
- */
- public set gridRowEnd(gridRowEnd: string) {
- this.setProperty('grid-row-end', gridRowEnd);
- }
-
- /**
- *
- */
- public get gridRowGap(): string {
- return this.getPropertyValue('grid-row-gap');
- }
- /**
- *
- */
- public set gridRowGap(gridRowGap: string) {
- this.setProperty('grid-row-gap', gridRowGap);
- }
-
- /**
- *
- */
- public get gridRowStart(): string {
- return this.getPropertyValue('grid-row-start');
- }
- /**
- *
- */
- public set gridRowStart(gridRowStart: string) {
- this.setProperty('grid-row-start', gridRowStart);
- }
-
- /**
- *
- */
- public get gridTemplate(): string {
- return this.getPropertyValue('grid-template');
- }
- /**
- *
- */
- public set gridTemplate(gridTemplate: string) {
- this.setProperty('grid-template', gridTemplate);
- }
-
- /**
- *
- */
- public get gridTemplateAreas(): string {
- return this.getPropertyValue('grid-template-areas');
- }
- /**
- *
- */
- public set gridTemplateAreas(gridTemplateAreas: string) {
- this.setProperty('grid-template-areas', gridTemplateAreas);
- }
-
- /**
- *
- */
- public get gridTemplateColumns(): string {
- return this.getPropertyValue('grid-template-columns');
- }
- /**
- *
- */
- public set gridTemplateColumns(gridTemplateColumns: string) {
- this.setProperty('grid-template-columns', gridTemplateColumns);
- }
-
- /**
- *
- */
- public get gridTemplateRows(): string {
- return this.getPropertyValue('grid-template-rows');
- }
- /**
- *
- */
- public set gridTemplateRows(gridTemplateRows: string) {
- this.setProperty('grid-template-rows', gridTemplateRows);
- }
-
- /**
- *
- */
- public get height(): string {
- return this.getPropertyValue('height');
- }
- /**
- *
- */
- public set height(height: string) {
- this.setProperty('height', height);
- }
-
- /**
- *
- */
- public get hyphens(): string {
- return this.getPropertyValue('hyphens');
- }
- /**
- *
- */
- public set hyphens(hyphens: string) {
- this.setProperty('hyphens', hyphens);
- }
-
- /**
- *
- */
- public get imageOrientation(): string {
- return this.getPropertyValue('image-orientation');
- }
- /**
- *
- */
- public set imageOrientation(imageOrientation: string) {
- this.setProperty('image-orientation', imageOrientation);
- }
-
- /**
- *
- */
- public get imageRendering(): string {
- return this.getPropertyValue('image-rendering');
- }
- /**
- *
- */
- public set imageRendering(imageRendering: string) {
- this.setProperty('image-rendering', imageRendering);
- }
-
- /**
- *
- */
- public get inherits(): string {
- return this.getPropertyValue('inherits');
- }
- /**
- *
- */
- public set inherits(inherits: string) {
- this.setProperty('inherits', inherits);
- }
-
- /**
- *
- */
- public get initialValue(): string {
- return this.getPropertyValue('initial-value');
- }
- /**
- *
- */
- public set initialValue(initialValue: string) {
- this.setProperty('initial-value', initialValue);
- }
-
- /**
- *
- */
- public get inlineSize(): string {
- return this.getPropertyValue('inline-size');
- }
- /**
- *
- */
- public set inlineSize(inlineSize: string) {
- this.setProperty('inline-size', inlineSize);
- }
-
- /**
- *
- */
- public get isolation(): string {
- return this.getPropertyValue('isolation');
- }
- /**
- *
- */
- public set isolation(isolation: string) {
- this.setProperty('isolation', isolation);
- }
-
- /**
- *
- */
- public get justifyContent(): string {
- return this.getPropertyValue('justify-content');
- }
- /**
- *
- */
- public set justifyContent(justifyContent: string) {
- this.setProperty('justify-content', justifyContent);
- }
-
- /**
- *
- */
- public get justifyItems(): string {
- return this.getPropertyValue('justify-items');
- }
- /**
- *
- */
- public set justifyItems(justifyItems: string) {
- this.setProperty('justify-items', justifyItems);
- }
-
- /**
- *
- */
- public get justifySelf(): string {
- return this.getPropertyValue('justify-self');
- }
- /**
- *
- */
- public set justifySelf(justifySelf: string) {
- this.setProperty('justify-self', justifySelf);
- }
-
- /**
- *
- */
- public get left(): string {
- return this.getPropertyValue('left');
- }
- /**
- *
- */
- public set left(left: string) {
- this.setProperty('left', left);
- }
-
- /**
- *
- */
- public get letterSpacing(): string {
- return this.getPropertyValue('letter-spacing');
- }
- /**
- *
- */
- public set letterSpacing(letterSpacing: string) {
- this.setProperty('letter-spacing', letterSpacing);
- }
-
- /**
- *
- */
- public get lightingColor(): string {
- return this.getPropertyValue('lighting-color');
- }
- /**
- *
- */
- public set lightingColor(lightingColor: string) {
- this.setProperty('lighting-color', lightingColor);
- }
-
- /**
- *
- */
- public get lineBreak(): string {
- return this.getPropertyValue('line-break');
- }
- /**
- *
- */
- public set lineBreak(lineBreak: string) {
- this.setProperty('line-break', lineBreak);
- }
-
- /**
- *
- */
- public get lineHeight(): string {
- return this.getPropertyValue('line-height');
- }
- /**
- *
- */
- public set lineHeight(lineHeight: string) {
- this.setProperty('line-height', lineHeight);
- }
-
- /**
- *
- */
- public get listStyle(): string {
- return this.getPropertyValue('list-style');
- }
- /**
- *
- */
- public set listStyle(listStyle: string) {
- this.setProperty('list-style', listStyle);
- }
-
- /**
- *
- */
- public get listStyleImage(): string {
- return this.getPropertyValue('list-style-image');
- }
- /**
- *
- */
- public set listStyleImage(listStyleImage: string) {
- this.setProperty('list-style-image', listStyleImage);
- }
-
- /**
- *
- */
- public get listStylePosition(): string {
- return this.getPropertyValue('list-style-position');
- }
- /**
- *
- */
- public set listStylePosition(listStylePosition: string) {
- this.setProperty('list-style-position', listStylePosition);
- }
-
- /**
- *
- */
- public get listStyleType(): string {
- return this.getPropertyValue('list-style-type');
- }
- /**
- *
- */
- public set listStyleType(listStyleType: string) {
- this.setProperty('list-style-type', listStyleType);
- }
-
- /**
- *
- */
- public get margin(): string {
- return this.getPropertyValue('margin');
- }
- /**
- *
- */
- public set margin(margin: string) {
- this.setProperty('margin', margin);
- }
-
- /**
- *
- */
- public get marginBlockEnd(): string {
- return this.getPropertyValue('margin-block-end');
- }
- /**
- *
- */
- public set marginBlockEnd(marginBlockEnd: string) {
- this.setProperty('margin-block-end', marginBlockEnd);
- }
-
- /**
- *
- */
- public get marginBlockStart(): string {
- return this.getPropertyValue('margin-block-start');
- }
- /**
- *
- */
- public set marginBlockStart(marginBlockStart: string) {
- this.setProperty('margin-block-start', marginBlockStart);
- }
-
- /**
- *
- */
- public get marginBottom(): string {
- return this.getPropertyValue('margin-bottom');
- }
- /**
- *
- */
- public set marginBottom(marginBottom: string) {
- this.setProperty('margin-bottom', marginBottom);
- }
-
- /**
- *
- */
- public get marginInlineEnd(): string {
- return this.getPropertyValue('margin-inline-end');
- }
- /**
- *
- */
- public set marginInlineEnd(marginInlineEnd: string) {
- this.setProperty('margin-inline-end', marginInlineEnd);
- }
-
- /**
- *
- */
- public get marginInlineStart(): string {
- return this.getPropertyValue('margin-inline-start');
- }
- /**
- *
- */
- public set marginInlineStart(marginInlineStart: string) {
- this.setProperty('margin-inline-start', marginInlineStart);
- }
-
- /**
- *
- */
- public get marginLeft(): string {
- return this.getPropertyValue('margin-left');
- }
- /**
- *
- */
- public set marginLeft(marginLeft: string) {
- this.setProperty('margin-left', marginLeft);
- }
-
- /**
- *
- */
- public get marginRight(): string {
- return this.getPropertyValue('margin-right');
- }
- /**
- *
- */
- public set marginRight(marginRight: string) {
- this.setProperty('margin-right', marginRight);
- }
-
- /**
- *
- */
- public get marginTop(): string {
- return this.getPropertyValue('margin-top');
- }
- /**
- *
- */
- public set marginTop(marginTop: string) {
- this.setProperty('margin-top', marginTop);
- }
-
- /**
- *
- */
- public get marker(): string {
- return this.getPropertyValue('marker');
- }
- /**
- *
- */
- public set marker(marker: string) {
- this.setProperty('marker', marker);
- }
-
- /**
- *
- */
- public get markerEnd(): string {
- return this.getPropertyValue('marker-end');
- }
- /**
- *
- */
- public set markerEnd(markerEnd: string) {
- this.setProperty('marker-end', markerEnd);
- }
-
- /**
- *
- */
- public get markerMid(): string {
- return this.getPropertyValue('marker-mid');
- }
- /**
- *
- */
- public set markerMid(markerMid: string) {
- this.setProperty('marker-mid', markerMid);
- }
-
- /**
- *
- */
- public get markerStart(): string {
- return this.getPropertyValue('marker-start');
- }
- /**
- *
- */
- public set markerStart(markerStart: string) {
- this.setProperty('marker-start', markerStart);
- }
-
- /**
- *
- */
- public get mask(): string {
- return this.getPropertyValue('mask');
- }
- /**
- *
- */
- public set mask(mask: string) {
- this.setProperty('mask', mask);
- }
-
- /**
- *
- */
- public get maskType(): string {
- return this.getPropertyValue('mask-type');
- }
- /**
- *
- */
- public set maskType(maskType: string) {
- this.setProperty('mask-type', maskType);
- }
-
- /**
- *
- */
- public get maxBlockSize(): string {
- return this.getPropertyValue('max-block-size');
- }
- /**
- *
- */
- public set maxBlockSize(maxBlockSize: string) {
- this.setProperty('max-block-size', maxBlockSize);
- }
-
- /**
- *
- */
- public get maxHeight(): string {
- return this.getPropertyValue('max-height');
- }
- /**
- *
- */
- public set maxHeight(maxHeight: string) {
- this.setProperty('max-height', maxHeight);
- }
-
- /**
- *
- */
- public get maxInlineSize(): string {
- return this.getPropertyValue('max-inline-size');
- }
- /**
- *
- */
- public set maxInlineSize(maxInlineSize: string) {
- this.setProperty('max-inline-size', maxInlineSize);
- }
-
- /**
- *
- */
- public get maxWidth(): string {
- return this.getPropertyValue('max-width');
- }
- /**
- *
- */
- public set maxWidth(maxWidth: string) {
- this.setProperty('max-width', maxWidth);
- }
-
- /**
- *
- */
- public get maxZoom(): string {
- return this.getPropertyValue('max-zoom');
- }
- /**
- *
- */
- public set maxZoom(maxZoom: string) {
- this.setProperty('max-zoom', maxZoom);
- }
-
- /**
- *
- */
- public get minBlockSize(): string {
- return this.getPropertyValue('min-block-size');
- }
- /**
- *
- */
- public set minBlockSize(minBlockSize: string) {
- this.setProperty('min-block-size', minBlockSize);
- }
-
- /**
- *
- */
- public get minHeight(): string {
- return this.getPropertyValue('min-height');
- }
- /**
- *
- */
- public set minHeight(minHeight: string) {
- this.setProperty('min-height', minHeight);
- }
-
- /**
- *
- */
- public get minInlineSize(): string {
- return this.getPropertyValue('min-inline-size');
- }
- /**
- *
- */
- public set minInlineSize(minInlineSize: string) {
- this.setProperty('min-inline-size', minInlineSize);
- }
-
- /**
- *
- */
- public get minWidth(): string {
- return this.getPropertyValue('min-width');
- }
- /**
- *
- */
- public set minWidth(minWidth: string) {
- this.setProperty('min-width', minWidth);
- }
-
- /**
- *
- */
- public get minZoom(): string {
- return this.getPropertyValue('min-zoom');
- }
- /**
- *
- */
- public set minZoom(minZoom: string) {
- this.setProperty('min-zoom', minZoom);
- }
-
- /**
- *
- */
- public get mixBlendMode(): string {
- return this.getPropertyValue('mix-blend-mode');
- }
- /**
- *
- */
- public set mixBlendMode(mixBlendMode: string) {
- this.setProperty('mix-blend-mode', mixBlendMode);
- }
-
- /**
- *
- */
- public get objectFit(): string {
- return this.getPropertyValue('object-fit');
- }
- /**
- *
- */
- public set objectFit(objectFit: string) {
- this.setProperty('object-fit', objectFit);
- }
-
- /**
- *
- */
- public get objectPosition(): string {
- return this.getPropertyValue('object-position');
- }
- /**
- *
- */
- public set objectPosition(objectPosition: string) {
- this.setProperty('object-position', objectPosition);
- }
-
- /**
- *
- */
- public get offset(): string {
- return this.getPropertyValue('offset');
- }
- /**
- *
- */
- public set offset(offset: string) {
- this.setProperty('offset', offset);
- }
-
- /**
- *
- */
- public get offsetDistance(): string {
- return this.getPropertyValue('offset-distance');
- }
- /**
- *
- */
- public set offsetDistance(offsetDistance: string) {
- this.setProperty('offset-distance', offsetDistance);
- }
-
- /**
- *
- */
- public get offsetPath(): string {
- return this.getPropertyValue('offset-path');
- }
- /**
- *
- */
- public set offsetPath(offsetPath: string) {
- this.setProperty('offset-path', offsetPath);
- }
-
- /**
- *
- */
- public get offsetRotate(): string {
- return this.getPropertyValue('offset-rotate');
- }
- /**
- *
- */
- public set offsetRotate(offsetRotate: string) {
- this.setProperty('offset-rotate', offsetRotate);
- }
-
- /**
- *
- */
- public get opacity(): string {
- return this.getPropertyValue('opacity');
- }
- /**
- *
- */
- public set opacity(opacity: string) {
- this.setProperty('opacity', opacity);
- }
-
- /**
- *
- */
- public get order(): string {
- return this.getPropertyValue('order');
- }
- /**
- *
- */
- public set order(order: string) {
- this.setProperty('order', order);
- }
-
- /**
- *
- */
- public get orientation(): string {
- return this.getPropertyValue('orientation');
- }
- /**
- *
- */
- public set orientation(orientation: string) {
- this.setProperty('orientation', orientation);
- }
-
- /**
- *
- */
- public get orphans(): string {
- return this.getPropertyValue('orphans');
- }
- /**
- *
- */
- public set orphans(orphans: string) {
- this.setProperty('orphans', orphans);
- }
-
- /**
- *
- */
- public get outline(): string {
- return this.getPropertyValue('outline');
- }
- /**
- *
- */
- public set outline(outline: string) {
- this.setProperty('outline', outline);
- }
-
- /**
- *
- */
- public get outlineColor(): string {
- return this.getPropertyValue('outline-color');
- }
- /**
- *
- */
- public set outlineColor(outlineColor: string) {
- this.setProperty('outline-color', outlineColor);
- }
-
- /**
- *
- */
- public get outlineOffset(): string {
- return this.getPropertyValue('outline-offset');
- }
- /**
- *
- */
- public set outlineOffset(outlineOffset: string) {
- this.setProperty('outline-offset', outlineOffset);
- }
-
- /**
- *
- */
- public get outlineStyle(): string {
- return this.getPropertyValue('outline-style');
- }
- /**
- *
- */
- public set outlineStyle(outlineStyle: string) {
- this.setProperty('outline-style', outlineStyle);
- }
-
- /**
- *
- */
- public get outlineWidth(): string {
- return this.getPropertyValue('outline-width');
- }
- /**
- *
- */
- public set outlineWidth(outlineWidth: string) {
- this.setProperty('outline-width', outlineWidth);
- }
-
- /**
- *
- */
- public get overflow(): string {
- return this.getPropertyValue('overflow');
- }
- /**
- *
- */
- public set overflow(overflow: string) {
- this.setProperty('overflow', overflow);
- }
-
- /**
- *
- */
- public get overflowAnchor(): string {
- return this.getPropertyValue('overflow-anchor');
- }
- /**
- *
- */
- public set overflowAnchor(overflowAnchor: string) {
- this.setProperty('overflow-anchor', overflowAnchor);
- }
-
- /**
- *
- */
- public get overflowWrap(): string {
- return this.getPropertyValue('overflow-wrap');
- }
- /**
- *
- */
- public set overflowWrap(overflowWrap: string) {
- this.setProperty('overflow-wrap', overflowWrap);
- }
-
- /**
- *
- */
- public get overflowX(): string {
- return this.getPropertyValue('overflow-x');
- }
- /**
- *
- */
- public set overflowX(overflowX: string) {
- this.setProperty('overflow-x', overflowX);
- }
-
- /**
- *
- */
- public get overflowY(): string {
- return this.getPropertyValue('overflow-y');
- }
- /**
- *
- */
- public set overflowY(overflowY: string) {
- this.setProperty('overflow-y', overflowY);
- }
-
- /**
- *
- */
- public get overscrollBehavior(): string {
- return this.getPropertyValue('overscroll-behavior');
- }
- /**
- *
- */
- public set overscrollBehavior(overscrollBehavior: string) {
- this.setProperty('overscroll-behavior', overscrollBehavior);
- }
-
- /**
- *
- */
- public get overscrollBehaviorBlock(): string {
- return this.getPropertyValue('overscroll-behavior-block');
- }
- /**
- *
- */
- public set overscrollBehaviorBlock(overscrollBehaviorBlock: string) {
- this.setProperty('overscroll-behavior-block', overscrollBehaviorBlock);
- }
-
- /**
- *
- */
- public get overscrollBehaviorInline(): string {
- return this.getPropertyValue('overscroll-behavior-inline');
- }
- /**
- *
- */
- public set overscrollBehaviorInline(overscrollBehaviorInline: string) {
- this.setProperty('overscroll-behavior-inline', overscrollBehaviorInline);
- }
-
- /**
- *
- */
- public get overscrollBehaviorX(): string {
- return this.getPropertyValue('overscroll-behavior-x');
- }
- /**
- *
- */
- public set overscrollBehaviorX(overscrollBehaviorX: string) {
- this.setProperty('overscroll-behavior-x', overscrollBehaviorX);
- }
-
- /**
- *
- */
- public get overscrollBehaviorY(): string {
- return this.getPropertyValue('overscroll-behavior-y');
- }
- /**
- *
- */
- public set overscrollBehaviorY(overscrollBehaviorY: string) {
- this.setProperty('overscroll-behavior-y', overscrollBehaviorY);
- }
-
- /**
- *
- */
- public get padding(): string {
- return this.getPropertyValue('padding');
- }
- /**
- *
- */
- public set padding(padding: string) {
- this.setProperty('padding', padding);
- }
-
- /**
- *
- */
- public get paddingBlockEnd(): string {
- return this.getPropertyValue('padding-block-end');
- }
- /**
- *
- */
- public set paddingBlockEnd(paddingBlockEnd: string) {
- this.setProperty('padding-block-end', paddingBlockEnd);
- }
-
- /**
- *
- */
- public get paddingBlockStart(): string {
- return this.getPropertyValue('padding-block-start');
- }
- /**
- *
- */
- public set paddingBlockStart(paddingBlockStart: string) {
- this.setProperty('padding-block-start', paddingBlockStart);
- }
-
- /**
- *
- */
- public get paddingBottom(): string {
- return this.getPropertyValue('padding-bottom');
- }
- /**
- *
- */
- public set paddingBottom(paddingBottom: string) {
- this.setProperty('padding-bottom', paddingBottom);
- }
-
- /**
- *
- */
- public get paddingInlineEnd(): string {
- return this.getPropertyValue('padding-inline-end');
- }
- /**
- *
- */
- public set paddingInlineEnd(paddingInlineEnd: string) {
- this.setProperty('padding-inline-end', paddingInlineEnd);
- }
-
- /**
- *
- */
- public get paddingInlineStart(): string {
- return this.getPropertyValue('padding-inline-start');
- }
- /**
- *
- */
- public set paddingInlineStart(paddingInlineStart: string) {
- this.setProperty('padding-inline-start', paddingInlineStart);
- }
-
- /**
- *
- */
- public get paddingLeft(): string {
- return this.getPropertyValue('padding-left');
- }
- /**
- *
- */
- public set paddingLeft(paddingLeft: string) {
- this.setProperty('padding-left', paddingLeft);
- }
-
- /**
- *
- */
- public get paddingRight(): string {
- return this.getPropertyValue('padding-right');
- }
- /**
- *
- */
- public set paddingRight(paddingRight: string) {
- this.setProperty('padding-right', paddingRight);
- }
-
- /**
- *
- */
- public get paddingTop(): string {
- return this.getPropertyValue('padding-top');
- }
- /**
- *
- */
- public set paddingTop(paddingTop: string) {
- this.setProperty('padding-top', paddingTop);
- }
-
- /**
- *
- */
- public get page(): string {
- return this.getPropertyValue('page');
- }
- /**
- *
- */
- public set page(page: string) {
- this.setProperty('page', page);
- }
-
- /**
- *
- */
- public get pageBreakAfter(): string {
- return this.getPropertyValue('page-break-after');
- }
- /**
- *
- */
- public set pageBreakAfter(pageBreakAfter: string) {
- this.setProperty('page-break-after', pageBreakAfter);
- }
-
- /**
- *
- */
- public get pageBreakBefore(): string {
- return this.getPropertyValue('page-break-before');
- }
- /**
- *
- */
- public set pageBreakBefore(pageBreakBefore: string) {
- this.setProperty('page-break-before', pageBreakBefore);
- }
-
- /**
- *
- */
- public get pageBreakInside(): string {
- return this.getPropertyValue('page-break-inside');
- }
- /**
- *
- */
- public set pageBreakInside(pageBreakInside: string) {
- this.setProperty('page-break-inside', pageBreakInside);
- }
-
- /**
- *
- */
- public get pageOrientation(): string {
- return this.getPropertyValue('page-orientation');
- }
- /**
- *
- */
- public set pageOrientation(pageOrientation: string) {
- this.setProperty('page-orientation', pageOrientation);
- }
-
- /**
- *
- */
- public get paintOrder(): string {
- return this.getPropertyValue('paint-order');
- }
- /**
- *
- */
- public set paintOrder(paintOrder: string) {
- this.setProperty('paint-order', paintOrder);
- }
-
- /**
- *
- */
- public get perspective(): string {
- return this.getPropertyValue('perspective');
- }
- /**
- *
- */
- public set perspective(perspective: string) {
- this.setProperty('perspective', perspective);
- }
-
- /**
- *
- */
- public get perspectiveOrigin(): string {
- return this.getPropertyValue('perspective-origin');
- }
- /**
- *
- */
- public set perspectiveOrigin(perspectiveOrigin: string) {
- this.setProperty('perspective-origin', perspectiveOrigin);
- }
-
- /**
- *
- */
- public get placeContent(): string {
- return this.getPropertyValue('place-content');
- }
- /**
- *
- */
- public set placeContent(placeContent: string) {
- this.setProperty('place-content', placeContent);
- }
-
- /**
- *
- */
- public get placeItems(): string {
- return this.getPropertyValue('place-items');
- }
- /**
- *
- */
- public set placeItems(placeItems: string) {
- this.setProperty('place-items', placeItems);
- }
-
- /**
- *
- */
- public get placeSelf(): string {
- return this.getPropertyValue('place-self');
- }
- /**
- *
- */
- public set placeSelf(placeSelf: string) {
- this.setProperty('place-self', placeSelf);
- }
-
- /**
- *
- */
- public get pointerEvents(): string {
- return this.getPropertyValue('pointer-events');
- }
- /**
- *
- */
- public set pointerEvents(pointerEvents: string) {
- this.setProperty('pointer-events', pointerEvents);
- }
-
- /**
- *
- */
- public get position(): string {
- return this.getPropertyValue('position');
- }
- /**
- *
- */
- public set position(position: string) {
- this.setProperty('position', position);
- }
-
- /**
- *
- */
- public get quotes(): string {
- return this.getPropertyValue('quotes');
- }
- /**
- *
- */
- public set quotes(quotes: string) {
- this.setProperty('quotes', quotes);
- }
-
- /**
- *
- */
- public get r(): string {
- return this.getPropertyValue('r');
- }
- /**
- *
- */
- public set r(r: string) {
- this.setProperty('r', r);
- }
-
- /**
- *
- */
- public get resize(): string {
- return this.getPropertyValue('resize');
- }
- /**
- *
- */
- public set resize(resize: string) {
- this.setProperty('resize', resize);
- }
-
- /**
- *
- */
- public get right(): string {
- return this.getPropertyValue('right');
- }
- /**
- *
- */
- public set right(right: string) {
- this.setProperty('right', right);
- }
-
- /**
- *
- */
- public get rowGap(): string {
- return this.getPropertyValue('row-gap');
- }
- /**
- *
- */
- public set rowGap(rowGap: string) {
- this.setProperty('row-gap', rowGap);
- }
-
- /**
- *
- */
- public get rubyPosition(): string {
- return this.getPropertyValue('ruby-position');
- }
- /**
- *
- */
- public set rubyPosition(rubyPosition: string) {
- this.setProperty('ruby-position', rubyPosition);
- }
-
- /**
- *
- */
- public get rx(): string {
- return this.getPropertyValue('rx');
- }
- /**
- *
- */
- public set rx(rx: string) {
- this.setProperty('rx', rx);
- }
-
- /**
- *
- */
- public get ry(): string {
- return this.getPropertyValue('ry');
- }
- /**
- *
- */
- public set ry(ry: string) {
- this.setProperty('ry', ry);
- }
-
- /**
- *
- */
- public get scrollBehavior(): string {
- return this.getPropertyValue('scroll-behavior');
- }
- /**
- *
- */
- public set scrollBehavior(scrollBehavior: string) {
- this.setProperty('scroll-behavior', scrollBehavior);
- }
-
- /**
- *
- */
- public get scrollMargin(): string {
- return this.getPropertyValue('scroll-margin');
- }
- /**
- *
- */
- public set scrollMargin(scrollMargin: string) {
- this.setProperty('scroll-margin', scrollMargin);
- }
-
- /**
- *
- */
- public get scrollMarginBlock(): string {
- return this.getPropertyValue('scroll-margin-block');
- }
- /**
- *
- */
- public set scrollMarginBlock(scrollMarginBlock: string) {
- this.setProperty('scroll-margin-block', scrollMarginBlock);
- }
-
- /**
- *
- */
- public get scrollMarginBlockEnd(): string {
- return this.getPropertyValue('scroll-margin-block-end');
- }
- /**
- *
- */
- public set scrollMarginBlockEnd(scrollMarginBlockEnd: string) {
- this.setProperty('scroll-margin-block-end', scrollMarginBlockEnd);
- }
-
- /**
- *
- */
- public get scrollMarginBlockStart(): string {
- return this.getPropertyValue('scroll-margin-block-start');
- }
- /**
- *
- */
- public set scrollMarginBlockStart(scrollMarginBlockStart: string) {
- this.setProperty('scroll-margin-block-start', scrollMarginBlockStart);
- }
-
- /**
- *
- */
- public get scrollMarginBottom(): string {
- return this.getPropertyValue('scroll-margin-bottom');
- }
- /**
- *
- */
- public set scrollMarginBottom(scrollMarginBottom: string) {
- this.setProperty('scroll-margin-bottom', scrollMarginBottom);
- }
-
- /**
- *
- */
- public get scrollMarginInline(): string {
- return this.getPropertyValue('scroll-margin-inline');
- }
- /**
- *
- */
- public set scrollMarginInline(scrollMarginInline: string) {
- this.setProperty('scroll-margin-inline', scrollMarginInline);
- }
-
- /**
- *
- */
- public get scrollMarginInlineEnd(): string {
- return this.getPropertyValue('scroll-margin-inline-end');
- }
- /**
- *
- */
- public set scrollMarginInlineEnd(scrollMarginInlineEnd: string) {
- this.setProperty('scroll-margin-inline-end', scrollMarginInlineEnd);
- }
-
- /**
- *
- */
- public get scrollMarginInlineStart(): string {
- return this.getPropertyValue('scroll-margin-inline-start');
- }
- /**
- *
- */
- public set scrollMarginInlineStart(scrollMarginInlineStart: string) {
- this.setProperty('scroll-margin-inline-start', scrollMarginInlineStart);
- }
-
- /**
- *
- */
- public get scrollMarginLeft(): string {
- return this.getPropertyValue('scroll-margin-left');
- }
- /**
- *
- */
- public set scrollMarginLeft(scrollMarginLeft: string) {
- this.setProperty('scroll-margin-left', scrollMarginLeft);
- }
-
- /**
- *
- */
- public get scrollMarginRight(): string {
- return this.getPropertyValue('scroll-margin-right');
- }
- /**
- *
- */
- public set scrollMarginRight(scrollMarginRight: string) {
- this.setProperty('scroll-margin-right', scrollMarginRight);
- }
-
- /**
- *
- */
- public get scrollMarginTop(): string {
- return this.getPropertyValue('scroll-margin-top');
- }
- /**
- *
- */
- public set scrollMarginTop(scrollMarginTop: string) {
- this.setProperty('scroll-margin-top', scrollMarginTop);
- }
-
- /**
- *
- */
- public get scrollPadding(): string {
- return this.getPropertyValue('scroll-padding');
- }
- /**
- *
- */
- public set scrollPadding(scrollPadding: string) {
- this.setProperty('scroll-padding', scrollPadding);
- }
-
- /**
- *
- */
- public get scrollPaddingBlock(): string {
- return this.getPropertyValue('scroll-padding-block');
- }
- /**
- *
- */
- public set scrollPaddingBlock(scrollPaddingBlock: string) {
- this.setProperty('scroll-padding-block', scrollPaddingBlock);
- }
-
- /**
- *
- */
- public get scrollPaddingBlockEnd(): string {
- return this.getPropertyValue('scroll-padding-block-end');
- }
- /**
- *
- */
- public set scrollPaddingBlockEnd(scrollPaddingBlockEnd: string) {
- this.setProperty('scroll-padding-block-end', scrollPaddingBlockEnd);
- }
-
- /**
- *
- */
- public get scrollPaddingBlockStart(): string {
- return this.getPropertyValue('scroll-padding-block-start');
- }
- /**
- *
- */
- public set scrollPaddingBlockStart(scrollPaddingBlockStart: string) {
- this.setProperty('scroll-padding-block-start', scrollPaddingBlockStart);
- }
-
- /**
- *
- */
- public get scrollPaddingBottom(): string {
- return this.getPropertyValue('scroll-padding-bottom');
- }
- /**
- *
- */
- public set scrollPaddingBottom(scrollPaddingBottom: string) {
- this.setProperty('scroll-padding-bottom', scrollPaddingBottom);
- }
-
- /**
- *
- */
- public get scrollPaddingInline(): string {
- return this.getPropertyValue('scroll-padding-inline');
- }
- /**
- *
- */
- public set scrollPaddingInline(scrollPaddingInline: string) {
- this.setProperty('scroll-padding-inline', scrollPaddingInline);
- }
-
- /**
- *
- */
- public get scrollPaddingInlineEnd(): string {
- return this.getPropertyValue('scroll-padding-inline-end');
- }
- /**
- *
- */
- public set scrollPaddingInlineEnd(scrollPaddingInlineEnd: string) {
- this.setProperty('scroll-padding-inline-end', scrollPaddingInlineEnd);
- }
-
- /**
- *
- */
- public get scrollPaddingInlineStart(): string {
- return this.getPropertyValue('scroll-padding-inline-start');
- }
- /**
- *
- */
- public set scrollPaddingInlineStart(scrollPaddingInlineStart: string) {
- this.setProperty('scroll-padding-inline-start', scrollPaddingInlineStart);
- }
-
- /**
- *
- */
- public get scrollPaddingLeft(): string {
- return this.getPropertyValue('scroll-padding-left');
- }
- /**
- *
- */
- public set scrollPaddingLeft(scrollPaddingLeft: string) {
- this.setProperty('scroll-padding-left', scrollPaddingLeft);
- }
-
- /**
- *
- */
- public get scrollPaddingRight(): string {
- return this.getPropertyValue('scroll-padding-right');
- }
- /**
- *
- */
- public set scrollPaddingRight(scrollPaddingRight: string) {
- this.setProperty('scroll-padding-right', scrollPaddingRight);
- }
-
- /**
- *
- */
- public get scrollPaddingTop(): string {
- return this.getPropertyValue('scroll-padding-top');
- }
- /**
- *
- */
- public set scrollPaddingTop(scrollPaddingTop: string) {
- this.setProperty('scroll-padding-top', scrollPaddingTop);
- }
-
- /**
- *
- */
- public get scrollSnapAlign(): string {
- return this.getPropertyValue('scroll-snap-align');
- }
- /**
- *
- */
- public set scrollSnapAlign(scrollSnapAlign: string) {
- this.setProperty('scroll-snap-align', scrollSnapAlign);
- }
-
- /**
- *
- */
- public get scrollSnapStop(): string {
- return this.getPropertyValue('scroll-snap-stop');
- }
- /**
- *
- */
- public set scrollSnapStop(scrollSnapStop: string) {
- this.setProperty('scroll-snap-stop', scrollSnapStop);
- }
-
- /**
- *
- */
- public get scrollSnapType(): string {
- return this.getPropertyValue('scroll-snap-type');
- }
- /**
- *
- */
- public set scrollSnapType(scrollSnapType: string) {
- this.setProperty('scroll-snap-type', scrollSnapType);
- }
-
- /**
- *
- */
- public get shapeImageThreshold(): string {
- return this.getPropertyValue('shape-image-threshold');
- }
- /**
- *
- */
- public set shapeImageThreshold(shapeImageThreshold: string) {
- this.setProperty('shape-image-threshold', shapeImageThreshold);
- }
-
- /**
- *
- */
- public get shapeMargin(): string {
- return this.getPropertyValue('shape-margin');
- }
- /**
- *
- */
- public set shapeMargin(shapeMargin: string) {
- this.setProperty('shape-margin', shapeMargin);
- }
-
- /**
- *
- */
- public get shapeOutside(): string {
- return this.getPropertyValue('shape-outside');
- }
- /**
- *
- */
- public set shapeOutside(shapeOutside: string) {
- this.setProperty('shape-outside', shapeOutside);
- }
-
- /**
- *
- */
- public get shapeRendering(): string {
- return this.getPropertyValue('shape-rendering');
- }
- /**
- *
- */
- public set shapeRendering(shapeRendering: string) {
- this.setProperty('shape-rendering', shapeRendering);
- }
-
- /**
- *
- */
- public get size(): string {
- return this.getPropertyValue('size');
- }
- /**
- *
- */
- public set size(size: string) {
- this.setProperty('size', size);
- }
-
- /**
- *
- */
- public get speak(): string {
- return this.getPropertyValue('speak');
- }
- /**
- *
- */
- public set speak(speak: string) {
- this.setProperty('speak', speak);
- }
-
- /**
- *
- */
- public get src(): string {
- return this.getPropertyValue('src');
- }
- /**
- *
- */
- public set src(src: string) {
- this.setProperty('src', src);
- }
-
- /**
- *
- */
- public get stopColor(): string {
- return this.getPropertyValue('stop-color');
- }
- /**
- *
- */
- public set stopColor(stopColor: string) {
- this.setProperty('stop-color', stopColor);
- }
-
- /**
- *
- */
- public get stopOpacity(): string {
- return this.getPropertyValue('stop-opacity');
- }
- /**
- *
- */
- public set stopOpacity(stopOpacity: string) {
- this.setProperty('stop-opacity', stopOpacity);
- }
-
- /**
- *
- */
- public get stroke(): string {
- return this.getPropertyValue('stroke');
- }
- /**
- *
- */
- public set stroke(stroke: string) {
- this.setProperty('stroke', stroke);
- }
-
- /**
- *
- */
- public get strokeDasharray(): string {
- return this.getPropertyValue('stroke-dasharray');
- }
- /**
- *
- */
- public set strokeDasharray(strokeDasharray: string) {
- this.setProperty('stroke-dasharray', strokeDasharray);
- }
-
- /**
- *
- */
- public get strokeDashoffset(): string {
- return this.getPropertyValue('stroke-dashoffset');
- }
- /**
- *
- */
- public set strokeDashoffset(strokeDashoffset: string) {
- this.setProperty('stroke-dashoffset', strokeDashoffset);
- }
-
- /**
- *
- */
- public get strokeLinecap(): string {
- return this.getPropertyValue('stroke-linecap');
- }
- /**
- *
- */
- public set strokeLinecap(strokeLinecap: string) {
- this.setProperty('stroke-linecap', strokeLinecap);
- }
-
- /**
- *
- */
- public get strokeLinejoin(): string {
- return this.getPropertyValue('stroke-linejoin');
- }
- /**
- *
- */
- public set strokeLinejoin(strokeLinejoin: string) {
- this.setProperty('stroke-linejoin', strokeLinejoin);
- }
-
- /**
- *
- */
- public get strokeMiterlimit(): string {
- return this.getPropertyValue('stroke-miterlimit');
- }
- /**
- *
- */
- public set strokeMiterlimit(strokeMiterlimit: string) {
- this.setProperty('stroke-miterlimit', strokeMiterlimit);
- }
-
- /**
- *
- */
- public get strokeOpacity(): string {
- return this.getPropertyValue('stroke-opacity');
- }
- /**
- *
- */
- public set strokeOpacity(strokeOpacity: string) {
- this.setProperty('stroke-opacity', strokeOpacity);
- }
-
- /**
- *
- */
- public get strokeWidth(): string {
- return this.getPropertyValue('stroke-width');
- }
- /**
- *
- */
- public set strokeWidth(strokeWidth: string) {
- this.setProperty('stroke-width', strokeWidth);
- }
-
- /**
- *
- */
- public get syntax(): string {
- return this.getPropertyValue('syntax');
- }
- /**
- *
- */
- public set syntax(syntax: string) {
- this.setProperty('syntax', syntax);
- }
-
- /**
- *
- */
- public get tabSize(): string {
- return this.getPropertyValue('tab-size');
- }
- /**
- *
- */
- public set tabSize(tabSize: string) {
- this.setProperty('tab-size', tabSize);
- }
-
- /**
- *
- */
- public get tableLayout(): string {
- return this.getPropertyValue('table-layout');
- }
- /**
- *
- */
- public set tableLayout(tableLayout: string) {
- this.setProperty('table-layout', tableLayout);
- }
-
- /**
- *
- */
- public get textAlign(): string {
- return this.getPropertyValue('text-align');
- }
- /**
- *
- */
- public set textAlign(textAlign: string) {
- this.setProperty('text-align', textAlign);
- }
-
- /**
- *
- */
- public get textAlignLast(): string {
- return this.getPropertyValue('text-align-last');
- }
- /**
- *
- */
- public set textAlignLast(textAlignLast: string) {
- this.setProperty('text-align-last', textAlignLast);
- }
-
- /**
- *
- */
- public get textAnchor(): string {
- return this.getPropertyValue('text-anchor');
- }
- /**
- *
- */
- public set textAnchor(textAnchor: string) {
- this.setProperty('text-anchor', textAnchor);
- }
-
- /**
- *
- */
- public get textCombineUpright(): string {
- return this.getPropertyValue('text-combine-upright');
- }
- /**
- *
- */
- public set textCombineUpright(textCombineUpright: string) {
- this.setProperty('text-combine-upright', textCombineUpright);
- }
-
- /**
- *
- */
- public get textDecoration(): string {
- return this.getPropertyValue('text-decoration');
- }
- /**
- *
- */
- public set textDecoration(textDecoration: string) {
- this.setProperty('text-decoration', textDecoration);
- }
-
- /**
- *
- */
- public get textDecorationColor(): string {
- return this.getPropertyValue('text-decoration-color');
- }
- /**
- *
- */
- public set textDecorationColor(textDecorationColor: string) {
- this.setProperty('text-decoration-color', textDecorationColor);
- }
-
- /**
- *
- */
- public get textDecorationLine(): string {
- return this.getPropertyValue('text-decoration-line');
- }
- /**
- *
- */
- public set textDecorationLine(textDecorationLine: string) {
- this.setProperty('text-decoration-line', textDecorationLine);
- }
-
- /**
- *
- */
- public get textDecorationSkipInk(): string {
- return this.getPropertyValue('text-decoration-skip-ink');
- }
- /**
- *
- */
- public set textDecorationSkipInk(textDecorationSkipInk: string) {
- this.setProperty('text-decoration-skip-ink', textDecorationSkipInk);
- }
-
- /**
- *
- */
- public get textDecorationStyle(): string {
- return this.getPropertyValue('text-decoration-style');
- }
- /**
- *
- */
- public set textDecorationStyle(textDecorationStyle: string) {
- this.setProperty('text-decoration-style', textDecorationStyle);
- }
-
- /**
- *
- */
- public get textIndent(): string {
- return this.getPropertyValue('text-indent');
- }
- /**
- *
- */
- public set textIndent(textIndent: string) {
- this.setProperty('text-indent', textIndent);
- }
-
- /**
- *
- */
- public get textOrientation(): string {
- return this.getPropertyValue('text-orientation');
- }
- /**
- *
- */
- public set textOrientation(textOrientation: string) {
- this.setProperty('text-orientation', textOrientation);
- }
-
- /**
- *
- */
- public get textOverflow(): string {
- return this.getPropertyValue('text-overflow');
- }
- /**
- *
- */
- public set textOverflow(textOverflow: string) {
- this.setProperty('text-overflow', textOverflow);
- }
-
- /**
- *
- */
- public get textRendering(): string {
- return this.getPropertyValue('text-rendering');
- }
- /**
- *
- */
- public set textRendering(textRendering: string) {
- this.setProperty('text-rendering', textRendering);
- }
-
- /**
- *
- */
- public get textShadow(): string {
- return this.getPropertyValue('text-shadow');
- }
- /**
- *
- */
- public set textShadow(textShadow: string) {
- this.setProperty('text-shadow', textShadow);
- }
-
- /**
- *
- */
- public get textSizeAdjust(): string {
- return this.getPropertyValue('text-size-adjust');
- }
- /**
- *
- */
- public set textSizeAdjust(textSizeAdjust: string) {
- this.setProperty('text-size-adjust', textSizeAdjust);
- }
-
- /**
- *
- */
- public get textTransform(): string {
- return this.getPropertyValue('text-transform');
- }
- /**
- *
- */
- public set textTransform(textTransform: string) {
- this.setProperty('text-transform', textTransform);
- }
-
- /**
- *
- */
- public get textUnderlinePosition(): string {
- return this.getPropertyValue('text-underline-position');
- }
- /**
- *
- */
- public set textUnderlinePosition(textUnderlinePosition: string) {
- this.setProperty('text-underline-position', textUnderlinePosition);
- }
-
- /**
- *
- */
- public get top(): string {
- return this.getPropertyValue('top');
- }
- /**
- *
- */
- public set top(top: string) {
- this.setProperty('top', top);
- }
-
- /**
- *
- */
- public get touchAction(): string {
- return this.getPropertyValue('touch-action');
- }
- /**
- *
- */
- public set touchAction(touchAction: string) {
- this.setProperty('touch-action', touchAction);
- }
-
- /**
- *
- */
- public get transform(): string {
- return this.getPropertyValue('transform');
- }
- /**
- *
- */
- public set transform(transform: string) {
- this.setProperty('transform', transform);
- }
-
- /**
- *
- */
- public get transformBox(): string {
- return this.getPropertyValue('transform-box');
- }
- /**
- *
- */
- public set transformBox(transformBox: string) {
- this.setProperty('transform-box', transformBox);
- }
-
- /**
- *
- */
- public get transformOrigin(): string {
- return this.getPropertyValue('transform-origin');
- }
- /**
- *
- */
- public set transformOrigin(transformOrigin: string) {
- this.setProperty('transform-origin', transformOrigin);
- }
-
- /**
- *
- */
- public get transformStyle(): string {
- return this.getPropertyValue('transform-style');
- }
- /**
- *
- */
- public set transformStyle(transformStyle: string) {
- this.setProperty('transform-style', transformStyle);
- }
-
- /**
- *
- */
- public get transition(): string {
- return this.getPropertyValue('transition');
- }
- /**
- *
- */
- public set transition(transition: string) {
- this.setProperty('transition', transition);
- }
-
- /**
- *
- */
- public get transitionDelay(): string {
- return this.getPropertyValue('transition-delay');
- }
- /**
- *
- */
- public set transitionDelay(transitionDelay: string) {
- this.setProperty('transition-delay', transitionDelay);
- }
-
- /**
- *
- */
- public get transitionDuration(): string {
- return this.getPropertyValue('transition-duration');
- }
- /**
- *
- */
- public set transitionDuration(transitionDuration: string) {
- this.setProperty('transition-duration', transitionDuration);
- }
-
- /**
- *
- */
- public get transitionProperty(): string {
- return this.getPropertyValue('transition-property');
- }
- /**
- *
- */
- public set transitionProperty(transitionProperty: string) {
- this.setProperty('transition-property', transitionProperty);
- }
-
- /**
- *
- */
- public get transitionTimingFunction(): string {
- return this.getPropertyValue('transition-timing-function');
- }
- /**
- *
- */
- public set transitionTimingFunction(transitionTimingFunction: string) {
- this.setProperty('transition-timing-function', transitionTimingFunction);
- }
-
- /**
- *
- */
- public get unicodeBidi(): string {
- return this.getPropertyValue('unicode-bidi');
- }
- /**
- *
- */
- public set unicodeBidi(unicodeBidi: string) {
- this.setProperty('unicode-bidi', unicodeBidi);
- }
-
- /**
- *
- */
- public get unicodeRange(): string {
- return this.getPropertyValue('unicode-range');
- }
- /**
- *
- */
- public set unicodeRange(unicodeRange: string) {
- this.setProperty('unicode-range', unicodeRange);
- }
-
- /**
- *
- */
- public get userSelect(): string {
- return this.getPropertyValue('user-select');
- }
- /**
- *
- */
- public set userSelect(userSelect: string) {
- this.setProperty('user-select', userSelect);
- }
-
- /**
- *
- */
- public get userZoom(): string {
- return this.getPropertyValue('user-zoom');
- }
- /**
- *
- */
- public set userZoom(userZoom: string) {
- this.setProperty('user-zoom', userZoom);
- }
-
- /**
- *
- */
- public get vectorEffect(): string {
- return this.getPropertyValue('vector-effect');
- }
- /**
- *
- */
- public set vectorEffect(vectorEffect: string) {
- this.setProperty('vector-effect', vectorEffect);
- }
-
- /**
- *
- */
- public get verticalAlign(): string {
- return this.getPropertyValue('vertical-align');
- }
- /**
- *
- */
- public set verticalAlign(verticalAlign: string) {
- this.setProperty('vertical-align', verticalAlign);
- }
-
- /**
- *
- */
- public get visibility(): string {
- return this.getPropertyValue('visibility');
- }
- /**
- *
- */
- public set visibility(visibility: string) {
- this.setProperty('visibility', visibility);
- }
-
- /**
- *
- */
- public get whiteSpace(): string {
- return this.getPropertyValue('white-space');
- }
- /**
- *
- */
- public set whiteSpace(whiteSpace: string) {
- this.setProperty('white-space', whiteSpace);
- }
-
- /**
- *
- */
- public get widows(): string {
- return this.getPropertyValue('widows');
- }
- /**
- *
- */
- public set widows(widows: string) {
- this.setProperty('widows', widows);
- }
-
- /**
- *
- */
- public get width(): string {
- return this.getPropertyValue('width');
- }
- /**
- *
- */
- public set width(width: string) {
- this.setProperty('width', width);
- }
-
- /**
- *
- */
- public get willChange(): string {
- return this.getPropertyValue('will-change');
- }
- /**
- *
- */
- public set willChange(willChange: string) {
- this.setProperty('will-change', willChange);
- }
-
- /**
- *
- */
- public get wordBreak(): string {
- return this.getPropertyValue('word-break');
- }
- /**
- *
- */
- public set wordBreak(wordBreak: string) {
- this.setProperty('word-break', wordBreak);
- }
-
- /**
- *
- */
- public get wordSpacing(): string {
- return this.getPropertyValue('word-spacing');
- }
- /**
- *
- */
- public set wordSpacing(wordSpacing: string) {
- this.setProperty('word-spacing', wordSpacing);
- }
-
- /**
- *
- */
- public get wordWrap(): string {
- return this.getPropertyValue('word-wrap');
- }
- /**
- *
- */
- public set wordWrap(wordWrap: string) {
- this.setProperty('word-wrap', wordWrap);
- }
-
- /**
- *
- */
- public get writingMode(): string {
- return this.getPropertyValue('writing-mode');
- }
- /**
- *
- */
- public set writingMode(writingMode: string) {
- this.setProperty('writing-mode', writingMode);
- }
-
- /**
- *
- */
- public get x(): string {
- return this.getPropertyValue('x');
- }
- /**
- *
- */
- public set x(x: string) {
- this.setProperty('x', x);
- }
-
- /**
- *
- */
- public get y(): string {
- return this.getPropertyValue('y');
- }
- /**
- *
- */
- public set y(y: string) {
- this.setProperty('y', y);
- }
-
- /**
- *
- */
- public get zIndex(): string {
- return this.getPropertyValue('z-index');
- }
- /**
- *
- */
- public set zIndex(zIndex: string) {
- this.setProperty('z-index', zIndex);
- }
-
- /**
- *
- */
- public get zoom(): string {
- return this.getPropertyValue('zoom');
- }
- /**
- *
- */
- public set zoom(zoom: string) {
- this.setProperty('zoom', zoom);
- }
-
- /**
- * Returns the style decleration as a CSS text.
- *
- * @returns CSS text.
- */
- public get cssText(): string {
- const style = this._attributes['style'];
- if (style && style.value) {
- return style.value;
- }
- return '';
- }
-
- /**
- * Sets CSS text.
- *
- * @param cssText CSS text.
- */
- public set cssText(cssText: string) {
- if (cssText) {
- if (!this._attributes['style']) {
- this._attributes['style'] = new Attr();
- this._attributes['style'].name = 'style';
- }
- const parts = cssText.split(';');
- const newStyle = [];
- let index = 0;
- for (let i = 0; i < this.length; i++) {
- delete this[i];
- }
- for (const part of parts) {
- if (part) {
- const [name, value] = part.trim().split(':');
- if (value) {
- newStyle.push(`${name}: ${value.trim()};`);
- } else {
- newStyle.push(name);
- }
- this[index] = name;
- index++;
- }
- }
- (this.length) = index;
- this._attributes['style'].value = newStyle.join(' ');
- } else {
- delete this._attributes['style'];
- for (let i = 0; i < this.length; i++) {
- delete this[i];
- }
- (this.length) = 0;
- }
- }
-
- /**
- * Returns item.
- *
- * @param index Index.
- * @returns Item.
- */
- public item(index: number): string {
- return this[index] || '';
- }
-
- /**
- * Set a property.
- *
- * @param propertyName Property name.
- * @param value Value. Must not contain "!important" as that should be set using the priority parameter.
- * @param [priority] Can be "important", or an empty string.
- */
- public setProperty(propertyName: string, value: string, priority = ''): void {
- if (!value) {
- this.removeProperty(propertyName);
- return;
- }
-
- if (!this._attributes['style']) {
- this._attributes['style'] = new Attr();
- this._attributes['style'].name = 'style';
- }
-
- const style = this._attributes['style'];
- const newStyle = [];
- let index = 0;
- let isExisting = false;
-
- if (style && style.value) {
- const parts = style.value.split(';');
- for (const part of parts) {
- if (part) {
- const [name, existingValue] = part.trim().split(':');
- if (name === propertyName) {
- newStyle.push(`${name}: ${value};`);
- isExisting = true;
- } else if (existingValue) {
- newStyle.push(`${name}: ${existingValue.trim()};`);
- } else {
- newStyle.push(`${name};`);
- }
-
- this[index] = name;
- index++;
- }
- }
- }
-
- if (!isExisting) {
- newStyle.push(`${propertyName}: ${value}${priority ? '' + priority : ''};`);
- this[index] = propertyName;
- index++;
- }
-
- this._attributes['style'].value = newStyle.join(' ');
- (this.length) = index;
- }
-
- /**
- * Removes a property.
- *
- * @param propertyName Property name in kebab case.
- * @param value Value. Must not contain "!important" as that should be set using the priority parameter.
- * @param [priority] Can be "important", or an empty string.
- */
- public removeProperty(propertyName: string): void {
- const style = this._attributes['style'];
- const newStyle = [];
- let hasProperty = false;
- let index = 0;
-
- if (style && style.value) {
- const parts = style.value.split(';');
- for (const part of parts) {
- if (part) {
- const [name, value] = part.trim().split(':');
- if (name !== propertyName) {
- newStyle.push(`${name}: ${value.trim()};`);
- this[index] = name;
- index++;
- hasProperty = true;
- }
- }
- }
- }
-
- if (newStyle.length) {
- this._attributes['style'].value = newStyle.join(' ');
- } else {
- delete this._attributes['style'];
- }
-
- if (hasProperty) {
- delete this[index];
- }
-
- (this.length) = index;
- }
-
- /**
- * Returns a property.
- *
- * @param propertyName Property name in kebab case.
- * @returns Property value.
- */
- public getPropertyValue(propertyName: string): string {
- if (this._computedStyleElement && !this._computedStyleElement.isConnected) {
- return '';
- }
-
- const style = this._attributes['style'];
- if (style && style.value) {
- const parts = style.value.split(';');
- for (const part of parts) {
- if (part) {
- const [name, value] = part.trim().split(':');
- if (name === propertyName) {
- if (!value) {
- return '';
- }
- return value.trim();
- }
- }
- }
- }
- return '';
- }
-}
diff --git a/packages/happy-dom/src/css/CSSStyleSheet.ts b/packages/happy-dom/src/css/CSSStyleSheet.ts
index 2396b31ac..5ec9943a1 100644
--- a/packages/happy-dom/src/css/CSSStyleSheet.ts
+++ b/packages/happy-dom/src/css/CSSStyleSheet.ts
@@ -5,7 +5,7 @@ import CSSRule from './CSSRule';
import MediaList from './MediaList';
/**
- * Attr node interface.
+ * CSS StyleSheet.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.
@@ -16,20 +16,16 @@ export default class CSSStyleSheet {
public namespaceURI: string = null;
public readonly cssRules: CSSRule[] = [];
- // Constructable Stylesheets is a new feature that only Blink supports:
- // https://wicg.github.io/construct-stylesheets/
- // TODO: Not fully implemented.
+ // TODO: MediaList is not fully implemented.
public media: MediaList | string;
public title: string;
public alternate: boolean;
public disabled: boolean;
+ private _currentText: string = null;
/**
* Constructor.
*
- * Constructable Stylesheets is a new feature that only Blink supports:
- * https://wicg.github.io/construct-stylesheets/.
- *
* @param [options] Options.
* @param [options.media] Media.
* @param [options.title] Title.
@@ -51,9 +47,7 @@ export default class CSSStyleSheet {
/**
* Inserts a rule.
*
- * Constructable Stylesheets is a new feature that only Blink supports:
- * https://wicg.github.io/construct-stylesheets/.
- *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule
* @param rule Rule.
* @param [index] Index.
* @returns The newly inserterted rule's index.
@@ -79,8 +73,7 @@ export default class CSSStyleSheet {
DOMExceptionNameEnum.indexSizeError
);
}
- this.cssRules.splice(index, 0);
- this.cssRules.push(rules[0]);
+ this.cssRules.splice(index, 0, rules[0]);
return index;
}
@@ -94,9 +87,7 @@ export default class CSSStyleSheet {
/**
* Removes a rule.
*
- * Constructable Stylesheets is a new feature that only Blink supports:
- * https://wicg.github.io/construct-stylesheets/.
- *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/deleteRule
* @param index Index.
*/
public deleteRule(index: number): void {
@@ -106,9 +97,7 @@ export default class CSSStyleSheet {
/**
* Replaces all CSS rules.
*
- * Constructable Stylesheets is a new feature that only Blink supports:
- * https://wicg.github.io/construct-stylesheets/.
- *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replace
* @param text CSS text.
* @returns Promise.
*/
@@ -119,12 +108,13 @@ export default class CSSStyleSheet {
/**
* Replaces all CSS rules.
*
- * Constructable Stylesheets is a new feature that only Blink supports:
- * https://wicg.github.io/construct-stylesheets/.
- *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replaceSync
* @param text CSS text.
*/
public replaceSync(text: string): void {
- (this.cssRules) = CSSParser.parseFromString(this, text);
+ if (this._currentText !== text) {
+ this._currentText = text;
+ (this.cssRules) = CSSParser.parseFromString(this, text);
+ }
}
}
diff --git a/packages/happy-dom/src/css/declaration/AbstractCSSStyleDeclaration.ts b/packages/happy-dom/src/css/declaration/AbstractCSSStyleDeclaration.ts
new file mode 100644
index 000000000..af58ea6ab
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/AbstractCSSStyleDeclaration.ts
@@ -0,0 +1,216 @@
+import IElement from '../../nodes/element/IElement';
+import Attr from '../../nodes/attr/Attr';
+import CSSRule from '../CSSRule';
+import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum';
+import DOMException from '../../exception/DOMException';
+import CSSStyleDeclarationElementStyle from './utilities/CSSStyleDeclarationElementStyle';
+import CSSStyleDeclarationPropertyManager from './utilities/CSSStyleDeclarationPropertyManager';
+
+/**
+ * CSS Style Declaration.
+ */
+export default abstract class AbstractCSSStyleDeclaration {
+ public readonly parentRule: CSSRule = null;
+ protected _style: CSSStyleDeclarationPropertyManager = null;
+ protected _ownerElement: IElement;
+ protected _computed: boolean;
+ protected _elementStyle: CSSStyleDeclarationElementStyle = null;
+
+ /**
+ * Constructor.
+ *
+ * @param [ownerElement] Computed style element.
+ * @param [computed] Computed.
+ */
+ constructor(ownerElement: IElement = null, computed = false) {
+ this._style = !ownerElement ? new CSSStyleDeclarationPropertyManager() : null;
+ this._ownerElement = ownerElement;
+ this._computed = ownerElement ? computed : false;
+ this._elementStyle = ownerElement
+ ? new CSSStyleDeclarationElementStyle(ownerElement, this._computed)
+ : null;
+ }
+
+ /**
+ * Returns length.
+ *
+ * @returns Length.
+ */
+ public get length(): number {
+ if (this._ownerElement) {
+ const style = this._elementStyle.getElementStyle();
+ return style.size();
+ }
+
+ return this._style.size();
+ }
+
+ /**
+ * Returns the style decleration as a CSS text.
+ *
+ * @returns CSS text.
+ */
+ public get cssText(): string {
+ if (this._ownerElement) {
+ if (this._computed) {
+ return '';
+ }
+
+ return this._elementStyle.getElementStyle().toString();
+ }
+
+ return this._style.toString();
+ }
+
+ /**
+ * Sets CSS text.
+ *
+ * @param cssText CSS text.
+ */
+ public set cssText(cssText: string) {
+ if (this._computed) {
+ throw new DOMException(
+ `Failed to execute 'cssText' on 'CSSStyleDeclaration': These styles are computed, and the properties are therefore read-only.`,
+ DOMExceptionNameEnum.domException
+ );
+ }
+
+ if (this._ownerElement) {
+ const style = new CSSStyleDeclarationPropertyManager({ cssText });
+ if (!style.size()) {
+ delete this._ownerElement['_attributes']['style'];
+ } else {
+ if (!this._ownerElement['_attributes']['style']) {
+ Attr._ownerDocument = this._ownerElement.ownerDocument;
+ this._ownerElement['_attributes']['style'] = new Attr();
+ this._ownerElement['_attributes']['style'].name = 'style';
+ }
+
+ if (this._ownerElement.isConnected) {
+ this._ownerElement.ownerDocument['_cacheID']++;
+ }
+
+ this._ownerElement['_attributes']['style'].value = style.toString();
+ }
+ } else {
+ this._style = new CSSStyleDeclarationPropertyManager({ cssText });
+ }
+ }
+
+ /**
+ * Returns item.
+ *
+ * @param index Index.
+ * @returns Item.
+ */
+ public item(index: number): string {
+ if (this._ownerElement) {
+ return this._elementStyle.getElementStyle().item(index);
+ }
+ return this._style.item(index);
+ }
+
+ /**
+ * Set a property.
+ *
+ * @param name Property name.
+ * @param value Value. Must not contain "!important" as that should be set using the priority parameter.
+ * @param [priority] Can be "important", or an empty string.
+ */
+ public setProperty(name: string, value: string, priority?: 'important' | '' | undefined): void {
+ if (this._computed) {
+ throw new DOMException(
+ `Failed to execute 'setProperty' on 'CSSStyleDeclaration': These styles are computed, and therefore the '${name}' property is read-only.`,
+ DOMExceptionNameEnum.domException
+ );
+ }
+
+ if (priority !== '' && priority !== undefined && priority !== 'important') {
+ return;
+ }
+
+ const stringValue = String(value);
+
+ if (!stringValue) {
+ this.removeProperty(name);
+ } else if (this._ownerElement) {
+ if (!this._ownerElement['_attributes']['style']) {
+ Attr._ownerDocument = this._ownerElement.ownerDocument;
+ this._ownerElement['_attributes']['style'] = new Attr();
+ this._ownerElement['_attributes']['style'].name = 'style';
+ }
+
+ const style = this._elementStyle.getElementStyle();
+ style.set(name, stringValue, !!priority);
+
+ if (this._ownerElement.isConnected) {
+ this._ownerElement.ownerDocument['_cacheID']++;
+ }
+
+ this._ownerElement['_attributes']['style'].value = style.toString();
+ } else {
+ this._style.set(name, stringValue, !!priority);
+ }
+ }
+
+ /**
+ * Removes a property.
+ *
+ * @param name Property name in kebab case.
+ * @param value Value. Must not contain "!important" as that should be set using the priority parameter.
+ * @param [priority] Can be "important", or an empty string.
+ */
+ public removeProperty(name: string): void {
+ if (this._computed) {
+ throw new DOMException(
+ `Failed to execute 'removeProperty' on 'CSSStyleDeclaration': These styles are computed, and therefore the '${name}' property is read-only.`,
+ DOMExceptionNameEnum.domException
+ );
+ }
+
+ if (this._ownerElement) {
+ const style = this._elementStyle.getElementStyle();
+ style.remove(name);
+ const newCSSText = style.toString();
+ if (newCSSText) {
+ if (this._ownerElement.isConnected) {
+ this._ownerElement.ownerDocument['_cacheID']++;
+ }
+
+ this._ownerElement['_attributes']['style'].value = newCSSText;
+ } else {
+ delete this._ownerElement['_attributes']['style'];
+ }
+ } else {
+ this._style.remove(name);
+ }
+ }
+
+ /**
+ * Returns a property.
+ *
+ * @param name Property name in kebab case.
+ * @returns Property value.
+ */
+ public getPropertyValue(name: string): string {
+ if (this._ownerElement) {
+ const style = this._elementStyle.getElementStyle();
+ return style.get(name)?.value || '';
+ }
+ return this._style.get(name)?.value || '';
+ }
+
+ /**
+ * Returns a property.
+ *
+ * @param name Property name in kebab case.
+ * @returns "important" if set to be important.
+ */
+ public getPropertyPriority(name: string): string {
+ if (this._ownerElement) {
+ const style = this._elementStyle.getElementStyle();
+ return style.get(name)?.important ? 'important' : '';
+ }
+ return this._style.get(name)?.important ? 'important' : '';
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/CSSStyleDeclaration.ts b/packages/happy-dom/src/css/declaration/CSSStyleDeclaration.ts
new file mode 100644
index 000000000..36756bc84
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/CSSStyleDeclaration.ts
@@ -0,0 +1,4743 @@
+import AbstractCSSStyleDeclaration from './AbstractCSSStyleDeclaration';
+
+/* eslint-disable jsdoc/require-jsdoc */
+
+/**
+ * CSS Style Declaration.
+ */
+export default class CSSStyleDeclaration extends AbstractCSSStyleDeclaration {
+ /**
+ * Index properties
+ */
+
+ public get 0(): string {
+ return this.item(0) || undefined;
+ }
+
+ public get 1(): string {
+ return this.item(1) || undefined;
+ }
+
+ public get 2(): string {
+ return this.item(2) || undefined;
+ }
+
+ public get 3(): string {
+ return this.item(3) || undefined;
+ }
+
+ public get 4(): string {
+ return this.item(4) || undefined;
+ }
+
+ public get 5(): string {
+ return this.item(5) || undefined;
+ }
+
+ public get 6(): string {
+ return this.item(6) || undefined;
+ }
+
+ public get 7(): string {
+ return this.item(7) || undefined;
+ }
+
+ public get 8(): string {
+ return this.item(8) || undefined;
+ }
+
+ public get 9(): string {
+ return this.item(9) || undefined;
+ }
+
+ public get 10(): string {
+ return this.item(10) || undefined;
+ }
+
+ public get 11(): string {
+ return this.item(11) || undefined;
+ }
+
+ public get 12(): string {
+ return this.item(12) || undefined;
+ }
+
+ public get 13(): string {
+ return this.item(13) || undefined;
+ }
+
+ public get 14(): string {
+ return this.item(14) || undefined;
+ }
+
+ public get 15(): string {
+ return this.item(15) || undefined;
+ }
+
+ public get 16(): string {
+ return this.item(16) || undefined;
+ }
+
+ public get 17(): string {
+ return this.item(17) || undefined;
+ }
+
+ public get 18(): string {
+ return this.item(18) || undefined;
+ }
+
+ public get 19(): string {
+ return this.item(19) || undefined;
+ }
+
+ public get 20(): string {
+ return this.item(20) || undefined;
+ }
+
+ public get 21(): string {
+ return this.item(21) || undefined;
+ }
+
+ public get 22(): string {
+ return this.item(22) || undefined;
+ }
+
+ public get 23(): string {
+ return this.item(23) || undefined;
+ }
+
+ public get 24(): string {
+ return this.item(24) || undefined;
+ }
+
+ public get 25(): string {
+ return this.item(25) || undefined;
+ }
+
+ public get 26(): string {
+ return this.item(26) || undefined;
+ }
+
+ public get 27(): string {
+ return this.item(27) || undefined;
+ }
+
+ public get 28(): string {
+ return this.item(28) || undefined;
+ }
+
+ public get 29(): string {
+ return this.item(29) || undefined;
+ }
+
+ public get 30(): string {
+ return this.item(30) || undefined;
+ }
+
+ public get 31(): string {
+ return this.item(31) || undefined;
+ }
+
+ public get 32(): string {
+ return this.item(32) || undefined;
+ }
+
+ public get 33(): string {
+ return this.item(33) || undefined;
+ }
+
+ public get 34(): string {
+ return this.item(34) || undefined;
+ }
+
+ public get 35(): string {
+ return this.item(35) || undefined;
+ }
+
+ public get 36(): string {
+ return this.item(36) || undefined;
+ }
+
+ public get 37(): string {
+ return this.item(37) || undefined;
+ }
+
+ public get 38(): string {
+ return this.item(38) || undefined;
+ }
+
+ public get 39(): string {
+ return this.item(39) || undefined;
+ }
+
+ public get 40(): string {
+ return this.item(40) || undefined;
+ }
+
+ public get 41(): string {
+ return this.item(41) || undefined;
+ }
+
+ public get 42(): string {
+ return this.item(42) || undefined;
+ }
+
+ public get 43(): string {
+ return this.item(43) || undefined;
+ }
+
+ public get 44(): string {
+ return this.item(44) || undefined;
+ }
+
+ public get 45(): string {
+ return this.item(45) || undefined;
+ }
+
+ public get 46(): string {
+ return this.item(46) || undefined;
+ }
+
+ public get 47(): string {
+ return this.item(47) || undefined;
+ }
+
+ public get 48(): string {
+ return this.item(48) || undefined;
+ }
+
+ public get 49(): string {
+ return this.item(49) || undefined;
+ }
+
+ public get 50(): string {
+ return this.item(50) || undefined;
+ }
+
+ public get 51(): string {
+ return this.item(51) || undefined;
+ }
+
+ public get 52(): string {
+ return this.item(52) || undefined;
+ }
+
+ public get 53(): string {
+ return this.item(53) || undefined;
+ }
+
+ public get 54(): string {
+ return this.item(54) || undefined;
+ }
+
+ public get 55(): string {
+ return this.item(55) || undefined;
+ }
+
+ public get 56(): string {
+ return this.item(56) || undefined;
+ }
+
+ public get 57(): string {
+ return this.item(57) || undefined;
+ }
+
+ public get 58(): string {
+ return this.item(58) || undefined;
+ }
+
+ public get 59(): string {
+ return this.item(59) || undefined;
+ }
+
+ public get 60(): string {
+ return this.item(60) || undefined;
+ }
+
+ public get 61(): string {
+ return this.item(61) || undefined;
+ }
+
+ public get 62(): string {
+ return this.item(62) || undefined;
+ }
+
+ public get 63(): string {
+ return this.item(63) || undefined;
+ }
+
+ public get 64(): string {
+ return this.item(64) || undefined;
+ }
+
+ public get 65(): string {
+ return this.item(65) || undefined;
+ }
+
+ public get 66(): string {
+ return this.item(66) || undefined;
+ }
+
+ public get 67(): string {
+ return this.item(67) || undefined;
+ }
+
+ public get 68(): string {
+ return this.item(68) || undefined;
+ }
+
+ public get 69(): string {
+ return this.item(69) || undefined;
+ }
+
+ public get 70(): string {
+ return this.item(70) || undefined;
+ }
+
+ public get 71(): string {
+ return this.item(71) || undefined;
+ }
+
+ public get 72(): string {
+ return this.item(72) || undefined;
+ }
+
+ public get 73(): string {
+ return this.item(73) || undefined;
+ }
+
+ public get 74(): string {
+ return this.item(74) || undefined;
+ }
+
+ public get 75(): string {
+ return this.item(75) || undefined;
+ }
+
+ public get 76(): string {
+ return this.item(76) || undefined;
+ }
+
+ public get 77(): string {
+ return this.item(77) || undefined;
+ }
+
+ public get 78(): string {
+ return this.item(78) || undefined;
+ }
+
+ public get 79(): string {
+ return this.item(79) || undefined;
+ }
+
+ public get 80(): string {
+ return this.item(80) || undefined;
+ }
+
+ public get 81(): string {
+ return this.item(81) || undefined;
+ }
+
+ public get 82(): string {
+ return this.item(82) || undefined;
+ }
+
+ public get 83(): string {
+ return this.item(83) || undefined;
+ }
+
+ public get 84(): string {
+ return this.item(84) || undefined;
+ }
+
+ public get 85(): string {
+ return this.item(85) || undefined;
+ }
+
+ public get 86(): string {
+ return this.item(86) || undefined;
+ }
+
+ public get 87(): string {
+ return this.item(87) || undefined;
+ }
+
+ public get 88(): string {
+ return this.item(88) || undefined;
+ }
+
+ public get 89(): string {
+ return this.item(89) || undefined;
+ }
+
+ public get 90(): string {
+ return this.item(90) || undefined;
+ }
+
+ public get 91(): string {
+ return this.item(91) || undefined;
+ }
+
+ public get 92(): string {
+ return this.item(92) || undefined;
+ }
+
+ public get 93(): string {
+ return this.item(93) || undefined;
+ }
+
+ public get 94(): string {
+ return this.item(94) || undefined;
+ }
+
+ public get 95(): string {
+ return this.item(95) || undefined;
+ }
+
+ public get 96(): string {
+ return this.item(96) || undefined;
+ }
+
+ public get 97(): string {
+ return this.item(97) || undefined;
+ }
+
+ public get 98(): string {
+ return this.item(98) || undefined;
+ }
+
+ public get 99(): string {
+ return this.item(99) || undefined;
+ }
+
+ public get 100(): string {
+ return this.item(100) || undefined;
+ }
+
+ public get 101(): string {
+ return this.item(101) || undefined;
+ }
+
+ public get 102(): string {
+ return this.item(102) || undefined;
+ }
+
+ public get 103(): string {
+ return this.item(103) || undefined;
+ }
+
+ public get 104(): string {
+ return this.item(104) || undefined;
+ }
+
+ public get 105(): string {
+ return this.item(105) || undefined;
+ }
+
+ public get 106(): string {
+ return this.item(106) || undefined;
+ }
+
+ public get 107(): string {
+ return this.item(107) || undefined;
+ }
+
+ public get 108(): string {
+ return this.item(108) || undefined;
+ }
+
+ public get 109(): string {
+ return this.item(109) || undefined;
+ }
+
+ public get 110(): string {
+ return this.item(110) || undefined;
+ }
+
+ public get 111(): string {
+ return this.item(111) || undefined;
+ }
+
+ public get 112(): string {
+ return this.item(112) || undefined;
+ }
+
+ public get 113(): string {
+ return this.item(113) || undefined;
+ }
+
+ public get 114(): string {
+ return this.item(114) || undefined;
+ }
+
+ public get 115(): string {
+ return this.item(115) || undefined;
+ }
+
+ public get 116(): string {
+ return this.item(116) || undefined;
+ }
+
+ public get 117(): string {
+ return this.item(117) || undefined;
+ }
+
+ public get 118(): string {
+ return this.item(118) || undefined;
+ }
+
+ public get 119(): string {
+ return this.item(119) || undefined;
+ }
+
+ public get 120(): string {
+ return this.item(120) || undefined;
+ }
+
+ public get 121(): string {
+ return this.item(121) || undefined;
+ }
+
+ public get 122(): string {
+ return this.item(122) || undefined;
+ }
+
+ public get 123(): string {
+ return this.item(123) || undefined;
+ }
+
+ public get 124(): string {
+ return this.item(124) || undefined;
+ }
+
+ public get 125(): string {
+ return this.item(125) || undefined;
+ }
+
+ public get 126(): string {
+ return this.item(126) || undefined;
+ }
+
+ public get 127(): string {
+ return this.item(127) || undefined;
+ }
+
+ public get 128(): string {
+ return this.item(128) || undefined;
+ }
+
+ public get 129(): string {
+ return this.item(129) || undefined;
+ }
+
+ public get 130(): string {
+ return this.item(130) || undefined;
+ }
+
+ public get 131(): string {
+ return this.item(131) || undefined;
+ }
+
+ public get 132(): string {
+ return this.item(132) || undefined;
+ }
+
+ public get 133(): string {
+ return this.item(133) || undefined;
+ }
+
+ public get 134(): string {
+ return this.item(134) || undefined;
+ }
+
+ public get 135(): string {
+ return this.item(135) || undefined;
+ }
+
+ public get 136(): string {
+ return this.item(136) || undefined;
+ }
+
+ public get 137(): string {
+ return this.item(137) || undefined;
+ }
+
+ public get 138(): string {
+ return this.item(138) || undefined;
+ }
+
+ public get 139(): string {
+ return this.item(139) || undefined;
+ }
+
+ public get 140(): string {
+ return this.item(140) || undefined;
+ }
+
+ public get 141(): string {
+ return this.item(141) || undefined;
+ }
+
+ public get 142(): string {
+ return this.item(142) || undefined;
+ }
+
+ public get 143(): string {
+ return this.item(143) || undefined;
+ }
+
+ public get 144(): string {
+ return this.item(144) || undefined;
+ }
+
+ public get 145(): string {
+ return this.item(145) || undefined;
+ }
+
+ public get 146(): string {
+ return this.item(146) || undefined;
+ }
+
+ public get 147(): string {
+ return this.item(147) || undefined;
+ }
+
+ public get 148(): string {
+ return this.item(148) || undefined;
+ }
+
+ public get 149(): string {
+ return this.item(149) || undefined;
+ }
+
+ public get 150(): string {
+ return this.item(150) || undefined;
+ }
+
+ public get 151(): string {
+ return this.item(151) || undefined;
+ }
+
+ public get 152(): string {
+ return this.item(152) || undefined;
+ }
+
+ public get 153(): string {
+ return this.item(153) || undefined;
+ }
+
+ public get 154(): string {
+ return this.item(154) || undefined;
+ }
+
+ public get 155(): string {
+ return this.item(155) || undefined;
+ }
+
+ public get 156(): string {
+ return this.item(156) || undefined;
+ }
+
+ public get 157(): string {
+ return this.item(157) || undefined;
+ }
+
+ public get 158(): string {
+ return this.item(158) || undefined;
+ }
+
+ public get 159(): string {
+ return this.item(159) || undefined;
+ }
+
+ public get 160(): string {
+ return this.item(160) || undefined;
+ }
+
+ public get 161(): string {
+ return this.item(161) || undefined;
+ }
+
+ public get 162(): string {
+ return this.item(162) || undefined;
+ }
+
+ public get 163(): string {
+ return this.item(163) || undefined;
+ }
+
+ public get 164(): string {
+ return this.item(164) || undefined;
+ }
+
+ public get 165(): string {
+ return this.item(165) || undefined;
+ }
+
+ public get 166(): string {
+ return this.item(166) || undefined;
+ }
+
+ public get 167(): string {
+ return this.item(167) || undefined;
+ }
+
+ public get 168(): string {
+ return this.item(168) || undefined;
+ }
+
+ public get 169(): string {
+ return this.item(169) || undefined;
+ }
+
+ public get 170(): string {
+ return this.item(170) || undefined;
+ }
+
+ public get 171(): string {
+ return this.item(171) || undefined;
+ }
+
+ public get 172(): string {
+ return this.item(172) || undefined;
+ }
+
+ public get 173(): string {
+ return this.item(173) || undefined;
+ }
+
+ public get 174(): string {
+ return this.item(174) || undefined;
+ }
+
+ public get 175(): string {
+ return this.item(175) || undefined;
+ }
+
+ public get 176(): string {
+ return this.item(176) || undefined;
+ }
+
+ public get 177(): string {
+ return this.item(177) || undefined;
+ }
+
+ public get 178(): string {
+ return this.item(178) || undefined;
+ }
+
+ public get 179(): string {
+ return this.item(179) || undefined;
+ }
+
+ public get 180(): string {
+ return this.item(180) || undefined;
+ }
+
+ public get 181(): string {
+ return this.item(181) || undefined;
+ }
+
+ public get 182(): string {
+ return this.item(182) || undefined;
+ }
+
+ public get 183(): string {
+ return this.item(183) || undefined;
+ }
+
+ public get 184(): string {
+ return this.item(184) || undefined;
+ }
+
+ public get 185(): string {
+ return this.item(185) || undefined;
+ }
+
+ public get 186(): string {
+ return this.item(186) || undefined;
+ }
+
+ public get 187(): string {
+ return this.item(187) || undefined;
+ }
+
+ public get 188(): string {
+ return this.item(188) || undefined;
+ }
+
+ public get 189(): string {
+ return this.item(189) || undefined;
+ }
+
+ public get 190(): string {
+ return this.item(190) || undefined;
+ }
+
+ public get 191(): string {
+ return this.item(191) || undefined;
+ }
+
+ public get 192(): string {
+ return this.item(192) || undefined;
+ }
+
+ public get 193(): string {
+ return this.item(193) || undefined;
+ }
+
+ public get 194(): string {
+ return this.item(194) || undefined;
+ }
+
+ public get 195(): string {
+ return this.item(195) || undefined;
+ }
+
+ public get 196(): string {
+ return this.item(196) || undefined;
+ }
+
+ public get 197(): string {
+ return this.item(197) || undefined;
+ }
+
+ public get 198(): string {
+ return this.item(198) || undefined;
+ }
+
+ public get 199(): string {
+ return this.item(199) || undefined;
+ }
+
+ public get 200(): string {
+ return this.item(200) || undefined;
+ }
+
+ public get 201(): string {
+ return this.item(201) || undefined;
+ }
+
+ public get 202(): string {
+ return this.item(202) || undefined;
+ }
+
+ public get 203(): string {
+ return this.item(203) || undefined;
+ }
+
+ public get 204(): string {
+ return this.item(204) || undefined;
+ }
+
+ public get 205(): string {
+ return this.item(205) || undefined;
+ }
+
+ public get 206(): string {
+ return this.item(206) || undefined;
+ }
+
+ public get 207(): string {
+ return this.item(207) || undefined;
+ }
+
+ public get 208(): string {
+ return this.item(208) || undefined;
+ }
+
+ public get 209(): string {
+ return this.item(209) || undefined;
+ }
+
+ public get 210(): string {
+ return this.item(210) || undefined;
+ }
+
+ public get 211(): string {
+ return this.item(211) || undefined;
+ }
+
+ public get 212(): string {
+ return this.item(212) || undefined;
+ }
+
+ public get 213(): string {
+ return this.item(213) || undefined;
+ }
+
+ public get 214(): string {
+ return this.item(214) || undefined;
+ }
+
+ public get 215(): string {
+ return this.item(215) || undefined;
+ }
+
+ public get 216(): string {
+ return this.item(216) || undefined;
+ }
+
+ public get 217(): string {
+ return this.item(217) || undefined;
+ }
+
+ public get 218(): string {
+ return this.item(218) || undefined;
+ }
+
+ public get 219(): string {
+ return this.item(219) || undefined;
+ }
+
+ public get 220(): string {
+ return this.item(220) || undefined;
+ }
+
+ public get 221(): string {
+ return this.item(221) || undefined;
+ }
+
+ public get 222(): string {
+ return this.item(222) || undefined;
+ }
+
+ public get 223(): string {
+ return this.item(223) || undefined;
+ }
+
+ public get 224(): string {
+ return this.item(224) || undefined;
+ }
+
+ public get 225(): string {
+ return this.item(225) || undefined;
+ }
+
+ public get 226(): string {
+ return this.item(226) || undefined;
+ }
+
+ public get 227(): string {
+ return this.item(227) || undefined;
+ }
+
+ public get 228(): string {
+ return this.item(228) || undefined;
+ }
+
+ public get 229(): string {
+ return this.item(229) || undefined;
+ }
+
+ public get 230(): string {
+ return this.item(230) || undefined;
+ }
+
+ public get 231(): string {
+ return this.item(231) || undefined;
+ }
+
+ public get 232(): string {
+ return this.item(232) || undefined;
+ }
+
+ public get 233(): string {
+ return this.item(233) || undefined;
+ }
+
+ public get 234(): string {
+ return this.item(234) || undefined;
+ }
+
+ public get 235(): string {
+ return this.item(235) || undefined;
+ }
+
+ public get 236(): string {
+ return this.item(236) || undefined;
+ }
+
+ public get 237(): string {
+ return this.item(237) || undefined;
+ }
+
+ public get 238(): string {
+ return this.item(238) || undefined;
+ }
+
+ public get 239(): string {
+ return this.item(239) || undefined;
+ }
+
+ public get 240(): string {
+ return this.item(240) || undefined;
+ }
+
+ public get 241(): string {
+ return this.item(241) || undefined;
+ }
+
+ public get 242(): string {
+ return this.item(242) || undefined;
+ }
+
+ public get 243(): string {
+ return this.item(243) || undefined;
+ }
+
+ public get 244(): string {
+ return this.item(244) || undefined;
+ }
+
+ public get 245(): string {
+ return this.item(245) || undefined;
+ }
+
+ public get 246(): string {
+ return this.item(246) || undefined;
+ }
+
+ public get 247(): string {
+ return this.item(247) || undefined;
+ }
+
+ public get 248(): string {
+ return this.item(248) || undefined;
+ }
+
+ public get 249(): string {
+ return this.item(249) || undefined;
+ }
+
+ public get 250(): string {
+ return this.item(250) || undefined;
+ }
+
+ public get 251(): string {
+ return this.item(251) || undefined;
+ }
+
+ public get 252(): string {
+ return this.item(252) || undefined;
+ }
+
+ public get 253(): string {
+ return this.item(253) || undefined;
+ }
+
+ public get 254(): string {
+ return this.item(254) || undefined;
+ }
+
+ public get 255(): string {
+ return this.item(255) || undefined;
+ }
+
+ public get 256(): string {
+ return this.item(256) || undefined;
+ }
+
+ public get 257(): string {
+ return this.item(257) || undefined;
+ }
+
+ public get 258(): string {
+ return this.item(258) || undefined;
+ }
+
+ public get 259(): string {
+ return this.item(259) || undefined;
+ }
+
+ public get 260(): string {
+ return this.item(260) || undefined;
+ }
+
+ public get 261(): string {
+ return this.item(261) || undefined;
+ }
+
+ public get 262(): string {
+ return this.item(262) || undefined;
+ }
+
+ public get 263(): string {
+ return this.item(263) || undefined;
+ }
+
+ public get 264(): string {
+ return this.item(264) || undefined;
+ }
+
+ public get 265(): string {
+ return this.item(265) || undefined;
+ }
+
+ public get 266(): string {
+ return this.item(266) || undefined;
+ }
+
+ public get 267(): string {
+ return this.item(267) || undefined;
+ }
+
+ public get 268(): string {
+ return this.item(268) || undefined;
+ }
+
+ public get 269(): string {
+ return this.item(269) || undefined;
+ }
+
+ public get 270(): string {
+ return this.item(270) || undefined;
+ }
+
+ public get 271(): string {
+ return this.item(271) || undefined;
+ }
+
+ public get 272(): string {
+ return this.item(272) || undefined;
+ }
+
+ public get 273(): string {
+ return this.item(273) || undefined;
+ }
+
+ public get 274(): string {
+ return this.item(274) || undefined;
+ }
+
+ public get 275(): string {
+ return this.item(275) || undefined;
+ }
+
+ public get 276(): string {
+ return this.item(276) || undefined;
+ }
+
+ public get 277(): string {
+ return this.item(277) || undefined;
+ }
+
+ public get 278(): string {
+ return this.item(278) || undefined;
+ }
+
+ public get 279(): string {
+ return this.item(279) || undefined;
+ }
+
+ public get 280(): string {
+ return this.item(280) || undefined;
+ }
+
+ public get 281(): string {
+ return this.item(281) || undefined;
+ }
+
+ public get 282(): string {
+ return this.item(282) || undefined;
+ }
+
+ public get 283(): string {
+ return this.item(283) || undefined;
+ }
+
+ public get 284(): string {
+ return this.item(284) || undefined;
+ }
+
+ public get 285(): string {
+ return this.item(285) || undefined;
+ }
+
+ public get 286(): string {
+ return this.item(286) || undefined;
+ }
+
+ public get 287(): string {
+ return this.item(287) || undefined;
+ }
+
+ public get 288(): string {
+ return this.item(288) || undefined;
+ }
+
+ public get 289(): string {
+ return this.item(289) || undefined;
+ }
+
+ public get 290(): string {
+ return this.item(290) || undefined;
+ }
+
+ public get 291(): string {
+ return this.item(291) || undefined;
+ }
+
+ public get 292(): string {
+ return this.item(292) || undefined;
+ }
+
+ public get 293(): string {
+ return this.item(293) || undefined;
+ }
+
+ public get 294(): string {
+ return this.item(294) || undefined;
+ }
+
+ public get 295(): string {
+ return this.item(295) || undefined;
+ }
+
+ public get 296(): string {
+ return this.item(296) || undefined;
+ }
+
+ public get 297(): string {
+ return this.item(297) || undefined;
+ }
+
+ public get 298(): string {
+ return this.item(298) || undefined;
+ }
+
+ public get 299(): string {
+ return this.item(299) || undefined;
+ }
+
+ public get 300(): string {
+ return this.item(300) || undefined;
+ }
+
+ public get 301(): string {
+ return this.item(301) || undefined;
+ }
+
+ public get 302(): string {
+ return this.item(302) || undefined;
+ }
+
+ public get 303(): string {
+ return this.item(303) || undefined;
+ }
+
+ public get 304(): string {
+ return this.item(304) || undefined;
+ }
+
+ public get 305(): string {
+ return this.item(305) || undefined;
+ }
+
+ public get 306(): string {
+ return this.item(306) || undefined;
+ }
+
+ public get 307(): string {
+ return this.item(307) || undefined;
+ }
+
+ public get 308(): string {
+ return this.item(308) || undefined;
+ }
+
+ public get 309(): string {
+ return this.item(309) || undefined;
+ }
+
+ public get 310(): string {
+ return this.item(310) || undefined;
+ }
+
+ public get 311(): string {
+ return this.item(311) || undefined;
+ }
+
+ public get 312(): string {
+ return this.item(312) || undefined;
+ }
+
+ public get 313(): string {
+ return this.item(313) || undefined;
+ }
+
+ public get 314(): string {
+ return this.item(314) || undefined;
+ }
+
+ public get 315(): string {
+ return this.item(315) || undefined;
+ }
+
+ public get 316(): string {
+ return this.item(316) || undefined;
+ }
+
+ public get 317(): string {
+ return this.item(317) || undefined;
+ }
+
+ public get 318(): string {
+ return this.item(318) || undefined;
+ }
+
+ public get 319(): string {
+ return this.item(319) || undefined;
+ }
+
+ public get 320(): string {
+ return this.item(320) || undefined;
+ }
+
+ public get 321(): string {
+ return this.item(321) || undefined;
+ }
+
+ public get 322(): string {
+ return this.item(322) || undefined;
+ }
+
+ public get 323(): string {
+ return this.item(323) || undefined;
+ }
+
+ public get 324(): string {
+ return this.item(324) || undefined;
+ }
+
+ public get 325(): string {
+ return this.item(325) || undefined;
+ }
+
+ public get 326(): string {
+ return this.item(326) || undefined;
+ }
+
+ public get 327(): string {
+ return this.item(327) || undefined;
+ }
+
+ public get 328(): string {
+ return this.item(328) || undefined;
+ }
+
+ public get 329(): string {
+ return this.item(329) || undefined;
+ }
+
+ public get 330(): string {
+ return this.item(330) || undefined;
+ }
+
+ public get 331(): string {
+ return this.item(331) || undefined;
+ }
+
+ public get 332(): string {
+ return this.item(332) || undefined;
+ }
+
+ public get 333(): string {
+ return this.item(333) || undefined;
+ }
+
+ public get 334(): string {
+ return this.item(334) || undefined;
+ }
+
+ public get 335(): string {
+ return this.item(335) || undefined;
+ }
+
+ public get 336(): string {
+ return this.item(336) || undefined;
+ }
+
+ public get 337(): string {
+ return this.item(337) || undefined;
+ }
+
+ public get 338(): string {
+ return this.item(338) || undefined;
+ }
+
+ public get 339(): string {
+ return this.item(339) || undefined;
+ }
+
+ public get 340(): string {
+ return this.item(340) || undefined;
+ }
+
+ public get 341(): string {
+ return this.item(341) || undefined;
+ }
+
+ public get 342(): string {
+ return this.item(342) || undefined;
+ }
+
+ public get 343(): string {
+ return this.item(343) || undefined;
+ }
+
+ public get 344(): string {
+ return this.item(344) || undefined;
+ }
+
+ public get 345(): string {
+ return this.item(345) || undefined;
+ }
+
+ public get 346(): string {
+ return this.item(346) || undefined;
+ }
+
+ public get 347(): string {
+ return this.item(347) || undefined;
+ }
+
+ public get 348(): string {
+ return this.item(348) || undefined;
+ }
+
+ public get 349(): string {
+ return this.item(349) || undefined;
+ }
+
+ public get 350(): string {
+ return this.item(350) || undefined;
+ }
+
+ public get 351(): string {
+ return this.item(351) || undefined;
+ }
+
+ public get 352(): string {
+ return this.item(352) || undefined;
+ }
+
+ public get 353(): string {
+ return this.item(353) || undefined;
+ }
+
+ public get 354(): string {
+ return this.item(354) || undefined;
+ }
+
+ public get 355(): string {
+ return this.item(355) || undefined;
+ }
+
+ public get 356(): string {
+ return this.item(356) || undefined;
+ }
+
+ public get 357(): string {
+ return this.item(357) || undefined;
+ }
+
+ public get 358(): string {
+ return this.item(358) || undefined;
+ }
+
+ public get 359(): string {
+ return this.item(359) || undefined;
+ }
+
+ public get 360(): string {
+ return this.item(360) || undefined;
+ }
+
+ public get 361(): string {
+ return this.item(361) || undefined;
+ }
+
+ public get 362(): string {
+ return this.item(362) || undefined;
+ }
+
+ public get 363(): string {
+ return this.item(363) || undefined;
+ }
+
+ public get 364(): string {
+ return this.item(364) || undefined;
+ }
+
+ public get 365(): string {
+ return this.item(365) || undefined;
+ }
+
+ public get 366(): string {
+ return this.item(366) || undefined;
+ }
+
+ public get 367(): string {
+ return this.item(367) || undefined;
+ }
+
+ public get 368(): string {
+ return this.item(368) || undefined;
+ }
+ public get 369(): string {
+ return this.item(369) || undefined;
+ }
+
+ public get 370(): string {
+ return this.item(370) || undefined;
+ }
+
+ public get 371(): string {
+ return this.item(371) || undefined;
+ }
+
+ public get 372(): string {
+ return this.item(372) || undefined;
+ }
+
+ public get 373(): string {
+ return this.item(373) || undefined;
+ }
+
+ public get 374(): string {
+ return this.item(374) || undefined;
+ }
+
+ public get 375(): string {
+ return this.item(375) || undefined;
+ }
+
+ public get 376(): string {
+ return this.item(376) || undefined;
+ }
+
+ public get 377(): string {
+ return this.item(377) || undefined;
+ }
+
+ public get 378(): string {
+ return this.item(378) || undefined;
+ }
+
+ public get 379(): string {
+ return this.item(379) || undefined;
+ }
+
+ public get 380(): string {
+ return this.item(380) || undefined;
+ }
+
+ public get 381(): string {
+ return this.item(381) || undefined;
+ }
+
+ public get 382(): string {
+ return this.item(382) || undefined;
+ }
+
+ public get 383(): string {
+ return this.item(383) || undefined;
+ }
+
+ public get 384(): string {
+ return this.item(384) || undefined;
+ }
+
+ public get 385(): string {
+ return this.item(385) || undefined;
+ }
+
+ public get 386(): string {
+ return this.item(386) || undefined;
+ }
+
+ public get 387(): string {
+ return this.item(387) || undefined;
+ }
+
+ public get 388(): string {
+ return this.item(388) || undefined;
+ }
+
+ public get 389(): string {
+ return this.item(389) || undefined;
+ }
+
+ public get 390(): string {
+ return this.item(390) || undefined;
+ }
+
+ public get 391(): string {
+ return this.item(391) || undefined;
+ }
+
+ public get 392(): string {
+ return this.item(392) || undefined;
+ }
+
+ public get 393(): string {
+ return this.item(393) || undefined;
+ }
+
+ /**
+ * CSS properties
+ */
+
+ public get accentColor(): string {
+ return this.getPropertyValue('accent-color');
+ }
+
+ public set accentColor(value: string) {
+ this.setProperty('accent-color', value);
+ }
+
+ public get appRegion(): string {
+ return this.getPropertyValue('app-region');
+ }
+
+ public set appRegion(value: string) {
+ this.setProperty('app-region', value);
+ }
+
+ public get alignContent(): string {
+ return this.getPropertyValue('align-content');
+ }
+
+ public set alignContent(value: string) {
+ this.setProperty('align-content', value);
+ }
+
+ public get alignItems(): string {
+ return this.getPropertyValue('align-items');
+ }
+
+ public set alignItems(value: string) {
+ this.setProperty('align-items', value);
+ }
+
+ public get alignSelf(): string {
+ return this.getPropertyValue('align-self');
+ }
+
+ public set alignSelf(value: string) {
+ this.setProperty('align-self', value);
+ }
+
+ public get alignmentBaseline(): string {
+ return this.getPropertyValue('alignment-baseline');
+ }
+
+ public set alignmentBaseline(value: string) {
+ this.setProperty('alignment-baseline', value);
+ }
+
+ public get all(): string {
+ return this.getPropertyValue('all');
+ }
+
+ public set all(value: string) {
+ this.setProperty('all', value);
+ }
+
+ public get animation(): string {
+ return this.getPropertyValue('animation');
+ }
+
+ public set animation(value: string) {
+ this.setProperty('animation', value);
+ }
+
+ public get animationDelay(): string {
+ return this.getPropertyValue('animation-delay');
+ }
+
+ public set animationDelay(value: string) {
+ this.setProperty('animation-delay', value);
+ }
+
+ public get animationDirection(): string {
+ return this.getPropertyValue('animation-direction');
+ }
+
+ public set animationDirection(value: string) {
+ this.setProperty('animation-direction', value);
+ }
+
+ public get animationDuration(): string {
+ return this.getPropertyValue('animation-duration');
+ }
+
+ public set animationDuration(value: string) {
+ this.setProperty('animation-duration', value);
+ }
+
+ public get animationFillMode(): string {
+ return this.getPropertyValue('animation-fill-mode');
+ }
+
+ public set animationFillMode(value: string) {
+ this.setProperty('animation-fill-mode', value);
+ }
+
+ public get animationIterationCount(): string {
+ return this.getPropertyValue('animation-iteration-count');
+ }
+
+ public set animationIterationCount(value: string) {
+ this.setProperty('animation-iteration-count', value);
+ }
+
+ public get animationName(): string {
+ return this.getPropertyValue('animation-name');
+ }
+
+ public set animationName(value: string) {
+ this.setProperty('animation-name', value);
+ }
+
+ public get animationPlayState(): string {
+ return this.getPropertyValue('animation-play-state');
+ }
+
+ public set animationPlayState(value: string) {
+ this.setProperty('animation-play-state', value);
+ }
+
+ public get animationTimingFunction(): string {
+ return this.getPropertyValue('animation-timing-function');
+ }
+
+ public set animationTimingFunction(value: string) {
+ this.setProperty('animation-timing-function', value);
+ }
+
+ public get appearance(): string {
+ return this.getPropertyValue('appearance');
+ }
+
+ public set appearance(value: string) {
+ this.setProperty('appearance', value);
+ }
+
+ public get backdropFilter(): string {
+ return this.getPropertyValue('backdrop-filter');
+ }
+
+ public set backdropFilter(value: string) {
+ this.setProperty('backdrop-filter', value);
+ }
+
+ public get backfaceVisibility(): string {
+ return this.getPropertyValue('backface-visibility');
+ }
+
+ public set backfaceVisibility(value: string) {
+ this.setProperty('backface-visibility', value);
+ }
+
+ public get background(): string {
+ return this.getPropertyValue('background');
+ }
+
+ public set background(value: string) {
+ this.setProperty('background', value);
+ }
+
+ public get backgroundAttachment(): string {
+ return this.getPropertyValue('background-attachment');
+ }
+
+ public set backgroundAttachment(value: string) {
+ this.setProperty('background-attachment', value);
+ }
+
+ public get backgroundBlendMode(): string {
+ return this.getPropertyValue('background-blend-mode');
+ }
+
+ public set backgroundBlendMode(value: string) {
+ this.setProperty('background-blend-mode', value);
+ }
+
+ public get backgroundClip(): string {
+ return this.getPropertyValue('background-clip');
+ }
+
+ public set backgroundClip(value: string) {
+ this.setProperty('background-clip', value);
+ }
+
+ public get backgroundColor(): string {
+ return this.getPropertyValue('background-color');
+ }
+
+ public set backgroundColor(value: string) {
+ this.setProperty('background-color', value);
+ }
+
+ public get backgroundImage(): string {
+ return this.getPropertyValue('background-image');
+ }
+
+ public set backgroundImage(value: string) {
+ this.setProperty('background-image', value);
+ }
+
+ public get backgroundOrigin(): string {
+ return this.getPropertyValue('background-origin');
+ }
+
+ public set backgroundOrigin(value: string) {
+ this.setProperty('background-origin', value);
+ }
+
+ public get backgroundPosition(): string {
+ return this.getPropertyValue('background-position');
+ }
+
+ public set backgroundPosition(value: string) {
+ this.setProperty('background-position', value);
+ }
+
+ public get backgroundPositionX(): string {
+ return this.getPropertyValue('background-position-x');
+ }
+
+ public set backgroundPositionX(value: string) {
+ this.setProperty('background-position-x', value);
+ }
+
+ public get backgroundPositionY(): string {
+ return this.getPropertyValue('background-position-y');
+ }
+
+ public set backgroundPositionY(value: string) {
+ this.setProperty('background-position-y', value);
+ }
+
+ public get backgroundRepeat(): string {
+ return this.getPropertyValue('background-repeat');
+ }
+
+ public set backgroundRepeat(value: string) {
+ this.setProperty('background-repeat', value);
+ }
+
+ public get backgroundRepeatX(): string {
+ return this.getPropertyValue('background-repeat-x');
+ }
+
+ public set backgroundRepeatX(value: string) {
+ this.setProperty('background-repeat-x', value);
+ }
+
+ public get backgroundRepeatY(): string {
+ return this.getPropertyValue('background-repeat-y');
+ }
+
+ public set backgroundRepeatY(value: string) {
+ this.setProperty('background-repeat-y', value);
+ }
+
+ public get backgroundSize(): string {
+ return this.getPropertyValue('background-size');
+ }
+
+ public set backgroundSize(value: string) {
+ this.setProperty('background-size', value);
+ }
+
+ public get baselineShift(): string {
+ return this.getPropertyValue('baseline-shift');
+ }
+
+ public set baselineShift(value: string) {
+ this.setProperty('baseline-shift', value);
+ }
+
+ public get blockSize(): string {
+ return this.getPropertyValue('block-size');
+ }
+
+ public set blockSize(value: string) {
+ this.setProperty('block-size', value);
+ }
+
+ public get border(): string {
+ return this.getPropertyValue('border');
+ }
+
+ public set border(value: string) {
+ this.setProperty('border', value);
+ }
+
+ public get borderBlockEnd(): string {
+ return this.getPropertyValue('border-block-end');
+ }
+
+ public set borderBlockEnd(value: string) {
+ this.setProperty('border-block-end', value);
+ }
+
+ public get borderBlockEndColor(): string {
+ return this.getPropertyValue('border-block-end-color');
+ }
+
+ public set borderBlockEndColor(value: string) {
+ this.setProperty('border-block-end-color', value);
+ }
+
+ public get borderBlockEndStyle(): string {
+ return this.getPropertyValue('border-block-end-style');
+ }
+
+ public set borderBlockEndStyle(value: string) {
+ this.setProperty('border-block-end-style', value);
+ }
+
+ public get borderBlockEndWidth(): string {
+ return this.getPropertyValue('border-block-end-width');
+ }
+
+ public set borderBlockEndWidth(value: string) {
+ this.setProperty('border-block-end-width', value);
+ }
+
+ public get borderBlockStart(): string {
+ return this.getPropertyValue('border-block-start');
+ }
+
+ public set borderBlockStart(value: string) {
+ this.setProperty('border-block-start', value);
+ }
+
+ public get borderBlockStartColor(): string {
+ return this.getPropertyValue('border-block-start-color');
+ }
+
+ public set borderBlockStartColor(value: string) {
+ this.setProperty('border-block-start-color', value);
+ }
+
+ public get borderBlockStartStyle(): string {
+ return this.getPropertyValue('border-block-start-style');
+ }
+
+ public set borderBlockStartStyle(value: string) {
+ this.setProperty('border-block-start-style', value);
+ }
+
+ public get borderBlockStartWidth(): string {
+ return this.getPropertyValue('border-block-start-width');
+ }
+
+ public set borderBlockStartWidth(value: string) {
+ this.setProperty('border-block-start-width', value);
+ }
+
+ public get borderBottom(): string {
+ return this.getPropertyValue('border-bottom');
+ }
+
+ public set borderBottom(value: string) {
+ this.setProperty('border-bottom', value);
+ }
+
+ public get borderBottomColor(): string {
+ return this.getPropertyValue('border-bottom-color');
+ }
+
+ public set borderBottomColor(value: string) {
+ this.setProperty('border-bottom-color', value);
+ }
+
+ public get borderBottomLeftRadius(): string {
+ return this.getPropertyValue('border-bottom-left-radius');
+ }
+
+ public set borderBottomLeftRadius(value: string) {
+ this.setProperty('border-bottom-left-radius', value);
+ }
+
+ public get borderBottomRightRadius(): string {
+ return this.getPropertyValue('border-bottom-right-radius');
+ }
+
+ public set borderBottomRightRadius(value: string) {
+ this.setProperty('border-bottom-right-radius', value);
+ }
+
+ public get borderBottomStyle(): string {
+ return this.getPropertyValue('border-bottom-style');
+ }
+
+ public set borderBottomStyle(value: string) {
+ this.setProperty('border-bottom-style', value);
+ }
+
+ public get borderBottomWidth(): string {
+ return this.getPropertyValue('border-bottom-width');
+ }
+
+ public set borderBottomWidth(value: string) {
+ this.setProperty('border-bottom-width', value);
+ }
+
+ public get borderCollapse(): string {
+ return this.getPropertyValue('border-collapse');
+ }
+
+ public set borderCollapse(value: string) {
+ this.setProperty('border-collapse', value);
+ }
+
+ public get borderColor(): string {
+ return this.getPropertyValue('border-color');
+ }
+
+ public set borderColor(value: string) {
+ this.setProperty('border-color', value);
+ }
+
+ public get borderImage(): string {
+ return this.getPropertyValue('border-image');
+ }
+
+ public set borderImage(value: string) {
+ this.setProperty('border-image', value);
+ }
+
+ public get borderImageOutset(): string {
+ return this.getPropertyValue('border-image-outset');
+ }
+
+ public set borderImageOutset(value: string) {
+ this.setProperty('border-image-outset', value);
+ }
+
+ public get borderImageRepeat(): string {
+ return this.getPropertyValue('border-image-repeat');
+ }
+
+ public set borderImageRepeat(value: string) {
+ this.setProperty('border-image-repeat', value);
+ }
+
+ public get borderImageSlice(): string {
+ return this.getPropertyValue('border-image-slice');
+ }
+
+ public set borderImageSlice(value: string) {
+ this.setProperty('border-image-slice', value);
+ }
+
+ public get borderImageSource(): string {
+ return this.getPropertyValue('border-image-source');
+ }
+
+ public set borderImageSource(value: string) {
+ this.setProperty('border-image-source', value);
+ }
+
+ public get borderImageWidth(): string {
+ return this.getPropertyValue('border-image-width');
+ }
+
+ public set borderImageWidth(value: string) {
+ this.setProperty('border-image-width', value);
+ }
+
+ public get borderInlineEnd(): string {
+ return this.getPropertyValue('border-inline-end');
+ }
+
+ public set borderInlineEnd(value: string) {
+ this.setProperty('border-inline-end', value);
+ }
+
+ public get borderInlineEndColor(): string {
+ return this.getPropertyValue('border-inline-end-color');
+ }
+
+ public set borderInlineEndColor(value: string) {
+ this.setProperty('border-inline-end-color', value);
+ }
+
+ public get borderInlineEndStyle(): string {
+ return this.getPropertyValue('border-inline-end-style');
+ }
+
+ public set borderInlineEndStyle(value: string) {
+ this.setProperty('border-inline-end-style', value);
+ }
+
+ public get borderInlineEndWidth(): string {
+ return this.getPropertyValue('border-inline-end-width');
+ }
+
+ public set borderInlineEndWidth(value: string) {
+ this.setProperty('border-inline-end-width', value);
+ }
+
+ public get borderInlineStart(): string {
+ return this.getPropertyValue('border-inline-start');
+ }
+
+ public set borderInlineStart(value: string) {
+ this.setProperty('border-inline-start', value);
+ }
+
+ public get borderInlineStartColor(): string {
+ return this.getPropertyValue('border-inline-start-color');
+ }
+
+ public set borderInlineStartColor(value: string) {
+ this.setProperty('border-inline-start-color', value);
+ }
+
+ public get borderInlineStartStyle(): string {
+ return this.getPropertyValue('border-inline-start-style');
+ }
+
+ public set borderInlineStartStyle(value: string) {
+ this.setProperty('border-inline-start-style', value);
+ }
+
+ public get borderInlineStartWidth(): string {
+ return this.getPropertyValue('border-inline-start-width');
+ }
+
+ public set borderInlineStartWidth(value: string) {
+ this.setProperty('border-inline-start-width', value);
+ }
+
+ public get borderLeft(): string {
+ return this.getPropertyValue('border-left');
+ }
+
+ public set borderLeft(value: string) {
+ this.setProperty('border-left', value);
+ }
+
+ public get borderLeftColor(): string {
+ return this.getPropertyValue('border-left-color');
+ }
+
+ public set borderLeftColor(value: string) {
+ this.setProperty('border-left-color', value);
+ }
+
+ public get borderLeftStyle(): string {
+ return this.getPropertyValue('border-left-style');
+ }
+
+ public set borderLeftStyle(value: string) {
+ this.setProperty('border-left-style', value);
+ }
+
+ public get borderLeftWidth(): string {
+ return this.getPropertyValue('border-left-width');
+ }
+
+ public set borderLeftWidth(value: string) {
+ this.setProperty('border-left-width', value);
+ }
+
+ public get borderRadius(): string {
+ return this.getPropertyValue('border-radius');
+ }
+
+ public set borderRadius(value: string) {
+ this.setProperty('border-radius', value);
+ }
+
+ public get borderRight(): string {
+ return this.getPropertyValue('border-right');
+ }
+
+ public set borderRight(value: string) {
+ this.setProperty('border-right', value);
+ }
+
+ public get borderRightColor(): string {
+ return this.getPropertyValue('border-right-color');
+ }
+
+ public set borderRightColor(value: string) {
+ this.setProperty('border-right-color', value);
+ }
+
+ public get borderRightStyle(): string {
+ return this.getPropertyValue('border-right-style');
+ }
+
+ public set borderRightStyle(value: string) {
+ this.setProperty('border-right-style', value);
+ }
+
+ public get borderRightWidth(): string {
+ return this.getPropertyValue('border-right-width');
+ }
+
+ public set borderRightWidth(value: string) {
+ this.setProperty('border-right-width', value);
+ }
+
+ public get borderSpacing(): string {
+ return this.getPropertyValue('border-spacing');
+ }
+
+ public set borderSpacing(value: string) {
+ this.setProperty('border-spacing', value);
+ }
+
+ public get borderStyle(): string {
+ return this.getPropertyValue('border-style');
+ }
+
+ public set borderStyle(value: string) {
+ this.setProperty('border-style', value);
+ }
+
+ public get borderTop(): string {
+ return this.getPropertyValue('border-top');
+ }
+
+ public set borderTop(value: string) {
+ this.setProperty('border-top', value);
+ }
+
+ public get borderTopColor(): string {
+ return this.getPropertyValue('border-top-color');
+ }
+
+ public set borderTopColor(value: string) {
+ this.setProperty('border-top-color', value);
+ }
+
+ public get borderTopLeftRadius(): string {
+ return this.getPropertyValue('border-top-left-radius');
+ }
+
+ public set borderTopLeftRadius(value: string) {
+ this.setProperty('border-top-left-radius', value);
+ }
+
+ public get borderTopRightRadius(): string {
+ return this.getPropertyValue('border-top-right-radius');
+ }
+
+ public set borderTopRightRadius(value: string) {
+ this.setProperty('border-top-right-radius', value);
+ }
+
+ public get borderTopStyle(): string {
+ return this.getPropertyValue('border-top-style');
+ }
+
+ public set borderTopStyle(value: string) {
+ this.setProperty('border-top-style', value);
+ }
+
+ public get borderTopWidth(): string {
+ return this.getPropertyValue('border-top-width');
+ }
+
+ public set borderTopWidth(value: string) {
+ this.setProperty('border-top-width', value);
+ }
+
+ public get borderWidth(): string {
+ return this.getPropertyValue('border-width');
+ }
+
+ public set borderWidth(value: string) {
+ this.setProperty('border-width', value);
+ }
+
+ public get borderEndEndRadius(): string {
+ return this.getPropertyValue('border-end-end-radius');
+ }
+
+ public set borderEndEndRadius(value: string) {
+ this.setProperty('border-end-end-radius', value);
+ }
+
+ public get borderEndStartRadius(): string {
+ return this.getPropertyValue('border-end-start-radius');
+ }
+
+ public set borderEndStartRadius(value: string) {
+ this.setProperty('border-end-start-radius', value);
+ }
+
+ public get borderStartEndRadius(): string {
+ return this.getPropertyValue('border-start-end-radius');
+ }
+
+ public set borderStartEndRadius(value: string) {
+ this.setProperty('border-start-end-radius', value);
+ }
+
+ public get borderStartStartRadius(): string {
+ return this.getPropertyValue('border-start-start-radius');
+ }
+
+ public set borderStartStartRadius(value: string) {
+ this.setProperty('border-start-start-radius', value);
+ }
+
+ public get bottom(): string {
+ return this.getPropertyValue('bottom');
+ }
+
+ public set bottom(value: string) {
+ this.setProperty('bottom', value);
+ }
+
+ public get boxShadow(): string {
+ return this.getPropertyValue('box-shadow');
+ }
+
+ public set boxShadow(value: string) {
+ this.setProperty('box-shadow', value);
+ }
+
+ public get boxSizing(): string {
+ return this.getPropertyValue('box-sizing');
+ }
+
+ public set boxSizing(value: string) {
+ this.setProperty('box-sizing', value);
+ }
+
+ public get breakAfter(): string {
+ return this.getPropertyValue('break-after');
+ }
+
+ public set breakAfter(value: string) {
+ this.setProperty('break-after', value);
+ }
+
+ public get breakBefore(): string {
+ return this.getPropertyValue('break-before');
+ }
+
+ public set breakBefore(value: string) {
+ this.setProperty('break-before', value);
+ }
+
+ public get breakInside(): string {
+ return this.getPropertyValue('break-inside');
+ }
+
+ public set breakInside(value: string) {
+ this.setProperty('break-inside', value);
+ }
+
+ public get bufferedRendering(): string {
+ return this.getPropertyValue('buffered-rendering');
+ }
+
+ public set bufferedRendering(value: string) {
+ this.setProperty('buffered-rendering', value);
+ }
+
+ public get captionSide(): string {
+ return this.getPropertyValue('caption-side');
+ }
+
+ public set captionSide(value: string) {
+ this.setProperty('caption-side', value);
+ }
+
+ public get caretColor(): string {
+ return this.getPropertyValue('caret-color');
+ }
+
+ public set caretColor(value: string) {
+ this.setProperty('caret-color', value);
+ }
+
+ public get clear(): string {
+ return this.getPropertyValue('clear');
+ }
+
+ public set clear(value: string) {
+ this.setProperty('clear', value);
+ }
+
+ public get clip(): string {
+ return this.getPropertyValue('clip');
+ }
+
+ public set clip(value: string) {
+ this.setProperty('clip', value);
+ }
+
+ public get clipPath(): string {
+ return this.getPropertyValue('clip-path');
+ }
+
+ public set clipPath(value: string) {
+ this.setProperty('clip-path', value);
+ }
+
+ public get clipRule(): string {
+ return this.getPropertyValue('clip-rule');
+ }
+
+ public set clipRule(value: string) {
+ this.setProperty('clip-rule', value);
+ }
+
+ public get color(): string {
+ return this.getPropertyValue('color');
+ }
+
+ public set color(value: string) {
+ this.setProperty('color', value);
+ }
+
+ public get colorInterpolation(): string {
+ return this.getPropertyValue('color-interpolation');
+ }
+
+ public set colorInterpolation(value: string) {
+ this.setProperty('color-interpolation', value);
+ }
+
+ public get colorInterpolationFilters(): string {
+ return this.getPropertyValue('color-interpolation-filters');
+ }
+
+ public set colorInterpolationFilters(value: string) {
+ this.setProperty('color-interpolation-filters', value);
+ }
+
+ public get colorRendering(): string {
+ return this.getPropertyValue('color-rendering');
+ }
+
+ public set colorRendering(value: string) {
+ this.setProperty('color-rendering', value);
+ }
+
+ public get colorScheme(): string {
+ return this.getPropertyValue('color-scheme');
+ }
+
+ public set colorScheme(value: string) {
+ this.setProperty('color-scheme', value);
+ }
+
+ public get columnCount(): string {
+ return this.getPropertyValue('column-count');
+ }
+
+ public set columnCount(value: string) {
+ this.setProperty('column-count', value);
+ }
+
+ public get columnFill(): string {
+ return this.getPropertyValue('column-fill');
+ }
+
+ public set columnFill(value: string) {
+ this.setProperty('column-fill', value);
+ }
+
+ public get columnGap(): string {
+ return this.getPropertyValue('column-gap');
+ }
+
+ public set columnGap(value: string) {
+ this.setProperty('column-gap', value);
+ }
+
+ public get columnRule(): string {
+ return this.getPropertyValue('column-rule');
+ }
+
+ public set columnRule(value: string) {
+ this.setProperty('column-rule', value);
+ }
+
+ public get columnRuleColor(): string {
+ return this.getPropertyValue('column-rule-color');
+ }
+
+ public set columnRuleColor(value: string) {
+ this.setProperty('column-rule-color', value);
+ }
+
+ public get columnRuleStyle(): string {
+ return this.getPropertyValue('column-rule-style');
+ }
+
+ public set columnRuleStyle(value: string) {
+ this.setProperty('column-rule-style', value);
+ }
+
+ public get columnRuleWidth(): string {
+ return this.getPropertyValue('column-rule-width');
+ }
+
+ public set columnRuleWidth(value: string) {
+ this.setProperty('column-rule-width', value);
+ }
+
+ public get columnSpan(): string {
+ return this.getPropertyValue('column-span');
+ }
+
+ public set columnSpan(value: string) {
+ this.setProperty('column-span', value);
+ }
+
+ public get columnWidth(): string {
+ return this.getPropertyValue('column-width');
+ }
+
+ public set columnWidth(value: string) {
+ this.setProperty('column-width', value);
+ }
+
+ public get columns(): string {
+ return this.getPropertyValue('columns');
+ }
+
+ public set columns(value: string) {
+ this.setProperty('columns', value);
+ }
+
+ public get contain(): string {
+ return this.getPropertyValue('contain');
+ }
+
+ public set contain(value: string) {
+ this.setProperty('contain', value);
+ }
+
+ public get containIntrinsicSize(): string {
+ return this.getPropertyValue('contain-intrinsic-size');
+ }
+
+ public set containIntrinsicSize(value: string) {
+ this.setProperty('contain-intrinsic-size', value);
+ }
+
+ public get content(): string {
+ return this.getPropertyValue('content');
+ }
+
+ public set content(value: string) {
+ this.setProperty('content', value);
+ }
+
+ public get contentVisibility(): string {
+ return this.getPropertyValue('content-visibility');
+ }
+
+ public set contentVisibility(value: string) {
+ this.setProperty('content-visibility', value);
+ }
+
+ public get counterIncrement(): string {
+ return this.getPropertyValue('counter-increment');
+ }
+
+ public set counterIncrement(value: string) {
+ this.setProperty('counter-increment', value);
+ }
+
+ public get counterReset(): string {
+ return this.getPropertyValue('counter-reset');
+ }
+
+ public set counterReset(value: string) {
+ this.setProperty('counter-reset', value);
+ }
+
+ public get counterSet(): string {
+ return this.getPropertyValue('counter-set');
+ }
+
+ public set counterSet(value: string) {
+ this.setProperty('counter-set', value);
+ }
+
+ public get containIntrinsicBlockSize(): string {
+ return this.getPropertyValue('contain-intrinsic-block-size');
+ }
+
+ public set containIntrinsicBlockSize(value: string) {
+ this.setProperty('contain-intrinsic-block-size', value);
+ }
+
+ public get containIntrinsicHeight(): string {
+ return this.getPropertyValue('contain-intrinsic-height');
+ }
+
+ public set containIntrinsicHeight(value: string) {
+ this.setProperty('contain-intrinsic-height', value);
+ }
+
+ public get containIntrinsicInlineSize(): string {
+ return this.getPropertyValue('contain-intrinsic-inline-size');
+ }
+
+ public set containIntrinsicInlineSize(value: string) {
+ this.setProperty('contain-intrinsic-inline-size', value);
+ }
+
+ public get containIntrinsicWidth(): string {
+ return this.getPropertyValue('contain-intrinsic-width');
+ }
+
+ public set containIntrinsicWidth(value: string) {
+ this.setProperty('contain-intrinsic-width', value);
+ }
+
+ public get cssFloat(): string {
+ return this.getPropertyValue('css-float');
+ }
+
+ public set cssFloat(value: string) {
+ this.setProperty('css-float', value);
+ }
+
+ public get cursor(): string {
+ return this.getPropertyValue('cursor');
+ }
+
+ public set cursor(value: string) {
+ this.setProperty('cursor', value);
+ }
+
+ public get cx(): string {
+ return this.getPropertyValue('cx');
+ }
+
+ public set cx(value: string) {
+ this.setProperty('cx', value);
+ }
+
+ public get cy(): string {
+ return this.getPropertyValue('cy');
+ }
+
+ public set cy(value: string) {
+ this.setProperty('cy', value);
+ }
+
+ public get d(): string {
+ return this.getPropertyValue('d');
+ }
+
+ public set d(value: string) {
+ this.setProperty('d', value);
+ }
+
+ public get direction(): string {
+ return this.getPropertyValue('direction');
+ }
+
+ public set direction(value: string) {
+ this.setProperty('direction', value);
+ }
+
+ public get display(): string {
+ return this.getPropertyValue('display');
+ }
+
+ public set display(value: string) {
+ this.setProperty('display', value);
+ }
+
+ public get dominantBaseline(): string {
+ return this.getPropertyValue('dominant-baseline');
+ }
+
+ public set dominantBaseline(value: string) {
+ this.setProperty('dominant-baseline', value);
+ }
+
+ public get emptyCells(): string {
+ return this.getPropertyValue('empty-cells');
+ }
+
+ public set emptyCells(value: string) {
+ this.setProperty('empty-cells', value);
+ }
+
+ public get fill(): string {
+ return this.getPropertyValue('fill');
+ }
+
+ public set fill(value: string) {
+ this.setProperty('fill', value);
+ }
+
+ public get fillOpacity(): string {
+ return this.getPropertyValue('fill-opacity');
+ }
+
+ public set fillOpacity(value: string) {
+ this.setProperty('fill-opacity', value);
+ }
+
+ public get fillRule(): string {
+ return this.getPropertyValue('fill-rule');
+ }
+
+ public set fillRule(value: string) {
+ this.setProperty('fill-rule', value);
+ }
+
+ public get filter(): string {
+ return this.getPropertyValue('filter');
+ }
+
+ public set filter(value: string) {
+ this.setProperty('filter', value);
+ }
+
+ public get flex(): string {
+ return this.getPropertyValue('flex');
+ }
+
+ public set flex(value: string) {
+ this.setProperty('flex', value);
+ }
+
+ public get flexBasis(): string {
+ return this.getPropertyValue('flex-basis');
+ }
+
+ public set flexBasis(value: string) {
+ this.setProperty('flex-basis', value);
+ }
+
+ public get flexDirection(): string {
+ return this.getPropertyValue('flex-direction');
+ }
+
+ public set flexDirection(value: string) {
+ this.setProperty('flex-direction', value);
+ }
+
+ public get flexFlow(): string {
+ return this.getPropertyValue('flex-flow');
+ }
+
+ public set flexFlow(value: string) {
+ this.setProperty('flex-flow', value);
+ }
+
+ public get flexGrow(): string {
+ return this.getPropertyValue('flex-grow');
+ }
+
+ public set flexGrow(value: string) {
+ this.setProperty('flex-grow', value);
+ }
+
+ public get flexShrink(): string {
+ return this.getPropertyValue('flex-shrink');
+ }
+
+ public set flexShrink(value: string) {
+ this.setProperty('flex-shrink', value);
+ }
+
+ public get flexWrap(): string {
+ return this.getPropertyValue('flex-wrap');
+ }
+
+ public set flexWrap(value: string) {
+ this.setProperty('flex-wrap', value);
+ }
+
+ public get float(): string {
+ return this.getPropertyValue('float');
+ }
+
+ public set float(value: string) {
+ this.setProperty('float', value);
+ }
+
+ public get floodColor(): string {
+ return this.getPropertyValue('flood-color');
+ }
+
+ public set floodColor(value: string) {
+ this.setProperty('flood-color', value);
+ }
+
+ public get floodOpacity(): string {
+ return this.getPropertyValue('flood-opacity');
+ }
+
+ public set floodOpacity(value: string) {
+ this.setProperty('flood-opacity', value);
+ }
+
+ public get font(): string {
+ return this.getPropertyValue('font');
+ }
+
+ public set font(value: string) {
+ this.setProperty('font', value);
+ }
+
+ public get fontDisplay(): string {
+ return this.getPropertyValue('font-display');
+ }
+
+ public set fontDisplay(value: string) {
+ this.setProperty('font-display', value);
+ }
+
+ public get fontFamily(): string {
+ return this.getPropertyValue('font-family');
+ }
+
+ public set fontFamily(value: string) {
+ this.setProperty('font-family', value);
+ }
+
+ public get fontFeatureSettings(): string {
+ return this.getPropertyValue('font-feature-settings');
+ }
+
+ public set fontFeatureSettings(value: string) {
+ this.setProperty('font-feature-settings', value);
+ }
+
+ public get fontKerning(): string {
+ return this.getPropertyValue('font-kerning');
+ }
+
+ public set fontKerning(value: string) {
+ this.setProperty('font-kerning', value);
+ }
+
+ public get fontOpticalSizing(): string {
+ return this.getPropertyValue('font-optical-sizing');
+ }
+
+ public set fontOpticalSizing(value: string) {
+ this.setProperty('font-optical-sizing', value);
+ }
+
+ public get fontSize(): string {
+ return this.getPropertyValue('font-size');
+ }
+
+ public set fontSize(value: string) {
+ this.setProperty('font-size', value);
+ }
+
+ public get fontStretch(): string {
+ return this.getPropertyValue('font-stretch');
+ }
+
+ public set fontStretch(value: string) {
+ this.setProperty('font-stretch', value);
+ }
+
+ public get fontStyle(): string {
+ return this.getPropertyValue('font-style');
+ }
+
+ public set fontStyle(value: string) {
+ this.setProperty('font-style', value);
+ }
+
+ public get fontVariant(): string {
+ return this.getPropertyValue('font-variant');
+ }
+
+ public set fontVariant(value: string) {
+ this.setProperty('font-variant', value);
+ }
+
+ public get fontVariantCaps(): string {
+ return this.getPropertyValue('font-variant-caps');
+ }
+
+ public set fontVariantCaps(value: string) {
+ this.setProperty('font-variant-caps', value);
+ }
+
+ public get fontVariantEastAsian(): string {
+ return this.getPropertyValue('font-variant-east-asian');
+ }
+
+ public set fontVariantEastAsian(value: string) {
+ this.setProperty('font-variant-east-asian', value);
+ }
+
+ public get fontVariantLigatures(): string {
+ return this.getPropertyValue('font-variant-ligatures');
+ }
+
+ public set fontVariantLigatures(value: string) {
+ this.setProperty('font-variant-ligatures', value);
+ }
+
+ public get fontVariantNumeric(): string {
+ return this.getPropertyValue('font-variant-numeric');
+ }
+
+ public set fontVariantNumeric(value: string) {
+ this.setProperty('font-variant-numeric', value);
+ }
+
+ public get fontVariationSettings(): string {
+ return this.getPropertyValue('font-variation-settings');
+ }
+
+ public set fontVariationSettings(value: string) {
+ this.setProperty('font-variation-settings', value);
+ }
+
+ public get fontPalette(): string {
+ return this.getPropertyValue('font-palette');
+ }
+
+ public set fontPalette(value: string) {
+ this.setProperty('font-palette', value);
+ }
+
+ public get fontSynthesisSmallCaps(): string {
+ return this.getPropertyValue('font-synthesis-small-caps');
+ }
+
+ public set fontSynthesisSmallCaps(value: string) {
+ this.setProperty('font-synthesis-small-caps', value);
+ }
+
+ public get fontSynthesisStyle(): string {
+ return this.getPropertyValue('font-synthesis-style');
+ }
+
+ public set fontSynthesisStyle(value: string) {
+ this.setProperty('font-synthesis-style', value);
+ }
+
+ public get fontSynthesisWeight(): string {
+ return this.getPropertyValue('font-synthesis-weight');
+ }
+
+ public set fontSynthesisWeight(value: string) {
+ this.setProperty('font-synthesis-weight', value);
+ }
+
+ public get fontWeight(): string {
+ return this.getPropertyValue('font-weight');
+ }
+
+ public set fontWeight(value: string) {
+ this.setProperty('font-weight', value);
+ }
+
+ public get gap(): string {
+ return this.getPropertyValue('gap');
+ }
+
+ public set gap(value: string) {
+ this.setProperty('gap', value);
+ }
+
+ public get grid(): string {
+ return this.getPropertyValue('grid');
+ }
+
+ public set grid(value: string) {
+ this.setProperty('grid', value);
+ }
+
+ public get gridArea(): string {
+ return this.getPropertyValue('grid-area');
+ }
+
+ public set gridArea(value: string) {
+ this.setProperty('grid-area', value);
+ }
+
+ public get gridAutoColumns(): string {
+ return this.getPropertyValue('grid-auto-columns');
+ }
+
+ public set gridAutoColumns(value: string) {
+ this.setProperty('grid-auto-columns', value);
+ }
+
+ public get gridAutoFlow(): string {
+ return this.getPropertyValue('grid-auto-flow');
+ }
+
+ public set gridAutoFlow(value: string) {
+ this.setProperty('grid-auto-flow', value);
+ }
+
+ public get gridAutoRows(): string {
+ return this.getPropertyValue('grid-auto-rows');
+ }
+
+ public set gridAutoRows(value: string) {
+ this.setProperty('grid-auto-rows', value);
+ }
+
+ public get gridColumn(): string {
+ return this.getPropertyValue('grid-column');
+ }
+
+ public set gridColumn(value: string) {
+ this.setProperty('grid-column', value);
+ }
+
+ public get gridColumnEnd(): string {
+ return this.getPropertyValue('grid-column-end');
+ }
+
+ public set gridColumnEnd(value: string) {
+ this.setProperty('grid-column-end', value);
+ }
+
+ public get gridColumnGap(): string {
+ return this.getPropertyValue('grid-column-gap');
+ }
+
+ public set gridColumnGap(value: string) {
+ this.setProperty('grid-column-gap', value);
+ }
+
+ public get gridColumnStart(): string {
+ return this.getPropertyValue('grid-column-start');
+ }
+
+ public set gridColumnStart(value: string) {
+ this.setProperty('grid-column-start', value);
+ }
+
+ public get gridGap(): string {
+ return this.getPropertyValue('grid-gap');
+ }
+
+ public set gridGap(value: string) {
+ this.setProperty('grid-gap', value);
+ }
+
+ public get gridRow(): string {
+ return this.getPropertyValue('grid-row');
+ }
+
+ public set gridRow(value: string) {
+ this.setProperty('grid-row', value);
+ }
+
+ public get gridRowEnd(): string {
+ return this.getPropertyValue('grid-row-end');
+ }
+
+ public set gridRowEnd(value: string) {
+ this.setProperty('grid-row-end', value);
+ }
+
+ public get gridRowGap(): string {
+ return this.getPropertyValue('grid-row-gap');
+ }
+
+ public set gridRowGap(value: string) {
+ this.setProperty('grid-row-gap', value);
+ }
+
+ public get gridRowStart(): string {
+ return this.getPropertyValue('grid-row-start');
+ }
+
+ public set gridRowStart(value: string) {
+ this.setProperty('grid-row-start', value);
+ }
+
+ public get gridTemplate(): string {
+ return this.getPropertyValue('grid-template');
+ }
+
+ public set gridTemplate(value: string) {
+ this.setProperty('grid-template', value);
+ }
+
+ public get gridTemplateAreas(): string {
+ return this.getPropertyValue('grid-template-areas');
+ }
+
+ public set gridTemplateAreas(value: string) {
+ this.setProperty('grid-template-areas', value);
+ }
+
+ public get gridTemplateColumns(): string {
+ return this.getPropertyValue('grid-template-columns');
+ }
+
+ public set gridTemplateColumns(value: string) {
+ this.setProperty('grid-template-columns', value);
+ }
+
+ public get gridTemplateRows(): string {
+ return this.getPropertyValue('grid-template-rows');
+ }
+
+ public set gridTemplateRows(value: string) {
+ this.setProperty('grid-template-rows', value);
+ }
+
+ public get height(): string {
+ return this.getPropertyValue('height');
+ }
+
+ public set height(value: string) {
+ this.setProperty('height', value);
+ }
+
+ public get hyphens(): string {
+ return this.getPropertyValue('hyphens');
+ }
+
+ public set hyphens(value: string) {
+ this.setProperty('hyphens', value);
+ }
+
+ public get imageOrientation(): string {
+ return this.getPropertyValue('image-orientation');
+ }
+
+ public set imageOrientation(value: string) {
+ this.setProperty('image-orientation', value);
+ }
+
+ public get imageRendering(): string {
+ return this.getPropertyValue('image-rendering');
+ }
+
+ public set imageRendering(value: string) {
+ this.setProperty('image-rendering', value);
+ }
+
+ public get inherits(): string {
+ return this.getPropertyValue('inherits');
+ }
+
+ public set inherits(value: string) {
+ this.setProperty('inherits', value);
+ }
+
+ public get initialValue(): string {
+ return this.getPropertyValue('initial-value');
+ }
+
+ public set initialValue(value: string) {
+ this.setProperty('initial-value', value);
+ }
+
+ public get inlineSize(): string {
+ return this.getPropertyValue('inline-size');
+ }
+
+ public set inlineSize(value: string) {
+ this.setProperty('inline-size', value);
+ }
+
+ public get isolation(): string {
+ return this.getPropertyValue('isolation');
+ }
+
+ public set isolation(value: string) {
+ this.setProperty('isolation', value);
+ }
+
+ public get insetBlockEnd(): string {
+ return this.getPropertyValue('inset-block-end');
+ }
+
+ public set insetBlockEnd(value: string) {
+ this.setProperty('inset-block-end', value);
+ }
+
+ public get insetBlockStart(): string {
+ return this.getPropertyValue('inset-block-start');
+ }
+
+ public set insetBlockStart(value: string) {
+ this.setProperty('inset-block-start', value);
+ }
+
+ public get insetInlineEnd(): string {
+ return this.getPropertyValue('inset-inline-end');
+ }
+
+ public set insetInlineEnd(value: string) {
+ this.setProperty('inset-inline-end', value);
+ }
+
+ public get insetInlineStart(): string {
+ return this.getPropertyValue('inset-inline-start');
+ }
+
+ public set insetInlineStart(value: string) {
+ this.setProperty('inset-inline-start', value);
+ }
+
+ public get justifyContent(): string {
+ return this.getPropertyValue('justify-content');
+ }
+
+ public set justifyContent(value: string) {
+ this.setProperty('justify-content', value);
+ }
+
+ public get justifyItems(): string {
+ return this.getPropertyValue('justify-items');
+ }
+
+ public set justifyItems(value: string) {
+ this.setProperty('justify-items', value);
+ }
+
+ public get justifySelf(): string {
+ return this.getPropertyValue('justify-self');
+ }
+
+ public set justifySelf(value: string) {
+ this.setProperty('justify-self', value);
+ }
+
+ public get left(): string {
+ return this.getPropertyValue('left');
+ }
+
+ public set left(value: string) {
+ this.setProperty('left', value);
+ }
+
+ public get letterSpacing(): string {
+ return this.getPropertyValue('letter-spacing');
+ }
+
+ public set letterSpacing(value: string) {
+ this.setProperty('letter-spacing', value);
+ }
+
+ public get lightingColor(): string {
+ return this.getPropertyValue('lighting-color');
+ }
+
+ public set lightingColor(value: string) {
+ this.setProperty('lighting-color', value);
+ }
+
+ public get lineBreak(): string {
+ return this.getPropertyValue('line-break');
+ }
+
+ public set lineBreak(value: string) {
+ this.setProperty('line-break', value);
+ }
+
+ public get lineHeight(): string {
+ return this.getPropertyValue('line-height');
+ }
+
+ public set lineHeight(value: string) {
+ this.setProperty('line-height', value);
+ }
+
+ public get listStyle(): string {
+ return this.getPropertyValue('list-style');
+ }
+
+ public set listStyle(value: string) {
+ this.setProperty('list-style', value);
+ }
+
+ public get listStyleImage(): string {
+ return this.getPropertyValue('list-style-image');
+ }
+
+ public set listStyleImage(value: string) {
+ this.setProperty('list-style-image', value);
+ }
+
+ public get listStylePosition(): string {
+ return this.getPropertyValue('list-style-position');
+ }
+
+ public set listStylePosition(value: string) {
+ this.setProperty('list-style-position', value);
+ }
+
+ public get listStyleType(): string {
+ return this.getPropertyValue('list-style-type');
+ }
+
+ public set listStyleType(value: string) {
+ this.setProperty('list-style-type', value);
+ }
+
+ public get margin(): string {
+ return this.getPropertyValue('margin');
+ }
+
+ public set margin(value: string) {
+ this.setProperty('margin', value);
+ }
+
+ public get marginBlockEnd(): string {
+ return this.getPropertyValue('margin-block-end');
+ }
+
+ public set marginBlockEnd(value: string) {
+ this.setProperty('margin-block-end', value);
+ }
+
+ public get marginBlockStart(): string {
+ return this.getPropertyValue('margin-block-start');
+ }
+
+ public set marginBlockStart(value: string) {
+ this.setProperty('margin-block-start', value);
+ }
+
+ public get marginBottom(): string {
+ return this.getPropertyValue('margin-bottom');
+ }
+
+ public set marginBottom(value: string) {
+ this.setProperty('margin-bottom', value);
+ }
+
+ public get marginInlineEnd(): string {
+ return this.getPropertyValue('margin-inline-end');
+ }
+
+ public set marginInlineEnd(value: string) {
+ this.setProperty('margin-inline-end', value);
+ }
+
+ public get marginInlineStart(): string {
+ return this.getPropertyValue('margin-inline-start');
+ }
+
+ public set marginInlineStart(value: string) {
+ this.setProperty('margin-inline-start', value);
+ }
+
+ public get marginLeft(): string {
+ return this.getPropertyValue('margin-left');
+ }
+
+ public set marginLeft(value: string) {
+ this.setProperty('margin-left', value);
+ }
+
+ public get marginRight(): string {
+ return this.getPropertyValue('margin-right');
+ }
+
+ public set marginRight(value: string) {
+ this.setProperty('margin-right', value);
+ }
+
+ public get marginTop(): string {
+ return this.getPropertyValue('margin-top');
+ }
+
+ public set marginTop(value: string) {
+ this.setProperty('margin-top', value);
+ }
+
+ public get marker(): string {
+ return this.getPropertyValue('marker');
+ }
+
+ public set marker(value: string) {
+ this.setProperty('marker', value);
+ }
+
+ public get markerEnd(): string {
+ return this.getPropertyValue('marker-end');
+ }
+
+ public set markerEnd(value: string) {
+ this.setProperty('marker-end', value);
+ }
+
+ public get markerMid(): string {
+ return this.getPropertyValue('marker-mid');
+ }
+
+ public set markerMid(value: string) {
+ this.setProperty('marker-mid', value);
+ }
+
+ public get markerStart(): string {
+ return this.getPropertyValue('marker-start');
+ }
+
+ public set markerStart(value: string) {
+ this.setProperty('marker-start', value);
+ }
+
+ public get mask(): string {
+ return this.getPropertyValue('mask');
+ }
+
+ public set mask(value: string) {
+ this.setProperty('mask', value);
+ }
+
+ public get maskType(): string {
+ return this.getPropertyValue('mask-type');
+ }
+
+ public set maskType(value: string) {
+ this.setProperty('mask-type', value);
+ }
+
+ public get maxBlockSize(): string {
+ return this.getPropertyValue('max-block-size');
+ }
+
+ public set maxBlockSize(value: string) {
+ this.setProperty('max-block-size', value);
+ }
+
+ public get maxHeight(): string {
+ return this.getPropertyValue('max-height');
+ }
+
+ public set maxHeight(value: string) {
+ this.setProperty('max-height', value);
+ }
+
+ public get maxInlineSize(): string {
+ return this.getPropertyValue('max-inline-size');
+ }
+
+ public set maxInlineSize(value: string) {
+ this.setProperty('max-inline-size', value);
+ }
+
+ public get maxWidth(): string {
+ return this.getPropertyValue('max-width');
+ }
+
+ public set maxWidth(value: string) {
+ this.setProperty('max-width', value);
+ }
+
+ public get maxZoom(): string {
+ return this.getPropertyValue('max-zoom');
+ }
+
+ public set maxZoom(value: string) {
+ this.setProperty('max-zoom', value);
+ }
+
+ public get minBlockSize(): string {
+ return this.getPropertyValue('min-block-size');
+ }
+
+ public set minBlockSize(value: string) {
+ this.setProperty('min-block-size', value);
+ }
+
+ public get minHeight(): string {
+ return this.getPropertyValue('min-height');
+ }
+
+ public set minHeight(value: string) {
+ this.setProperty('min-height', value);
+ }
+
+ public get minInlineSize(): string {
+ return this.getPropertyValue('min-inline-size');
+ }
+
+ public set minInlineSize(value: string) {
+ this.setProperty('min-inline-size', value);
+ }
+
+ public get minWidth(): string {
+ return this.getPropertyValue('min-width');
+ }
+
+ public set minWidth(value: string) {
+ this.setProperty('min-width', value);
+ }
+
+ public get minZoom(): string {
+ return this.getPropertyValue('min-zoom');
+ }
+
+ public set minZoom(value: string) {
+ this.setProperty('min-zoom', value);
+ }
+
+ public get mixBlendMode(): string {
+ return this.getPropertyValue('mix-blend-mode');
+ }
+
+ public set mixBlendMode(value: string) {
+ this.setProperty('mix-blend-mode', value);
+ }
+
+ public get objectFit(): string {
+ return this.getPropertyValue('object-fit');
+ }
+
+ public set objectFit(value: string) {
+ this.setProperty('object-fit', value);
+ }
+
+ public get objectPosition(): string {
+ return this.getPropertyValue('object-position');
+ }
+
+ public set objectPosition(value: string) {
+ this.setProperty('object-position', value);
+ }
+
+ public get offset(): string {
+ return this.getPropertyValue('offset');
+ }
+
+ public set offset(value: string) {
+ this.setProperty('offset', value);
+ }
+
+ public get offsetDistance(): string {
+ return this.getPropertyValue('offset-distance');
+ }
+
+ public set offsetDistance(value: string) {
+ this.setProperty('offset-distance', value);
+ }
+
+ public get offsetPath(): string {
+ return this.getPropertyValue('offset-path');
+ }
+
+ public set offsetPath(value: string) {
+ this.setProperty('offset-path', value);
+ }
+
+ public get offsetRotate(): string {
+ return this.getPropertyValue('offset-rotate');
+ }
+
+ public set offsetRotate(value: string) {
+ this.setProperty('offset-rotate', value);
+ }
+
+ public get opacity(): string {
+ return this.getPropertyValue('opacity');
+ }
+
+ public set opacity(value: string) {
+ this.setProperty('opacity', value);
+ }
+
+ public get order(): string {
+ return this.getPropertyValue('order');
+ }
+
+ public set order(value: string) {
+ this.setProperty('order', value);
+ }
+
+ public get orientation(): string {
+ return this.getPropertyValue('orientation');
+ }
+
+ public set orientation(value: string) {
+ this.setProperty('orientation', value);
+ }
+
+ public get orphans(): string {
+ return this.getPropertyValue('orphans');
+ }
+
+ public set orphans(value: string) {
+ this.setProperty('orphans', value);
+ }
+
+ public get outline(): string {
+ return this.getPropertyValue('outline');
+ }
+
+ public set outline(value: string) {
+ this.setProperty('outline', value);
+ }
+
+ public get outlineColor(): string {
+ return this.getPropertyValue('outline-color');
+ }
+
+ public set outlineColor(value: string) {
+ this.setProperty('outline-color', value);
+ }
+
+ public get outlineOffset(): string {
+ return this.getPropertyValue('outline-offset');
+ }
+
+ public set outlineOffset(value: string) {
+ this.setProperty('outline-offset', value);
+ }
+
+ public get outlineStyle(): string {
+ return this.getPropertyValue('outline-style');
+ }
+
+ public set outlineStyle(value: string) {
+ this.setProperty('outline-style', value);
+ }
+
+ public get outlineWidth(): string {
+ return this.getPropertyValue('outline-width');
+ }
+
+ public set outlineWidth(value: string) {
+ this.setProperty('outline-width', value);
+ }
+
+ public get overflow(): string {
+ return this.getPropertyValue('overflow');
+ }
+
+ public set overflow(value: string) {
+ this.setProperty('overflow', value);
+ }
+
+ public get overflowAnchor(): string {
+ return this.getPropertyValue('overflow-anchor');
+ }
+
+ public set overflowAnchor(value: string) {
+ this.setProperty('overflow-anchor', value);
+ }
+
+ public get overflowWrap(): string {
+ return this.getPropertyValue('overflow-wrap');
+ }
+
+ public set overflowWrap(value: string) {
+ this.setProperty('overflow-wrap', value);
+ }
+
+ public get overflowX(): string {
+ return this.getPropertyValue('overflow-x');
+ }
+
+ public set overflowX(value: string) {
+ this.setProperty('overflow-x', value);
+ }
+
+ public get overflowY(): string {
+ return this.getPropertyValue('overflow-y');
+ }
+
+ public set overflowY(value: string) {
+ this.setProperty('overflow-y', value);
+ }
+
+ public get overscrollBehavior(): string {
+ return this.getPropertyValue('overscroll-behavior');
+ }
+
+ public set overscrollBehavior(value: string) {
+ this.setProperty('overscroll-behavior', value);
+ }
+
+ public get overscrollBehaviorBlock(): string {
+ return this.getPropertyValue('overscroll-behavior-block');
+ }
+
+ public set overscrollBehaviorBlock(value: string) {
+ this.setProperty('overscroll-behavior-block', value);
+ }
+
+ public get overscrollBehaviorInline(): string {
+ return this.getPropertyValue('overscroll-behavior-inline');
+ }
+
+ public set overscrollBehaviorInline(value: string) {
+ this.setProperty('overscroll-behavior-inline', value);
+ }
+
+ public get overscrollBehaviorX(): string {
+ return this.getPropertyValue('overscroll-behavior-x');
+ }
+
+ public set overscrollBehaviorX(value: string) {
+ this.setProperty('overscroll-behavior-x', value);
+ }
+
+ public get overscrollBehaviorY(): string {
+ return this.getPropertyValue('overscroll-behavior-y');
+ }
+
+ public set overscrollBehaviorY(value: string) {
+ this.setProperty('overscroll-behavior-y', value);
+ }
+
+ public get overflowClipMargin(): string {
+ return this.getPropertyValue('overflow-clip-margin');
+ }
+
+ public set overflowClipMargin(value: string) {
+ this.setProperty('overflow-clip-margin', value);
+ }
+
+ public get padding(): string {
+ return this.getPropertyValue('padding');
+ }
+
+ public set padding(value: string) {
+ this.setProperty('padding', value);
+ }
+
+ public get paddingBlockEnd(): string {
+ return this.getPropertyValue('padding-block-end');
+ }
+
+ public set paddingBlockEnd(value: string) {
+ this.setProperty('padding-block-end', value);
+ }
+
+ public get paddingBlockStart(): string {
+ return this.getPropertyValue('padding-block-start');
+ }
+
+ public set paddingBlockStart(value: string) {
+ this.setProperty('padding-block-start', value);
+ }
+
+ public get paddingBottom(): string {
+ return this.getPropertyValue('padding-bottom');
+ }
+
+ public set paddingBottom(value: string) {
+ this.setProperty('padding-bottom', value);
+ }
+
+ public get paddingInlineEnd(): string {
+ return this.getPropertyValue('padding-inline-end');
+ }
+
+ public set paddingInlineEnd(value: string) {
+ this.setProperty('padding-inline-end', value);
+ }
+
+ public get paddingInlineStart(): string {
+ return this.getPropertyValue('padding-inline-start');
+ }
+
+ public set paddingInlineStart(value: string) {
+ this.setProperty('padding-inline-start', value);
+ }
+
+ public get paddingLeft(): string {
+ return this.getPropertyValue('padding-left');
+ }
+
+ public set paddingLeft(value: string) {
+ this.setProperty('padding-left', value);
+ }
+
+ public get paddingRight(): string {
+ return this.getPropertyValue('padding-right');
+ }
+
+ public set paddingRight(value: string) {
+ this.setProperty('padding-right', value);
+ }
+
+ public get paddingTop(): string {
+ return this.getPropertyValue('padding-top');
+ }
+
+ public set paddingTop(value: string) {
+ this.setProperty('padding-top', value);
+ }
+
+ public get page(): string {
+ return this.getPropertyValue('page');
+ }
+
+ public set page(value: string) {
+ this.setProperty('page', value);
+ }
+
+ public get pageBreakAfter(): string {
+ return this.getPropertyValue('page-break-after');
+ }
+
+ public set pageBreakAfter(value: string) {
+ this.setProperty('page-break-after', value);
+ }
+
+ public get pageBreakBefore(): string {
+ return this.getPropertyValue('page-break-before');
+ }
+
+ public set pageBreakBefore(value: string) {
+ this.setProperty('page-break-before', value);
+ }
+
+ public get pageBreakInside(): string {
+ return this.getPropertyValue('page-break-inside');
+ }
+
+ public set pageBreakInside(value: string) {
+ this.setProperty('page-break-inside', value);
+ }
+
+ public get pageOrientation(): string {
+ return this.getPropertyValue('page-orientation');
+ }
+
+ public set pageOrientation(value: string) {
+ this.setProperty('page-orientation', value);
+ }
+
+ public get paintOrder(): string {
+ return this.getPropertyValue('paint-order');
+ }
+
+ public set paintOrder(value: string) {
+ this.setProperty('paint-order', value);
+ }
+
+ public get perspective(): string {
+ return this.getPropertyValue('perspective');
+ }
+
+ public set perspective(value: string) {
+ this.setProperty('perspective', value);
+ }
+
+ public get perspectiveOrigin(): string {
+ return this.getPropertyValue('perspective-origin');
+ }
+
+ public set perspectiveOrigin(value: string) {
+ this.setProperty('perspective-origin', value);
+ }
+
+ public get placeContent(): string {
+ return this.getPropertyValue('place-content');
+ }
+
+ public set placeContent(value: string) {
+ this.setProperty('place-content', value);
+ }
+
+ public get placeItems(): string {
+ return this.getPropertyValue('place-items');
+ }
+
+ public set placeItems(value: string) {
+ this.setProperty('place-items', value);
+ }
+
+ public get placeSelf(): string {
+ return this.getPropertyValue('place-self');
+ }
+
+ public set placeSelf(value: string) {
+ this.setProperty('place-self', value);
+ }
+
+ public get pointerEvents(): string {
+ return this.getPropertyValue('pointer-events');
+ }
+
+ public set pointerEvents(value: string) {
+ this.setProperty('pointer-events', value);
+ }
+
+ public get position(): string {
+ return this.getPropertyValue('position');
+ }
+
+ public set position(value: string) {
+ this.setProperty('position', value);
+ }
+
+ public get quotes(): string {
+ return this.getPropertyValue('quotes');
+ }
+
+ public set quotes(value: string) {
+ this.setProperty('quotes', value);
+ }
+
+ public get r(): string {
+ return this.getPropertyValue('r');
+ }
+
+ public set r(value: string) {
+ this.setProperty('r', value);
+ }
+
+ public get resize(): string {
+ return this.getPropertyValue('resize');
+ }
+
+ public set resize(value: string) {
+ this.setProperty('resize', value);
+ }
+
+ public get right(): string {
+ return this.getPropertyValue('right');
+ }
+
+ public set right(value: string) {
+ this.setProperty('right', value);
+ }
+
+ public get rowGap(): string {
+ return this.getPropertyValue('row-gap');
+ }
+
+ public set rowGap(value: string) {
+ this.setProperty('row-gap', value);
+ }
+
+ public get rubyPosition(): string {
+ return this.getPropertyValue('ruby-position');
+ }
+
+ public set rubyPosition(value: string) {
+ this.setProperty('ruby-position', value);
+ }
+
+ public get rx(): string {
+ return this.getPropertyValue('rx');
+ }
+
+ public set rx(value: string) {
+ this.setProperty('rx', value);
+ }
+
+ public get ry(): string {
+ return this.getPropertyValue('ry');
+ }
+
+ public set ry(value: string) {
+ this.setProperty('ry', value);
+ }
+
+ public get scrollBehavior(): string {
+ return this.getPropertyValue('scroll-behavior');
+ }
+
+ public set scrollBehavior(value: string) {
+ this.setProperty('scroll-behavior', value);
+ }
+
+ public get scrollMargin(): string {
+ return this.getPropertyValue('scroll-margin');
+ }
+
+ public set scrollMargin(value: string) {
+ this.setProperty('scroll-margin', value);
+ }
+
+ public get scrollMarginBlock(): string {
+ return this.getPropertyValue('scroll-margin-block');
+ }
+
+ public set scrollMarginBlock(value: string) {
+ this.setProperty('scroll-margin-block', value);
+ }
+
+ public get scrollMarginBlockEnd(): string {
+ return this.getPropertyValue('scroll-margin-block-end');
+ }
+
+ public set scrollMarginBlockEnd(value: string) {
+ this.setProperty('scroll-margin-block-end', value);
+ }
+
+ public get scrollMarginBlockStart(): string {
+ return this.getPropertyValue('scroll-margin-block-start');
+ }
+
+ public set scrollMarginBlockStart(value: string) {
+ this.setProperty('scroll-margin-block-start', value);
+ }
+
+ public get scrollMarginBottom(): string {
+ return this.getPropertyValue('scroll-margin-bottom');
+ }
+
+ public set scrollMarginBottom(value: string) {
+ this.setProperty('scroll-margin-bottom', value);
+ }
+
+ public get scrollMarginInline(): string {
+ return this.getPropertyValue('scroll-margin-inline');
+ }
+
+ public set scrollMarginInline(value: string) {
+ this.setProperty('scroll-margin-inline', value);
+ }
+
+ public get scrollMarginInlineEnd(): string {
+ return this.getPropertyValue('scroll-margin-inline-end');
+ }
+
+ public set scrollMarginInlineEnd(value: string) {
+ this.setProperty('scroll-margin-inline-end', value);
+ }
+
+ public get scrollMarginInlineStart(): string {
+ return this.getPropertyValue('scroll-margin-inline-start');
+ }
+
+ public set scrollMarginInlineStart(value: string) {
+ this.setProperty('scroll-margin-inline-start', value);
+ }
+
+ public get scrollMarginLeft(): string {
+ return this.getPropertyValue('scroll-margin-left');
+ }
+
+ public set scrollMarginLeft(value: string) {
+ this.setProperty('scroll-margin-left', value);
+ }
+
+ public get scrollMarginRight(): string {
+ return this.getPropertyValue('scroll-margin-right');
+ }
+
+ public set scrollMarginRight(value: string) {
+ this.setProperty('scroll-margin-right', value);
+ }
+
+ public get scrollMarginTop(): string {
+ return this.getPropertyValue('scroll-margin-top');
+ }
+
+ public set scrollMarginTop(value: string) {
+ this.setProperty('scroll-margin-top', value);
+ }
+
+ public get scrollPadding(): string {
+ return this.getPropertyValue('scroll-padding');
+ }
+
+ public set scrollPadding(value: string) {
+ this.setProperty('scroll-padding', value);
+ }
+
+ public get scrollPaddingBlock(): string {
+ return this.getPropertyValue('scroll-padding-block');
+ }
+
+ public set scrollPaddingBlock(value: string) {
+ this.setProperty('scroll-padding-block', value);
+ }
+
+ public get scrollPaddingBlockEnd(): string {
+ return this.getPropertyValue('scroll-padding-block-end');
+ }
+
+ public set scrollPaddingBlockEnd(value: string) {
+ this.setProperty('scroll-padding-block-end', value);
+ }
+
+ public get scrollPaddingBlockStart(): string {
+ return this.getPropertyValue('scroll-padding-block-start');
+ }
+
+ public set scrollPaddingBlockStart(value: string) {
+ this.setProperty('scroll-padding-block-start', value);
+ }
+
+ public get scrollPaddingBottom(): string {
+ return this.getPropertyValue('scroll-padding-bottom');
+ }
+
+ public set scrollPaddingBottom(value: string) {
+ this.setProperty('scroll-padding-bottom', value);
+ }
+
+ public get scrollPaddingInline(): string {
+ return this.getPropertyValue('scroll-padding-inline');
+ }
+
+ public set scrollPaddingInline(value: string) {
+ this.setProperty('scroll-padding-inline', value);
+ }
+
+ public get scrollPaddingInlineEnd(): string {
+ return this.getPropertyValue('scroll-padding-inline-end');
+ }
+
+ public set scrollPaddingInlineEnd(value: string) {
+ this.setProperty('scroll-padding-inline-end', value);
+ }
+
+ public get scrollPaddingInlineStart(): string {
+ return this.getPropertyValue('scroll-padding-inline-start');
+ }
+
+ public set scrollPaddingInlineStart(value: string) {
+ this.setProperty('scroll-padding-inline-start', value);
+ }
+
+ public get scrollPaddingLeft(): string {
+ return this.getPropertyValue('scroll-padding-left');
+ }
+
+ public set scrollPaddingLeft(value: string) {
+ this.setProperty('scroll-padding-left', value);
+ }
+
+ public get scrollPaddingRight(): string {
+ return this.getPropertyValue('scroll-padding-right');
+ }
+
+ public set scrollPaddingRight(value: string) {
+ this.setProperty('scroll-padding-right', value);
+ }
+
+ public get scrollPaddingTop(): string {
+ return this.getPropertyValue('scroll-padding-top');
+ }
+
+ public set scrollPaddingTop(value: string) {
+ this.setProperty('scroll-padding-top', value);
+ }
+
+ public get scrollSnapAlign(): string {
+ return this.getPropertyValue('scroll-snap-align');
+ }
+
+ public set scrollSnapAlign(value: string) {
+ this.setProperty('scroll-snap-align', value);
+ }
+
+ public get scrollSnapStop(): string {
+ return this.getPropertyValue('scroll-snap-stop');
+ }
+
+ public set scrollSnapStop(value: string) {
+ this.setProperty('scroll-snap-stop', value);
+ }
+
+ public get scrollSnapType(): string {
+ return this.getPropertyValue('scroll-snap-type');
+ }
+
+ public set scrollSnapType(value: string) {
+ this.setProperty('scroll-snap-type', value);
+ }
+
+ public get shapeImageThreshold(): string {
+ return this.getPropertyValue('shape-image-threshold');
+ }
+
+ public set shapeImageThreshold(value: string) {
+ this.setProperty('shape-image-threshold', value);
+ }
+
+ public get shapeMargin(): string {
+ return this.getPropertyValue('shape-margin');
+ }
+
+ public set shapeMargin(value: string) {
+ this.setProperty('shape-margin', value);
+ }
+
+ public get shapeOutside(): string {
+ return this.getPropertyValue('shape-outside');
+ }
+
+ public set shapeOutside(value: string) {
+ this.setProperty('shape-outside', value);
+ }
+
+ public get shapeRendering(): string {
+ return this.getPropertyValue('shape-rendering');
+ }
+
+ public set shapeRendering(value: string) {
+ this.setProperty('shape-rendering', value);
+ }
+
+ public get size(): string {
+ return this.getPropertyValue('size');
+ }
+
+ public set size(value: string) {
+ this.setProperty('size', value);
+ }
+
+ public get speak(): string {
+ return this.getPropertyValue('speak');
+ }
+
+ public set speak(value: string) {
+ this.setProperty('speak', value);
+ }
+
+ public get src(): string {
+ return this.getPropertyValue('src');
+ }
+
+ public set src(value: string) {
+ this.setProperty('src', value);
+ }
+
+ public get stopColor(): string {
+ return this.getPropertyValue('stop-color');
+ }
+
+ public set stopColor(value: string) {
+ this.setProperty('stop-color', value);
+ }
+
+ public get stopOpacity(): string {
+ return this.getPropertyValue('stop-opacity');
+ }
+
+ public set stopOpacity(value: string) {
+ this.setProperty('stop-opacity', value);
+ }
+
+ public get stroke(): string {
+ return this.getPropertyValue('stroke');
+ }
+
+ public set stroke(value: string) {
+ this.setProperty('stroke', value);
+ }
+
+ public get strokeDasharray(): string {
+ return this.getPropertyValue('stroke-dasharray');
+ }
+
+ public set strokeDasharray(value: string) {
+ this.setProperty('stroke-dasharray', value);
+ }
+
+ public get strokeDashoffset(): string {
+ return this.getPropertyValue('stroke-dashoffset');
+ }
+
+ public set strokeDashoffset(value: string) {
+ this.setProperty('stroke-dashoffset', value);
+ }
+
+ public get strokeLinecap(): string {
+ return this.getPropertyValue('stroke-linecap');
+ }
+
+ public set strokeLinecap(value: string) {
+ this.setProperty('stroke-linecap', value);
+ }
+
+ public get strokeLinejoin(): string {
+ return this.getPropertyValue('stroke-linejoin');
+ }
+
+ public set strokeLinejoin(value: string) {
+ this.setProperty('stroke-linejoin', value);
+ }
+
+ public get strokeMiterlimit(): string {
+ return this.getPropertyValue('stroke-miterlimit');
+ }
+
+ public set strokeMiterlimit(value: string) {
+ this.setProperty('stroke-miterlimit', value);
+ }
+
+ public get strokeOpacity(): string {
+ return this.getPropertyValue('stroke-opacity');
+ }
+
+ public set strokeOpacity(value: string) {
+ this.setProperty('stroke-opacity', value);
+ }
+
+ public get strokeWidth(): string {
+ return this.getPropertyValue('stroke-width');
+ }
+
+ public set strokeWidth(value: string) {
+ this.setProperty('stroke-width', value);
+ }
+
+ public get syntax(): string {
+ return this.getPropertyValue('syntax');
+ }
+
+ public set syntax(value: string) {
+ this.setProperty('syntax', value);
+ }
+
+ public get scrollbarGutter(): string {
+ return this.getPropertyValue('scrollbar-gutter');
+ }
+
+ public set scrollbarGutter(value: string) {
+ this.setProperty('scrollbar-gutter', value);
+ }
+
+ public get tabSize(): string {
+ return this.getPropertyValue('tab-size');
+ }
+
+ public set tabSize(value: string) {
+ this.setProperty('tab-size', value);
+ }
+
+ public get tableLayout(): string {
+ return this.getPropertyValue('table-layout');
+ }
+
+ public set tableLayout(value: string) {
+ this.setProperty('table-layout', value);
+ }
+
+ public get textAlign(): string {
+ return this.getPropertyValue('text-align');
+ }
+
+ public set textAlign(value: string) {
+ this.setProperty('text-align', value);
+ }
+
+ public get textAlignLast(): string {
+ return this.getPropertyValue('text-align-last');
+ }
+
+ public set textAlignLast(value: string) {
+ this.setProperty('text-align-last', value);
+ }
+
+ public get textAnchor(): string {
+ return this.getPropertyValue('text-anchor');
+ }
+
+ public set textAnchor(value: string) {
+ this.setProperty('text-anchor', value);
+ }
+
+ public get textCombineUpright(): string {
+ return this.getPropertyValue('text-combine-upright');
+ }
+
+ public set textCombineUpright(value: string) {
+ this.setProperty('text-combine-upright', value);
+ }
+
+ public get textDecoration(): string {
+ return this.getPropertyValue('text-decoration');
+ }
+
+ public set textDecoration(value: string) {
+ this.setProperty('text-decoration', value);
+ }
+
+ public get textDecorationColor(): string {
+ return this.getPropertyValue('text-decoration-color');
+ }
+
+ public set textDecorationColor(value: string) {
+ this.setProperty('text-decoration-color', value);
+ }
+
+ public get textDecorationLine(): string {
+ return this.getPropertyValue('text-decoration-line');
+ }
+
+ public set textDecorationLine(value: string) {
+ this.setProperty('text-decoration-line', value);
+ }
+
+ public get textDecorationSkipInk(): string {
+ return this.getPropertyValue('text-decoration-skip-ink');
+ }
+
+ public set textDecorationSkipInk(value: string) {
+ this.setProperty('text-decoration-skip-ink', value);
+ }
+
+ public get textDecorationStyle(): string {
+ return this.getPropertyValue('text-decoration-style');
+ }
+
+ public set textDecorationStyle(value: string) {
+ this.setProperty('text-decoration-style', value);
+ }
+
+ public get textIndent(): string {
+ return this.getPropertyValue('text-indent');
+ }
+
+ public set textIndent(value: string) {
+ this.setProperty('text-indent', value);
+ }
+
+ public get textOrientation(): string {
+ return this.getPropertyValue('text-orientation');
+ }
+
+ public set textOrientation(value: string) {
+ this.setProperty('text-orientation', value);
+ }
+
+ public get textOverflow(): string {
+ return this.getPropertyValue('text-overflow');
+ }
+
+ public set textOverflow(value: string) {
+ this.setProperty('text-overflow', value);
+ }
+
+ public get textRendering(): string {
+ return this.getPropertyValue('text-rendering');
+ }
+
+ public set textRendering(value: string) {
+ this.setProperty('text-rendering', value);
+ }
+
+ public get textShadow(): string {
+ return this.getPropertyValue('text-shadow');
+ }
+
+ public set textShadow(value: string) {
+ this.setProperty('text-shadow', value);
+ }
+
+ public get textSizeAdjust(): string {
+ return this.getPropertyValue('text-size-adjust');
+ }
+
+ public set textSizeAdjust(value: string) {
+ this.setProperty('text-size-adjust', value);
+ }
+
+ public get textTransform(): string {
+ return this.getPropertyValue('text-transform');
+ }
+
+ public set textTransform(value: string) {
+ this.setProperty('text-transform', value);
+ }
+
+ public get textUnderlinePosition(): string {
+ return this.getPropertyValue('text-underline-position');
+ }
+
+ public set textUnderlinePosition(value: string) {
+ this.setProperty('text-underline-position', value);
+ }
+
+ public get top(): string {
+ return this.getPropertyValue('top');
+ }
+
+ public set top(value: string) {
+ this.setProperty('top', value);
+ }
+
+ public get touchAction(): string {
+ return this.getPropertyValue('touch-action');
+ }
+
+ public set touchAction(value: string) {
+ this.setProperty('touch-action', value);
+ }
+
+ public get transform(): string {
+ return this.getPropertyValue('transform');
+ }
+
+ public set transform(value: string) {
+ this.setProperty('transform', value);
+ }
+
+ public get transformBox(): string {
+ return this.getPropertyValue('transform-box');
+ }
+
+ public set transformBox(value: string) {
+ this.setProperty('transform-box', value);
+ }
+
+ public get transformOrigin(): string {
+ return this.getPropertyValue('transform-origin');
+ }
+
+ public set transformOrigin(value: string) {
+ this.setProperty('transform-origin', value);
+ }
+
+ public get transformStyle(): string {
+ return this.getPropertyValue('transform-style');
+ }
+
+ public set transformStyle(value: string) {
+ this.setProperty('transform-style', value);
+ }
+
+ public get transition(): string {
+ return this.getPropertyValue('transition');
+ }
+
+ public set transition(value: string) {
+ this.setProperty('transition', value);
+ }
+
+ public get transitionDelay(): string {
+ return this.getPropertyValue('transition-delay');
+ }
+
+ public set transitionDelay(value: string) {
+ this.setProperty('transition-delay', value);
+ }
+
+ public get transitionDuration(): string {
+ return this.getPropertyValue('transition-duration');
+ }
+
+ public set transitionDuration(value: string) {
+ this.setProperty('transition-duration', value);
+ }
+
+ public get transitionProperty(): string {
+ return this.getPropertyValue('transition-property');
+ }
+
+ public set transitionProperty(value: string) {
+ this.setProperty('transition-property', value);
+ }
+
+ public get transitionTimingFunction(): string {
+ return this.getPropertyValue('transition-timing-function');
+ }
+
+ public set transitionTimingFunction(value: string) {
+ this.setProperty('transition-timing-function', value);
+ }
+
+ public get textEmphasisColor(): string {
+ return this.getPropertyValue('text-emphasis-color');
+ }
+
+ public set textEmphasisColor(value: string) {
+ this.setProperty('text-emphasis-color', value);
+ }
+
+ public get textEmphasisPosition(): string {
+ return this.getPropertyValue('text-emphasis-position');
+ }
+
+ public set textEmphasisPosition(value: string) {
+ this.setProperty('text-emphasis-position', value);
+ }
+
+ public get textEmphasisStyle(): string {
+ return this.getPropertyValue('text-emphasis-style');
+ }
+
+ public set textEmphasisStyle(value: string) {
+ this.setProperty('text-emphasis-style', value);
+ }
+
+ public get unicodeBidi(): string {
+ return this.getPropertyValue('unicode-bidi');
+ }
+
+ public set unicodeBidi(value: string) {
+ this.setProperty('unicode-bidi', value);
+ }
+
+ public get unicodeRange(): string {
+ return this.getPropertyValue('unicode-range');
+ }
+
+ public set unicodeRange(value: string) {
+ this.setProperty('unicode-range', value);
+ }
+
+ public get userSelect(): string {
+ return this.getPropertyValue('user-select');
+ }
+
+ public set userSelect(value: string) {
+ this.setProperty('user-select', value);
+ }
+
+ public get userZoom(): string {
+ return this.getPropertyValue('user-zoom');
+ }
+
+ public set userZoom(value: string) {
+ this.setProperty('user-zoom', value);
+ }
+
+ public get vectorEffect(): string {
+ return this.getPropertyValue('vector-effect');
+ }
+
+ public set vectorEffect(value: string) {
+ this.setProperty('vector-effect', value);
+ }
+
+ public get verticalAlign(): string {
+ return this.getPropertyValue('vertical-align');
+ }
+
+ public set verticalAlign(value: string) {
+ this.setProperty('vertical-align', value);
+ }
+
+ public get visibility(): string {
+ return this.getPropertyValue('visibility');
+ }
+
+ public set visibility(value: string) {
+ this.setProperty('visibility', value);
+ }
+
+ public get whiteSpace(): string {
+ return this.getPropertyValue('white-space');
+ }
+
+ public set whiteSpace(value: string) {
+ this.setProperty('white-space', value);
+ }
+
+ public get widows(): string {
+ return this.getPropertyValue('widows');
+ }
+
+ public set widows(value: string) {
+ this.setProperty('widows', value);
+ }
+
+ public get width(): string {
+ return this.getPropertyValue('width');
+ }
+
+ public set width(value: string) {
+ this.setProperty('width', value);
+ }
+
+ public get willChange(): string {
+ return this.getPropertyValue('will-change');
+ }
+
+ public set willChange(value: string) {
+ this.setProperty('will-change', value);
+ }
+
+ public get wordBreak(): string {
+ return this.getPropertyValue('word-break');
+ }
+
+ public set wordBreak(value: string) {
+ this.setProperty('word-break', value);
+ }
+
+ public get wordSpacing(): string {
+ return this.getPropertyValue('word-spacing');
+ }
+
+ public set wordSpacing(value: string) {
+ this.setProperty('word-spacing', value);
+ }
+
+ public get wordWrap(): string {
+ return this.getPropertyValue('word-wrap');
+ }
+
+ public set wordWrap(value: string) {
+ this.setProperty('word-wrap', value);
+ }
+
+ public get writingMode(): string {
+ return this.getPropertyValue('writing-mode');
+ }
+
+ public set writingMode(value: string) {
+ this.setProperty('writing-mode', value);
+ }
+
+ public get x(): string {
+ return this.getPropertyValue('x');
+ }
+
+ public set x(value: string) {
+ this.setProperty('x', value);
+ }
+
+ public get y(): string {
+ return this.getPropertyValue('y');
+ }
+
+ public set y(value: string) {
+ this.setProperty('y', value);
+ }
+
+ public get zIndex(): string {
+ return this.getPropertyValue('z-index');
+ }
+
+ public set zIndex(value: string) {
+ this.setProperty('z-index', value);
+ }
+
+ public get zoom(): string {
+ return this.getPropertyValue('zoom');
+ }
+
+ public set zoom(value: string) {
+ this.setProperty('zoom', value);
+ }
+
+ public get containerType(): string {
+ return this.getPropertyValue('container-type');
+ }
+
+ public set containerType(value: string) {
+ this.setProperty('container-type', value);
+ }
+
+ public get containerName(): string {
+ return this.getPropertyValue('container-name');
+ }
+
+ public set containerName(value: string) {
+ this.setProperty('container-name', value);
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts
new file mode 100644
index 000000000..f62282808
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts
@@ -0,0 +1,35 @@
+/**
+ * CSS parser.
+ */
+export default class CSSStyleDeclarationCSSParser {
+ /**
+ * Class construtor.
+ *
+ * @param cssText CSS string.
+ * @param callback Callback.
+ */
+ public static parse(
+ cssText: string,
+ callback: (name: string, value: string, important: boolean) => void
+ ): void {
+ const parts = cssText.split(';');
+
+ for (const part of parts) {
+ if (part) {
+ const [name, value]: string[] = part.trim().split(':');
+ if (value) {
+ const trimmedName = name.trim();
+ const trimmedValue = value.trim();
+ if (trimmedName && trimmedValue) {
+ const important = trimmedValue.endsWith(' !important');
+ const valueWithoutImportant = trimmedValue.replace(' !important', '');
+
+ if (valueWithoutImportant) {
+ callback(trimmedName, valueWithoutImportant, important);
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts
new file mode 100644
index 000000000..b745e01ff
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts
@@ -0,0 +1,130 @@
+export default {
+ default: 'display: inline;',
+ A: '',
+ ABBR: '',
+ ADDRESS: 'display: block;',
+ AREA: '',
+ ARTICLE: 'display: block;',
+ ASIDE: 'display: block;',
+ AUDIO: 'display: none;',
+ B: '',
+ BASE: 'display: none;',
+ BDI: '',
+ BDO: '',
+ BLOCKQUAOTE: '',
+ BODY: 'display: block;',
+ TEMPLATE: 'display: none;',
+ FORM: 'display: block;',
+ INPUT: 'display: inline-block;',
+ TEXTAREA: 'display: inline-block;',
+ SCRIPT: 'display: none;',
+ IMG: '',
+ LINK: 'display: none;',
+ STYLE: 'display: none;',
+ LABEL: '',
+ SLOT: 'display: contents;',
+ SVG: '',
+ CIRCLE: '',
+ ELLIPSE: '',
+ LINE: '',
+ PATH: '',
+ POLYGON: '',
+ POLYLINE: '',
+ RECT: '',
+ STOP: '',
+ USE: '',
+ META: 'display: none;',
+ BLOCKQUOTE: 'display: block;',
+ BR: '',
+ BUTTON: 'display: inline-block;',
+ CANVAS: '',
+ CAPTION: 'display: table-caption;',
+ CITE: '',
+ CODE: '',
+ COL: 'display: table-column;',
+ COLGROUP: 'display: table-column-group;',
+ DATA: '',
+ DATALIST: 'display: none;',
+ DD: 'display: block;',
+ DEL: '',
+ DETAILS: 'display: block;',
+ DFN: '',
+ DIALOG: 'display: none;',
+ DIV: 'display: block;',
+ DL: 'display: block;',
+ DT: 'display: block;',
+ EM: '',
+ EMBED: '',
+ FIELDSET: 'display: block;',
+ FIGCAPTION: 'display: block;',
+ FIGURE: 'display: block;',
+ FOOTER: 'display: block;',
+ H1: 'display: block;',
+ H2: 'display: block;',
+ H3: 'display: block;',
+ H4: 'display: block;',
+ H5: 'display: block;',
+ H6: 'display: block;',
+ HEAD: 'display: none;',
+ HEADER: 'display: block;',
+ HGROUP: 'display: block;',
+ HR: 'display: block;',
+ HTML: 'display: block;direction: ltr;',
+ I: '',
+ IFRAME: '',
+ INS: '',
+ KBD: '',
+ LEGEND: 'display: block;',
+ LI: 'display: list-item;',
+ MAIN: 'display: block;',
+ MAP: '',
+ MARK: '',
+ MATH: '',
+ MENU: 'display: block;',
+ MENUITEM: '',
+ METER: 'display: inline-block;',
+ NAV: 'display: block;',
+ NOSCRIPT: '',
+ OBJECT: '',
+ OL: 'display: block;',
+ OPTGROUP: 'display: block;',
+ OPTION: 'display: block;',
+ OUTPUT: 'unicode-bidi: isolate;',
+ P: 'display: block;',
+ PARAM: 'display: none;',
+ PICTURE: '',
+ PRE: 'display: block;',
+ PROGRESS: 'display: inline-block;',
+ Q: '',
+ RB: '',
+ RP: 'display: none;',
+ RT: '',
+ RTC: '',
+ RUBY: '',
+ S: '',
+ SAMP: '',
+ SECTION: 'display: block;',
+ SELECT: 'display: inline-block;',
+ SMALL: '',
+ SOURCE: '',
+ SPAN: '',
+ STRONG: '',
+ SUB: '',
+ SUMMARY: 'display: block;',
+ SUP: '',
+ TABLE: 'display: table;',
+ TBODY: 'display: table-row-group;',
+ TD: 'display: table-cell;',
+ TFOOT: 'display: table-footer-group;',
+ TH: 'display: table-cell;',
+ THEAD: 'display: table-header-group;',
+ TIME: '',
+ TITLE: 'display: none;',
+ TR: 'display: table-row;',
+ TRACK: '',
+ U: '',
+ UL: 'display: block;',
+ VAR: '',
+ VIDEO: '',
+ WBR: ''
+};
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts
new file mode 100644
index 000000000..5a587a070
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts
@@ -0,0 +1,39 @@
+export default {
+ 'border-collapse': true,
+ 'border-spacing': true,
+ 'caption-side': true,
+ color: true,
+ cursor: true,
+ direction: true,
+ 'empty-cells': true,
+ 'font-family': true,
+ 'font-size': true,
+ 'font-style': true,
+ 'font-variant': true,
+ 'font-weight': true,
+ 'font-size-adjust': true,
+ 'font-stretch': true,
+ font: true,
+ 'letter-spacing': true,
+ 'line-height': true,
+ 'list-style-image': true,
+ 'list-style-position': true,
+ 'list-style-type': true,
+ 'list-style': true,
+ orphans: true,
+ quotes: true,
+ 'tab-size': true,
+ 'text-align': true,
+ 'text-align-last': true,
+ 'text-decoration-color': true,
+ 'text-indent': true,
+ 'text-justify': true,
+ 'text-shadow': true,
+ 'text-transform': true,
+ visibility: true,
+ 'white-space': true,
+ widows: true,
+ 'word-break': true,
+ 'word-spacing': true,
+ 'word-wrap': true
+};
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts
new file mode 100644
index 000000000..de3749d17
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts
@@ -0,0 +1,332 @@
+import IShadowRoot from '../../../nodes/shadow-root/IShadowRoot';
+import IElement from '../../../nodes/element/IElement';
+import IDocument from '../../../nodes/document/IDocument';
+import IHTMLStyleElement from '../../../nodes/html-style-element/IHTMLStyleElement';
+import INodeList from '../../../nodes/node/INodeList';
+import CSSStyleDeclarationPropertyManager from './CSSStyleDeclarationPropertyManager';
+import NodeTypeEnum from '../../../nodes/node/NodeTypeEnum';
+import CSSRuleTypeEnum from '../../CSSRuleTypeEnum';
+import CSSMediaRule from '../../rules/CSSMediaRule';
+import CSSRule from '../../CSSRule';
+import CSSStyleRule from '../../rules/CSSStyleRule';
+import CSSStyleDeclarationElementDefaultCSS from './CSSStyleDeclarationElementDefaultCSS';
+import CSSStyleDeclarationElementInheritedProperties from './CSSStyleDeclarationElementInheritedProperties';
+import CSSStyleDeclarationCSSParser from './CSSStyleDeclarationCSSParser';
+import QuerySelector from '../../../query-selector/QuerySelector';
+
+const CSS_VARIABLE_REGEXP = /var\( *(--[^) ]+)\)/g;
+
+type IStyleAndElement = {
+ element: IElement | IShadowRoot | IDocument;
+ cssTexts: Array<{ cssText: string; priorityWeight: number }>;
+};
+
+/**
+ * CSS Style Declaration utility
+ */
+export default class CSSStyleDeclarationElementStyle {
+ private cache: {
+ propertyManager: CSSStyleDeclarationPropertyManager;
+ cssText: string;
+ documentCacheID: number;
+ } = {
+ propertyManager: null,
+ cssText: null,
+ documentCacheID: null
+ };
+
+ private element: IElement;
+ private computed: boolean;
+
+ /**
+ * Constructor.
+ *
+ * @param element Element.
+ * @param [computed] Computed.
+ */
+ constructor(element: IElement, computed = false) {
+ this.element = element;
+ this.computed = computed;
+ }
+
+ /**
+ * Returns element style properties.
+ *
+ * @returns Element style properties.
+ */
+ public getElementStyle(): CSSStyleDeclarationPropertyManager {
+ if (this.computed) {
+ return this.getComputedElementStyle();
+ }
+
+ const cssText = this.element['_attributes']['style']?.value;
+
+ if (cssText) {
+ if (this.cache.propertyManager && this.cache.cssText === cssText) {
+ return this.cache.propertyManager;
+ }
+ this.cache.cssText = cssText;
+ this.cache.propertyManager = new CSSStyleDeclarationPropertyManager({ cssText });
+ return this.cache.propertyManager;
+ }
+
+ return new CSSStyleDeclarationPropertyManager();
+ }
+
+ /**
+ * Returns style sheets.
+ *
+ * @param element Element.
+ * @returns Style sheets.
+ */
+ private getComputedElementStyle(): CSSStyleDeclarationPropertyManager {
+ const documentElements: Array = [];
+ const parentElements: Array = [];
+ let styleAndElement: IStyleAndElement = {
+ element: this.element,
+ cssTexts: []
+ };
+ let shadowRootElements: Array = [];
+
+ if (!this.element.isConnected) {
+ return new CSSStyleDeclarationPropertyManager();
+ }
+
+ if (
+ this.cache.propertyManager &&
+ this.cache.documentCacheID === this.element.ownerDocument['_cacheID']
+ ) {
+ return this.cache.propertyManager;
+ }
+
+ this.cache.documentCacheID = this.element.ownerDocument['_cacheID'];
+
+ // Walks through all parent elements and stores them in an array with element and matching CSS text.
+ while (styleAndElement.element) {
+ if (styleAndElement.element.nodeType === NodeTypeEnum.elementNode) {
+ const rootNode = styleAndElement.element.getRootNode();
+ if (rootNode.nodeType === NodeTypeEnum.documentNode) {
+ documentElements.unshift(styleAndElement);
+ } else {
+ shadowRootElements.unshift(styleAndElement);
+ }
+ parentElements.unshift(styleAndElement);
+ }
+
+ if (styleAndElement.element === this.element.ownerDocument) {
+ const styleSheets = >(
+ this.element.ownerDocument.querySelectorAll('style,link[rel="stylesheet"]')
+ );
+
+ for (const styleSheet of styleSheets) {
+ const sheet = styleSheet.sheet;
+ if (sheet) {
+ this.parseCSSRules({
+ elements: documentElements,
+ cssRules: sheet.cssRules
+ });
+ }
+ }
+
+ styleAndElement = { element: null, cssTexts: [] };
+ } else if ((styleAndElement.element).host) {
+ const styleSheets = >(
+ (styleAndElement.element).querySelectorAll('style,link[rel="stylesheet"]')
+ );
+
+ styleAndElement = {
+ element: (styleAndElement.element).host,
+ cssTexts: []
+ };
+
+ for (const styleSheet of styleSheets) {
+ const sheet = styleSheet.sheet;
+ if (sheet) {
+ this.parseCSSRules({
+ elements: shadowRootElements,
+ cssRules: sheet.cssRules,
+ hostElement: styleAndElement
+ });
+ }
+ }
+ shadowRootElements = [];
+ } else {
+ styleAndElement = { element: styleAndElement.element.parentNode, cssTexts: [] };
+ }
+ }
+
+ // Concatenates all parent element CSS to one string.
+ const targetElement = parentElements[parentElements.length - 1];
+ let inheritedCSSText = '';
+
+ for (const parentElement of parentElements) {
+ if (parentElement !== targetElement) {
+ parentElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
+
+ if (CSSStyleDeclarationElementDefaultCSS[(parentElement.element).tagName]) {
+ inheritedCSSText +=
+ CSSStyleDeclarationElementDefaultCSS[(parentElement.element).tagName];
+ }
+
+ for (const cssText of parentElement.cssTexts) {
+ inheritedCSSText += cssText.cssText;
+ }
+
+ if (parentElement.element['_attributes']['style']?.value) {
+ inheritedCSSText += parentElement.element['_attributes']['style'].value;
+ }
+ }
+ }
+
+ const cssVariables: { [k: string]: string } = {};
+ const properties = {};
+ let targetCSSText =
+ CSSStyleDeclarationElementDefaultCSS[(targetElement.element).tagName] || '';
+
+ targetElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
+
+ for (const cssText of targetElement.cssTexts) {
+ targetCSSText += cssText.cssText;
+ }
+
+ if (targetElement.element['_attributes']['style']?.value) {
+ targetCSSText += targetElement.element['_attributes']['style'].value;
+ }
+
+ const combinedCSSText = inheritedCSSText + targetCSSText;
+
+ if (this.cache.propertyManager && this.cache.cssText === combinedCSSText) {
+ return this.cache.propertyManager;
+ }
+
+ // Parses the parent element CSS and stores CSS variables and inherited properties.
+ CSSStyleDeclarationCSSParser.parse(inheritedCSSText, (name, value, important) => {
+ if (name.startsWith('--')) {
+ const cssValue = this.getCSSValue(value, cssVariables);
+ if (cssValue) {
+ cssVariables[name] = cssValue;
+ }
+ return;
+ }
+
+ if (CSSStyleDeclarationElementInheritedProperties[name]) {
+ const cssValue = this.getCSSValue(value, cssVariables);
+ if (cssValue && (!properties[name]?.important || important)) {
+ properties[name] = {
+ value: cssValue,
+ important
+ };
+ }
+ }
+ });
+
+ // Parses the target element CSS.
+ CSSStyleDeclarationCSSParser.parse(targetCSSText, (name, value, important) => {
+ if (name.startsWith('--')) {
+ const cssValue = this.getCSSValue(value, cssVariables);
+ if (cssValue && (!properties[name]?.important || important)) {
+ cssVariables[name] = cssValue;
+ properties[name] = {
+ value,
+ important
+ };
+ }
+ } else {
+ const cssValue = this.getCSSValue(value, cssVariables);
+ if (cssValue && (!properties[name]?.important || important)) {
+ properties[name] = {
+ value: cssValue,
+ important
+ };
+ }
+ }
+ });
+
+ const propertyManager = new CSSStyleDeclarationPropertyManager();
+
+ for (const name of Object.keys(properties)) {
+ propertyManager.set(name, properties[name].value, properties[name].important);
+ }
+
+ this.cache.cssText = combinedCSSText;
+ this.cache.propertyManager = propertyManager;
+
+ return propertyManager;
+ }
+
+ /**
+ * Applies CSS text to elements.
+ *
+ * @param options Options.
+ * @param options.elements Elements.
+ * @param options.cssRules CSS rules.
+ * @param [options.hostElement] Host element.
+ */
+ private parseCSSRules(options: {
+ cssRules: CSSRule[];
+ elements: Array;
+ hostElement?: IStyleAndElement;
+ }): void {
+ if (!options.elements.length) {
+ return;
+ }
+
+ const defaultView = options.elements[0].element.ownerDocument.defaultView;
+
+ for (const rule of options.cssRules) {
+ if (rule.type === CSSRuleTypeEnum.styleRule) {
+ const selectorText: string = (rule).selectorText;
+ if (selectorText) {
+ if (selectorText.startsWith(':host')) {
+ if (options.hostElement) {
+ options.hostElement.cssTexts.push({
+ cssText: (rule)._cssText,
+ priorityWeight: 0
+ });
+ }
+ } else {
+ for (const element of options.elements) {
+ const matchResult = QuerySelector.match(element.element, selectorText);
+ if (matchResult.matches) {
+ element.cssTexts.push({
+ cssText: (rule)._cssText,
+ priorityWeight: matchResult.priorityWeight
+ });
+ }
+ }
+ }
+ }
+ } else if (
+ rule.type === CSSRuleTypeEnum.mediaRule &&
+ defaultView.matchMedia((rule).conditionalText).matches
+ ) {
+ this.parseCSSRules({
+ elements: options.elements,
+ cssRules: (rule).cssRules,
+ hostElement: options.hostElement
+ });
+ }
+ }
+ }
+
+ /**
+ * Returns CSS value.
+ *
+ * @param value Value.
+ * @param cssVariables CSS variables.
+ * @returns CSS value.
+ */
+ private getCSSValue(value: string, cssVariables: { [k: string]: string }): string {
+ const regexp = new RegExp(CSS_VARIABLE_REGEXP);
+ let newValue = value;
+ let match;
+ while ((match = regexp.exec(value)) !== null) {
+ const cssVariableValue = cssVariables[match[1]];
+ if (!cssVariableValue) {
+ return null;
+ }
+ newValue = newValue.replace(match[0], cssVariableValue);
+ }
+ return newValue;
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts
new file mode 100644
index 000000000..1270d51ae
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts
@@ -0,0 +1,743 @@
+import CSSStyleDeclarationValueParser from './CSSStyleDeclarationValueParser';
+import ICSSStyleDeclarationPropertyValue from './ICSSStyleDeclarationPropertyValue';
+
+/**
+ * Computed style property parser.
+ */
+export default class CSSStyleDeclarationPropertyGetParser {
+ /**
+ * Returns margin.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getMargin(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getPaddingLikeProperty(
+ ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'],
+ properties
+ );
+ }
+
+ /**
+ * Returns padding.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getPadding(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getPaddingLikeProperty(
+ ['padding-top', 'padding-right', 'padding-bottom', 'padding-left'],
+ properties
+ );
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorder(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties['border-top-width']?.value ||
+ properties['border-top-width']?.value !== properties['border-right-width']?.value ||
+ properties['border-top-width']?.value !== properties['border-bottom-width']?.value ||
+ properties['border-top-width']?.value !== properties['border-left-width']?.value ||
+ !properties['border-top-style']?.value ||
+ properties['border-top-style']?.value !== properties['border-right-style']?.value ||
+ properties['border-top-style']?.value !== properties['border-bottom-style']?.value ||
+ properties['border-top-style']?.value !== properties['border-left-style']?.value ||
+ !properties['border-top-color']?.value ||
+ properties['border-top-color']?.value !== properties['border-right-color']?.value ||
+ properties['border-top-color']?.value !== properties['border-bottom-color']?.value ||
+ properties['border-top-color']?.value !== properties['border-left-color']?.value ||
+ !properties['border-image-source']?.value ||
+ !properties['border-image-slice']?.value ||
+ !properties['border-image-width']?.value ||
+ !properties['border-image-outset']?.value ||
+ !properties['border-image-repeat']?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties['border-top-width'].important &&
+ properties['border-right-width'].important &&
+ properties['border-bottom-width'].important &&
+ properties['border-left-width'].important &&
+ properties['border-top-style'].important &&
+ properties['border-right-style'].important &&
+ properties['border-bottom-style'].important &&
+ properties['border-left-style'].important &&
+ properties['border-top-color'].important &&
+ properties['border-right-color'].important &&
+ properties['border-bottom-color'].important &&
+ properties['border-left-color'].important &&
+ properties['border-image-source'].important &&
+ properties['border-image-slice'].important &&
+ properties['border-image-width'].important &&
+ properties['border-image-outset'].important &&
+ properties['border-image-repeat'].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['border-top-width'].value) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['border-top-style'].value) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['border-top-color'].value) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['border-image-source'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['border-image-slice'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['border-image-width'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['border-image-outset'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['border-image-repeat'].value)
+ ) {
+ if (
+ properties['border-top-width'].value !== properties['border-top-style'].value ||
+ properties['border-top-width'].value !== properties['border-top-color'].value ||
+ properties['border-top-width'].value !== properties['border-image-source'].value ||
+ properties['border-top-width'].value !== properties['border-image-slice'].value ||
+ properties['border-top-width'].value !== properties['border-image-width'].value ||
+ properties['border-top-width'].value !== properties['border-image-outset'].value ||
+ properties['border-top-width'].value !== properties['border-image-repeat'].value
+ ) {
+ return null;
+ }
+
+ return {
+ important,
+ value: properties['border-top-width'].value
+ };
+ }
+
+ const values = [];
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['border-top-width'].value)) {
+ values.push(properties['border-top-width'].value);
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['border-top-style'].value)) {
+ values.push(properties['border-top-style'].value);
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['border-top-color'].value)) {
+ values.push(properties['border-top-color'].value);
+ }
+
+ return {
+ important,
+ value: values.join(' ')
+ };
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderTop(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getBorderTopRightBottomLeft('top', properties);
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderRight(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getBorderTopRightBottomLeft('right', properties);
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderBottom(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getBorderTopRightBottomLeft('bottom', properties);
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderLeft(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getBorderTopRightBottomLeft('left', properties);
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderColor(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getPaddingLikeProperty(
+ ['border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color'],
+ properties
+ );
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderWidth(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getPaddingLikeProperty(
+ ['border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width'],
+ properties
+ );
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderStyle(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getPaddingLikeProperty(
+ ['border-top-style', 'border-right-style', 'border-bottom-style', 'border-left-style'],
+ properties
+ );
+ }
+
+ /**
+ * Returns border radius.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderRadius(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ return this.getPaddingLikeProperty(
+ [
+ 'border-top-left-radius',
+ 'border-top-right-radius',
+ 'border-bottom-right-radius',
+ 'border-bottom-left-radius'
+ ],
+ properties
+ );
+ }
+
+ /**
+ * Returns border image.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBorderImage(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties['border-image-source']?.value ||
+ !properties['border-image-slice']?.value ||
+ !properties['border-image-width']?.value ||
+ !properties['border-image-outset']?.value ||
+ !properties['border-image-repeat']?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties['border-image-source'].important &&
+ properties['border-image-slice'].important &&
+ properties['border-image-width'].important &&
+ properties['border-image-outset'].important &&
+ properties['border-image-repeat'].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(properties['border-image-source'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['border-image-slice'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['border-image-width'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['border-image-outset'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['border-image-repeat'].value)
+ ) {
+ if (
+ properties['border-image-source'].value !== properties['border-image-slice'].value ||
+ properties['border-image-source'].value !== properties['border-image-width'].value ||
+ properties['border-image-source'].value !== properties['border-image-outset'].value ||
+ properties['border-image-source'].value !== properties['border-image-repeat'].value
+ ) {
+ return null;
+ }
+ return {
+ important,
+ value: properties['border-image-source'].value
+ };
+ }
+
+ return {
+ important,
+ value: `${properties['border-image-source'].value} ${properties['border-image-slice'].value} / ${properties['border-image-width'].value} / ${properties['border-image-outset'].value} ${properties['border-image-repeat'].value}`
+ };
+ }
+
+ /**
+ * Returns background.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBackground(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties['background-image']?.value ||
+ !properties['background-repeat']?.value ||
+ !properties['background-attachment']?.value ||
+ !properties['background-position-x']?.value ||
+ !properties['background-position-y']?.value ||
+ !properties['background-color']?.value ||
+ !properties['background-size']?.value ||
+ !properties['background-origin']?.value ||
+ !properties['background-clip']?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties['background-image'].important &&
+ properties['background-repeat'].important &&
+ properties['background-attachment'].important &&
+ properties['background-position-x'].important &&
+ properties['background-position-y'].important &&
+ properties['background-color'].important &&
+ properties['background-size'].important &&
+ properties['background-origin'].important &&
+ properties['background-clip'].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['background-image'].value) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['background-repeat'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['background-attachment'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['background-position-x'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['background-position-y'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['background-color'].value) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['background-size'].value) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties['background-origin'].value
+ ) ||
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(properties['background-clip'].value)
+ ) {
+ if (
+ properties['background-image'].value !== properties['background-repeat'].value ||
+ properties['background-image'].value !== properties['background-attachment'].value ||
+ properties['background-image'].value !== properties['background-position-x'].value ||
+ properties['background-image'].value !== properties['background-position-y'].value ||
+ properties['background-image'].value !== properties['background-color'].value ||
+ properties['background-image'].value !== properties['background-size'].value ||
+ properties['background-image'].value !== properties['background-origin'].value ||
+ properties['background-image'].value !== properties['background-clip'].value
+ ) {
+ return null;
+ }
+
+ return {
+ important,
+ value: properties['background-image'].value
+ };
+ }
+
+ const values = [];
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['background-image'].value)) {
+ values.push(properties['background-image'].value);
+ }
+
+ if (
+ !CSSStyleDeclarationValueParser.getInitial(properties['background-position-x'].value) &&
+ !CSSStyleDeclarationValueParser.getInitial(properties['background-position-y'].value) &&
+ !CSSStyleDeclarationValueParser.getInitial(properties['background-size'].value)
+ ) {
+ values.push(
+ `${properties['background-position-x'].value} ${properties['background-position-y'].value} / ${properties['background-size'].value}`
+ );
+ } else if (
+ !CSSStyleDeclarationValueParser.getInitial(properties['background-position-x'].value) &&
+ !CSSStyleDeclarationValueParser.getInitial(properties['background-position-y'].value)
+ ) {
+ values.push(
+ `${properties['background-position-x'].value} ${properties['background-position-y'].value}`
+ );
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['background-repeat'].value)) {
+ values.push(properties['background-repeat'].value);
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['background-attachment'].value)) {
+ values.push(properties['background-attachment'].value);
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['background-origin'].value)) {
+ values.push(properties['background-origin'].value);
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['background-clip'].value)) {
+ values.push(properties['background-clip'].value);
+ }
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties['background-color'].value)) {
+ values.push(properties['background-color'].value);
+ }
+
+ return {
+ important,
+ value: values.join(' ')
+ };
+ }
+
+ /**
+ * Returns background position.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getBackgroundPosition(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties['background-position-x']?.value ||
+ !properties['background-position-y']?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties['background-position-x'].important &&
+ properties['background-position-y'].important;
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(properties['background-position-x'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['background-position-y'].value)
+ ) {
+ if (properties['background-position-x'].value !== properties['background-position-y'].value) {
+ return null;
+ }
+
+ return {
+ important,
+ value: properties['background-position-x'].value
+ };
+ }
+
+ const positionX = properties['background-position-x'].value.replace(/ *, */g, ',').split(',');
+ const positionY = properties['background-position-y'].value.replace(/ *, */g, ',').split(',');
+ const parts = [];
+
+ for (let i = 0; i < positionX.length; i++) {
+ parts.push(`${positionX[i]} ${positionY[i]}`);
+ }
+
+ return {
+ important,
+ value: parts.join(', ')
+ };
+ }
+
+ /**
+ * Returns flex.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getFlex(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties['flex-grow']?.value ||
+ !properties['flex-shrink']?.value ||
+ !properties['flex-basis']?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties['flex-grow'].important &&
+ properties['flex-shrink'].important &&
+ properties['flex-basis'].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(properties['flex-grow'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['flex-shrink'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['flex-basis'].value)
+ ) {
+ if (
+ properties['flex-grow'].value !== properties['flex-shrink'].value ||
+ properties['flex-grow'].value !== properties['flex-basis'].value
+ ) {
+ return null;
+ }
+
+ return {
+ important,
+ value: properties['flex-grow'].value
+ };
+ }
+
+ return {
+ important,
+ value: `${properties['flex-grow'].value} ${properties['flex-shrink'].value} ${properties['flex-basis'].value}`
+ };
+ }
+
+ /**
+ * Returns flex.
+ *
+ * @param properties Properties.
+ * @returns Property value
+ */
+ public static getFont(properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties['font-size']?.value ||
+ !properties['font-family']?.value ||
+ !properties['font-weight']?.value ||
+ !properties['font-style']?.value ||
+ !properties['font-variant']?.value ||
+ !properties['font-stretch']?.value ||
+ !properties['line-height']?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties['font-size'].important &&
+ properties['font-family'].important &&
+ properties['font-weight'].important &&
+ properties['font-style'].important &&
+ properties['font-variant'].important &&
+ properties['font-stretch'].important &&
+ properties['line-height'].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(properties['font-size'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['font-family'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['font-weight'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['font-style'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['font-variant'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['font-stretch'].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties['line-height'].value)
+ ) {
+ if (
+ properties['font-size'].value !== properties['font-family'].value ||
+ properties['font-size'].value !== properties['font-weight'].value ||
+ properties['font-size'].value !== properties['font-style'].value ||
+ properties['font-size'].value !== properties['font-variant'].value ||
+ properties['font-size'].value !== properties['font-stretch'].value ||
+ properties['font-size'].value !== properties['line-height'].value
+ ) {
+ return null;
+ }
+
+ return {
+ important,
+ value: properties['font-size'].value
+ };
+ }
+
+ const values = [];
+
+ if (properties['font-style'].value !== 'normal') {
+ values.push(properties['font-style'].value);
+ }
+ if (properties['font-variant'].value !== 'normal') {
+ values.push(properties['font-variant'].value);
+ }
+ if (properties['font-weight'].value !== 'normal') {
+ values.push(properties['font-weight'].value);
+ }
+ if (properties['font-stretch'].value !== 'normal') {
+ values.push(properties['font-stretch'].value);
+ }
+
+ if (properties['line-height'].value !== 'normal') {
+ values.push(`${properties['font-size'].value} / ${properties['line-height'].value}`);
+ } else {
+ values.push(properties['font-size'].value);
+ }
+
+ values.push(properties['font-family'].value);
+
+ return {
+ important,
+ value: values.join(' ')
+ };
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param properties Properties.
+ * @param position
+ * @returns Property value
+ */
+ private static getBorderTopRightBottomLeft(
+ position: 'top' | 'right' | 'bottom' | 'left',
+ properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }
+ ): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties[`border-${position}-width`]?.value ||
+ !properties[`border-${position}-style`]?.value ||
+ !properties[`border-${position}-color`]?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties[`border-${position}-width`].important &&
+ properties[`border-${position}-style`].important &&
+ properties[`border-${position}-color`].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobalExceptInitial(
+ properties[`border-${position}-width`].value
+ ) &&
+ properties[`border-${position}-width`].value ===
+ properties[`border-${position}-style`].value &&
+ properties[`border-${position}-width`].value === properties[`border-${position}-color`].value
+ ) {
+ return {
+ important,
+ value: properties[`border-${position}-width`].value
+ };
+ }
+
+ const values = [];
+
+ if (!CSSStyleDeclarationValueParser.getInitial(properties[`border-${position}-width`].value)) {
+ values.push(properties[`border-${position}-width`].value);
+ }
+ if (!CSSStyleDeclarationValueParser.getInitial(properties[`border-${position}-style`]?.value)) {
+ values.push(properties[`border-${position}-style`].value);
+ }
+ if (!CSSStyleDeclarationValueParser.getInitial(properties[`border-${position}-color`]?.value)) {
+ values.push(properties[`border-${position}-color`].value);
+ }
+
+ return {
+ important,
+ value: values.join(' ')
+ };
+ }
+
+ /**
+ * Returns a padding like property.
+ *
+ * @param properties Properties.
+ * @param position
+ * @param propertyNames
+ * @returns Property value
+ */
+ private static getPaddingLikeProperty(
+ propertyNames: [string, string, string, string],
+ properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ }
+ ): ICSSStyleDeclarationPropertyValue {
+ if (
+ !properties[propertyNames[0]]?.value ||
+ !properties[propertyNames[1]]?.value ||
+ !properties[propertyNames[2]]?.value ||
+ !properties[propertyNames[3]]?.value
+ ) {
+ return null;
+ }
+
+ const important =
+ properties[propertyNames[0]].important &&
+ properties[propertyNames[1]].important &&
+ properties[propertyNames[2]].important &&
+ properties[propertyNames[3]].important;
+
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(properties[propertyNames[0]].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties[propertyNames[1]].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties[propertyNames[2]].value) ||
+ CSSStyleDeclarationValueParser.getGlobal(properties[propertyNames[3]].value)
+ ) {
+ if (
+ properties[propertyNames[0]].value !== properties[propertyNames[1]].value ||
+ properties[propertyNames[0]].value !== properties[propertyNames[2]].value ||
+ properties[propertyNames[0]].value !== properties[propertyNames[3]].value
+ ) {
+ return null;
+ }
+ return {
+ important,
+ value: properties[propertyNames[0]].value
+ };
+ }
+
+ const values = [properties[propertyNames[0]].value];
+
+ if (
+ properties[propertyNames[1]].value !== properties[propertyNames[0]].value ||
+ properties[propertyNames[2]].value !== properties[propertyNames[0]].value ||
+ properties[propertyNames[3]].value !== properties[propertyNames[1]].value
+ ) {
+ values.push(properties[propertyNames[1]].value);
+ }
+
+ if (
+ properties[propertyNames[2]].value !== properties[propertyNames[0]].value ||
+ properties[propertyNames[3]].value !== properties[propertyNames[1]].value
+ ) {
+ values.push(properties[propertyNames[2]].value);
+ }
+
+ if (properties[propertyNames[3]].value !== properties[propertyNames[1]].value) {
+ values.push(properties[propertyNames[3]].value);
+ }
+
+ return {
+ important,
+ value: values.join(' ')
+ };
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts
new file mode 100644
index 000000000..6e7b9e47d
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts
@@ -0,0 +1,592 @@
+import ICSSStyleDeclarationPropertyValue from './ICSSStyleDeclarationPropertyValue';
+import CSSStyleDeclarationPropertySetParser from './CSSStyleDeclarationPropertySetParser';
+import CSSStyleDeclarationValueParser from './CSSStyleDeclarationValueParser';
+import CSSStyleDeclarationPropertyGetParser from './CSSStyleDeclarationPropertyGetParser';
+import CSSStyleDeclarationCSSParser from './CSSStyleDeclarationCSSParser';
+
+const TO_STRING_SHORTHAND_PROPERTIES = [
+ ['margin'],
+ ['padding'],
+ ['border', ['border-width', 'border-style', 'border-color', 'border-image']],
+ ['border-radius'],
+ ['background', 'background-position'],
+ ['font']
+];
+
+/**
+ * Computed this.properties property parser.
+ */
+export default class CSSStyleDeclarationPropertyManager {
+ public properties: {
+ [k: string]: ICSSStyleDeclarationPropertyValue;
+ } = {};
+ private definedPropertyNames: { [k: string]: boolean } = {};
+
+ /**
+ * Class construtor.
+ *
+ * @param [options] Options.
+ * @param [options.cssText] CSS string.
+ */
+ constructor(options?: { cssText?: string }) {
+ if (options?.cssText) {
+ CSSStyleDeclarationCSSParser.parse(options.cssText, (name, value, important) => {
+ if (important || !this.get(name)?.important) {
+ this.set(name, value, important);
+ }
+ });
+ }
+ }
+
+ /**
+ * Returns property value.
+ *
+ * @param name Property name.
+ * @returns Property value.
+ */
+ public get(name: string): ICSSStyleDeclarationPropertyValue {
+ if (this.properties[name]) {
+ return this.properties[name];
+ }
+ switch (name) {
+ case 'margin':
+ return CSSStyleDeclarationPropertyGetParser.getMargin(this.properties);
+ case 'padding':
+ return CSSStyleDeclarationPropertyGetParser.getPadding(this.properties);
+ case 'border':
+ return CSSStyleDeclarationPropertyGetParser.getBorder(this.properties);
+ case 'border-top':
+ return CSSStyleDeclarationPropertyGetParser.getBorderTop(this.properties);
+ case 'border-right':
+ return CSSStyleDeclarationPropertyGetParser.getBorderRight(this.properties);
+ case 'border-bottom':
+ return CSSStyleDeclarationPropertyGetParser.getBorderBottom(this.properties);
+ case 'border-left':
+ return CSSStyleDeclarationPropertyGetParser.getBorderLeft(this.properties);
+ case 'border-color':
+ return CSSStyleDeclarationPropertyGetParser.getBorderColor(this.properties);
+ case 'border-style':
+ return CSSStyleDeclarationPropertyGetParser.getBorderStyle(this.properties);
+ case 'border-width':
+ return CSSStyleDeclarationPropertyGetParser.getBorderWidth(this.properties);
+ case 'border-radius':
+ return CSSStyleDeclarationPropertyGetParser.getBorderRadius(this.properties);
+ case 'border-image':
+ return CSSStyleDeclarationPropertyGetParser.getBorderImage(this.properties);
+ case 'background':
+ return CSSStyleDeclarationPropertyGetParser.getBackground(this.properties);
+ case 'background-position':
+ return CSSStyleDeclarationPropertyGetParser.getBackgroundPosition(this.properties);
+ case 'flex':
+ return CSSStyleDeclarationPropertyGetParser.getFlex(this.properties);
+ case 'font':
+ return CSSStyleDeclarationPropertyGetParser.getFont(this.properties);
+ }
+
+ return this.properties[name] || null;
+ }
+
+ /**
+ * Removes a property.
+ *
+ * @param name Property name.
+ */
+ public remove(name: string): void {
+ delete this.properties[name];
+ delete this.definedPropertyNames[name];
+
+ switch (name) {
+ case 'border':
+ delete this.properties['border-top-width'];
+ delete this.properties['border-right-width'];
+ delete this.properties['border-bottom-width'];
+ delete this.properties['border-left-width'];
+ delete this.properties['border-top-style'];
+ delete this.properties['border-right-style'];
+ delete this.properties['border-bottom-style'];
+ delete this.properties['border-left-style'];
+ delete this.properties['border-top-color'];
+ delete this.properties['border-right-color'];
+ delete this.properties['border-bottom-color'];
+ delete this.properties['border-left-color'];
+ delete this.properties['border-image-source'];
+ delete this.properties['border-image-slice'];
+ delete this.properties['border-image-width'];
+ delete this.properties['border-image-outset'];
+ delete this.properties['border-image-repeat'];
+ break;
+ case 'border-top':
+ delete this.properties['border-top-width'];
+ delete this.properties['border-top-style'];
+ delete this.properties['border-top-color'];
+ delete this.properties['border-image-source'];
+ delete this.properties['border-image-slice'];
+ delete this.properties['border-image-width'];
+ delete this.properties['border-image-outset'];
+ delete this.properties['border-image-repeat'];
+ break;
+ case 'border-right':
+ delete this.properties['border-right-width'];
+ delete this.properties['border-right-style'];
+ delete this.properties['border-right-color'];
+ delete this.properties['border-image-source'];
+ delete this.properties['border-image-slice'];
+ delete this.properties['border-image-width'];
+ delete this.properties['border-image-outset'];
+ delete this.properties['border-image-repeat'];
+ break;
+ case 'border-bottom':
+ delete this.properties['border-bottom-width'];
+ delete this.properties['border-bottom-style'];
+ delete this.properties['border-bottom-color'];
+ delete this.properties['border-image-source'];
+ delete this.properties['border-image-slice'];
+ delete this.properties['border-image-width'];
+ delete this.properties['border-image-outset'];
+ delete this.properties['border-image-repeat'];
+ break;
+ case 'border-left':
+ delete this.properties['border-left-width'];
+ delete this.properties['border-left-style'];
+ delete this.properties['border-left-color'];
+ delete this.properties['border-image-source'];
+ delete this.properties['border-image-slice'];
+ delete this.properties['border-image-width'];
+ delete this.properties['border-image-outset'];
+ delete this.properties['border-image-repeat'];
+ break;
+ case 'border-width':
+ delete this.properties['border-top-width'];
+ delete this.properties['border-right-width'];
+ delete this.properties['border-bottom-width'];
+ delete this.properties['border-left-width'];
+ break;
+ case 'border-style':
+ delete this.properties['border-top-style'];
+ delete this.properties['border-right-style'];
+ delete this.properties['border-bottom-style'];
+ delete this.properties['border-left-style'];
+ break;
+ case 'border-color':
+ delete this.properties['border-top-color'];
+ delete this.properties['border-right-color'];
+ delete this.properties['border-bottom-color'];
+ delete this.properties['border-left-color'];
+ break;
+ case 'border-image':
+ delete this.properties['border-image-source'];
+ delete this.properties['border-image-slice'];
+ delete this.properties['border-image-width'];
+ delete this.properties['border-image-outset'];
+ delete this.properties['border-image-repeat'];
+ break;
+ case 'border-radius':
+ delete this.properties['border-top-left-radius'];
+ delete this.properties['border-top-right-radius'];
+ delete this.properties['border-bottom-right-radius'];
+ delete this.properties['border-bottom-left-radius'];
+ break;
+ case 'background':
+ delete this.properties['background-color'];
+ delete this.properties['background-image'];
+ delete this.properties['background-repeat'];
+ delete this.properties['background-attachment'];
+ delete this.properties['background-position-x'];
+ delete this.properties['background-position-y'];
+ delete this.properties['background-size'];
+ delete this.properties['background-origin'];
+ delete this.properties['background-clip'];
+ break;
+ case 'background-position':
+ delete this.properties['background-position-x'];
+ delete this.properties['background-position-y'];
+ break;
+ case 'flex':
+ delete this.properties['flex-grow'];
+ delete this.properties['flex-shrink'];
+ delete this.properties['flex-basis'];
+ break;
+ case 'font':
+ delete this.properties['font-style'];
+ delete this.properties['font-variant'];
+ delete this.properties['font-weight'];
+ delete this.properties['font-stretch'];
+ delete this.properties['font-size'];
+ delete this.properties['line-height'];
+ delete this.properties['font-family'];
+ break;
+ case 'padding':
+ delete this.properties['padding-top'];
+ delete this.properties['padding-right'];
+ delete this.properties['padding-bottom'];
+ delete this.properties['padding-left'];
+ break;
+ case 'margin':
+ delete this.properties['margin-top'];
+ delete this.properties['margin-right'];
+ delete this.properties['margin-bottom'];
+ delete this.properties['margin-left'];
+ break;
+ }
+ }
+
+ /**
+ * Sets a property
+ *
+ * @param name Name.
+ * @param value Value.
+ * @param important Important.
+ */
+ public set(name: string, value: string, important: boolean): void {
+ if (value === null) {
+ this.remove(name);
+ return;
+ }
+
+ let properties = null;
+
+ switch (name) {
+ case 'border':
+ properties = CSSStyleDeclarationPropertySetParser.getBorder(value, important);
+ break;
+ case 'border-top':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderTop(value, important);
+ break;
+ case 'border-right':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderRight(value, important);
+ break;
+ case 'border-bottom':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderBottom(value, important);
+ break;
+ case 'border-left':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderLeft(value, important);
+ break;
+ case 'border-width':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderWidth(value, important);
+ break;
+ case 'border-style':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderStyle(value, important);
+ break;
+ case 'border-color':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderColor(value, important);
+ break;
+ case 'border-image':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderImage(value, important);
+ break;
+ case 'border-image-source':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderImageSource(value, important);
+ break;
+ case 'border-image-slice':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderImageSlice(value, important);
+ break;
+ case 'border-image-width':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderImageWidth(value, important);
+ break;
+ case 'border-image-outset':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderImageOutset(value, important);
+ break;
+ case 'border-image-repeat':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderImageRepeat(value, important);
+ break;
+ case 'border-top-width':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderTopWidth(value, important);
+ break;
+ case 'border-right-width':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderRightWidth(value, important);
+ break;
+ case 'border-bottom-width':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderBottomWidth(value, important);
+ break;
+ case 'border-left-width':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderLeftWidth(value, important);
+ break;
+ case 'border-top-color':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderTopColor(value, important);
+ break;
+ case 'border-right-color':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderRightColor(value, important);
+ break;
+ case 'border-bottom-color':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderBottomColor(value, important);
+ break;
+ case 'border-left-color':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderLeftColor(value, important);
+ break;
+ case 'border-top-style':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderTopStyle(value, important);
+ break;
+ case 'border-right-style':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderRightStyle(value, important);
+ break;
+ case 'border-bottom-style':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderBottomStyle(value, important);
+ break;
+ case 'border-left-style':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderLeftStyle(value, important);
+ break;
+ case 'border-radius':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderRadius(value, important);
+ break;
+ case 'border-top-left-radius':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderTopLeftRadius(value, important);
+ break;
+ case 'border-top-right-radius':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderTopRightRadius(value, important);
+ break;
+ case 'border-bottom-right-radius':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderBottomRightRadius(
+ value,
+ important
+ );
+ break;
+ case 'border-bottom-right-radius':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderBottomLeftRadius(
+ value,
+ important
+ );
+ break;
+ case 'border-collapse':
+ properties = CSSStyleDeclarationPropertySetParser.getBorderCollapse(value, important);
+ break;
+ case 'clear':
+ properties = CSSStyleDeclarationPropertySetParser.getClear(value, important);
+ break;
+ case 'clip':
+ properties = CSSStyleDeclarationPropertySetParser.getClip(value, important);
+ break;
+ case 'css-float':
+ properties = CSSStyleDeclarationPropertySetParser.getCSSFloat(value, important);
+ break;
+ case 'float':
+ properties = CSSStyleDeclarationPropertySetParser.getFloat(value, important);
+ break;
+ case 'display':
+ properties = CSSStyleDeclarationPropertySetParser.getDisplay(value, important);
+ break;
+ case 'direction':
+ properties = CSSStyleDeclarationPropertySetParser.getDirection(value, important);
+ break;
+ case 'flex':
+ properties = CSSStyleDeclarationPropertySetParser.getFlex(value, important);
+ break;
+ case 'flex-shrink':
+ properties = CSSStyleDeclarationPropertySetParser.getFlexShrink(value, important);
+ break;
+ case 'flex-grow':
+ properties = CSSStyleDeclarationPropertySetParser.getFlexGrow(value, important);
+ break;
+ case 'flex-basis':
+ properties = CSSStyleDeclarationPropertySetParser.getFlexBasis(value, important);
+ break;
+ case 'padding':
+ properties = CSSStyleDeclarationPropertySetParser.getPadding(value, important);
+ break;
+ case 'padding-top':
+ properties = CSSStyleDeclarationPropertySetParser.getPaddingTop(value, important);
+ break;
+ case 'padding-right':
+ properties = CSSStyleDeclarationPropertySetParser.getPaddingRight(value, important);
+ break;
+ case 'padding-bottom':
+ properties = CSSStyleDeclarationPropertySetParser.getPaddingBottom(value, important);
+ break;
+ case 'padding-left':
+ properties = CSSStyleDeclarationPropertySetParser.getPaddingLeft(value, important);
+ break;
+ case 'margin':
+ properties = CSSStyleDeclarationPropertySetParser.getMargin(value, important);
+ break;
+ case 'margin-top':
+ properties = CSSStyleDeclarationPropertySetParser.getMarginTop(value, important);
+ break;
+ case 'margin-right':
+ properties = CSSStyleDeclarationPropertySetParser.getMarginRight(value, important);
+ break;
+ case 'margin-bottom':
+ properties = CSSStyleDeclarationPropertySetParser.getMarginBottom(value, important);
+ break;
+ case 'margin-left':
+ properties = CSSStyleDeclarationPropertySetParser.getMarginLeft(value, important);
+ break;
+ case 'background':
+ properties = CSSStyleDeclarationPropertySetParser.getBackground(value, important);
+ break;
+ case 'background-image':
+ properties = CSSStyleDeclarationPropertySetParser.getBackgroundImage(value, important);
+ break;
+ case 'background-color':
+ properties = CSSStyleDeclarationPropertySetParser.getBackgroundColor(value, important);
+ break;
+ case 'background-repeat':
+ properties = CSSStyleDeclarationPropertySetParser.getBackgroundRepeat(value, important);
+ break;
+ case 'background-attachment':
+ properties = CSSStyleDeclarationPropertySetParser.getBackgroundAttachment(value, important);
+ break;
+ case 'background-position':
+ properties = CSSStyleDeclarationPropertySetParser.getBackgroundPosition(value, important);
+ break;
+ case 'width':
+ properties = CSSStyleDeclarationPropertySetParser.getWidth(value, important);
+ break;
+ case 'top':
+ properties = CSSStyleDeclarationPropertySetParser.getTop(value, important);
+ break;
+ case 'right':
+ properties = CSSStyleDeclarationPropertySetParser.getRight(value, important);
+ break;
+ case 'bottom':
+ properties = CSSStyleDeclarationPropertySetParser.getBottom(value, important);
+ break;
+ case 'left':
+ properties = CSSStyleDeclarationPropertySetParser.getLeft(value, important);
+ break;
+ case 'font':
+ properties = CSSStyleDeclarationPropertySetParser.getFont(value, important);
+ break;
+ case 'font-style':
+ properties = CSSStyleDeclarationPropertySetParser.getFontStyle(value, important);
+ break;
+ case 'font-variant':
+ properties = CSSStyleDeclarationPropertySetParser.getFontVariant(value, important);
+ break;
+ case 'font-weight':
+ properties = CSSStyleDeclarationPropertySetParser.getFontWeight(value, important);
+ break;
+ case 'font-stretch':
+ properties = CSSStyleDeclarationPropertySetParser.getFontStretch(value, important);
+ break;
+ case 'font-size':
+ properties = CSSStyleDeclarationPropertySetParser.getFontSize(value, important);
+ break;
+ case 'line-height':
+ properties = CSSStyleDeclarationPropertySetParser.getLineHeight(value, important);
+ break;
+ case 'font-family':
+ properties = CSSStyleDeclarationPropertySetParser.getFontFamily(value, important);
+ break;
+ case 'color':
+ properties = CSSStyleDeclarationPropertySetParser.getColor(value, important);
+ break;
+ case 'flood-color':
+ properties = CSSStyleDeclarationPropertySetParser.getFloodColor(value, important);
+ break;
+ case 'text-transform':
+ properties = CSSStyleDeclarationPropertySetParser.getTextTransform(value, important);
+ break;
+ case 'visibility':
+ properties = CSSStyleDeclarationPropertySetParser.getVisibility(value, important);
+ break;
+ default:
+ const trimmedValue = value.trim();
+ if (trimmedValue) {
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(trimmedValue);
+ properties = {
+ [name]: { value: globalValue || trimmedValue, important }
+ };
+ }
+ break;
+ }
+
+ if (properties !== null && Object.keys(properties).length > 0) {
+ this.definedPropertyNames[name] = true;
+ Object.assign(this.properties, properties);
+ }
+ }
+
+ /**
+ * Returns a clone.
+ *
+ * @returns Clone.
+ */
+ public clone(): CSSStyleDeclarationPropertyManager {
+ const _class = this.constructor;
+ const clone: CSSStyleDeclarationPropertyManager = new _class();
+
+ clone.properties = JSON.parse(JSON.stringify(this.properties));
+ clone.definedPropertyNames = Object.assign({}, this.definedPropertyNames);
+
+ return clone;
+ }
+
+ /**
+ * Returns size.
+ *
+ * @returns Size.
+ */
+ public size(): number {
+ return Object.keys(this.properties).length;
+ }
+
+ /**
+ * Returns property name.
+ *
+ * @param index Index.
+ * @returns Property name.
+ */
+ public item(index: number): string {
+ return Object.keys(this.properties)[index] || '';
+ }
+
+ /**
+ * Converts properties to string.
+ *
+ * @returns String.
+ */
+ public toString(): string {
+ const result = [];
+ const clone = this.clone();
+ const properties = {};
+
+ for (const shorthandPropertyGroup of TO_STRING_SHORTHAND_PROPERTIES) {
+ for (const shorthandProperty of shorthandPropertyGroup) {
+ if (Array.isArray(shorthandProperty)) {
+ let isMatch = false;
+ for (const childShorthandProperty of shorthandProperty) {
+ const property = clone.get(childShorthandProperty);
+ if (property) {
+ properties[childShorthandProperty] = property;
+ clone.remove(childShorthandProperty);
+ isMatch = true;
+ }
+ }
+ if (isMatch) {
+ break;
+ }
+ } else {
+ const property = clone.get(shorthandProperty);
+ if (property) {
+ properties[shorthandProperty] = property;
+ clone.remove(shorthandProperty);
+ break;
+ }
+ }
+ }
+ }
+
+ for (const name of Object.keys(clone.properties)) {
+ properties[name] = clone.get(name);
+ }
+
+ for (const definedPropertyName of Object.keys(this.definedPropertyNames)) {
+ const property = properties[definedPropertyName];
+ if (property) {
+ result.push(
+ `${definedPropertyName}: ${property.value}${property.important ? ' !important' : ''};`
+ );
+ delete properties[definedPropertyName];
+ }
+ }
+
+ for (const propertyName of Object.keys(properties)) {
+ const property = properties[propertyName];
+ if (property) {
+ result.push(
+ `${propertyName}: ${property.value}${property.important ? ' !important' : ''};`
+ );
+ }
+ }
+
+ return result.join(' ');
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts
new file mode 100644
index 000000000..9ba8c931a
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts
@@ -0,0 +1,3026 @@
+import CSSStyleDeclarationValueParser from './CSSStyleDeclarationValueParser';
+import ICSSStyleDeclarationPropertyValue from './ICSSStyleDeclarationPropertyValue';
+
+const RECT_REGEXP = /^rect\((.*)\)$/i;
+const BORDER_STYLE = [
+ 'none',
+ 'hidden',
+ 'dotted',
+ 'dashed',
+ 'solid',
+ 'double',
+ 'groove',
+ 'ridge',
+ 'inset',
+ 'outset'
+];
+const BORDER_WIDTH = ['thin', 'medium', 'thick'];
+const BORDER_COLLAPSE = ['separate', 'collapse'];
+const BACKGROUND_REPEAT = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'];
+const BACKGROUND_ORIGIN = ['border-box', 'padding-box', 'content-box'];
+const BACKGROUND_CLIP = ['border-box', 'padding-box', 'content-box'];
+const BACKGROUND_ATTACHMENT = ['scroll', 'fixed'];
+const FLEX_BASIS = ['auto', 'fill', 'content'];
+const CLEAR = ['none', 'left', 'right', 'both'];
+const FLOAT = ['none', 'left', 'right', 'inline-start', 'inline-end'];
+const SYSTEM_FONT = ['caption', 'icon', 'menu', 'message-box', 'small-caption', 'status-bar'];
+const FONT_WEIGHT = ['normal', 'bold', 'bolder', 'lighter'];
+const FONT_STYLE = ['normal', 'italic', 'oblique'];
+const FONT_SIZE = [
+ 'xx-small',
+ 'x-small',
+ 'small',
+ 'medium',
+ 'large',
+ 'x-large',
+ 'xx-large',
+ 'xxx-large',
+ 'smaller',
+ 'larger'
+];
+const FONT_STRETCH = [
+ 'ultra-condensed',
+ 'extra-condensed',
+ 'condensed',
+ 'semi-condensed',
+ 'normal',
+ 'semi-expanded',
+ 'expanded',
+ 'extra-expanded',
+ 'ultra-expanded'
+];
+
+const DISPLAY = [
+ /* Legacy values */
+ 'block',
+ 'inline',
+ 'inline-block',
+ 'flex',
+ 'inline-flex',
+ 'grid',
+ 'inline-grid',
+ 'flow-root',
+
+ /* Box generation */
+ 'none',
+ 'contents',
+
+ /* Two-value syntax */
+ 'block flow',
+ 'inline flow',
+ 'inline flow-root',
+ 'block flex',
+ 'inline flex',
+ 'block grid',
+ 'inline grid',
+ 'block flow-root',
+
+ /* Other values */
+ 'table',
+ 'table-row',
+ 'list-item'
+];
+const BORDER_IMAGE_REPEAT = ['stretch', 'repeat', 'round', 'space'];
+const TEXT_TRANSFORM = [
+ 'capitalize',
+ 'uppercase',
+ 'lowercase',
+ 'none',
+ 'full-width',
+ 'full-size-kana'
+];
+const VISIBILITY = ['visible', 'hidden', 'collapse'];
+
+/**
+ * Computed style property parser.
+ */
+export default class CSSStyleDeclarationPropertySetParser {
+ /**
+ * Returns border collapse.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderCollapse(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-collapse': { value: variable, important } };
+ }
+ const lowerValue = value.toLowerCase();
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ BORDER_COLLAPSE.includes(lowerValue)
+ ) {
+ return { 'border-collapse': { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns display.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getDisplay(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { display: { value: variable, important } };
+ }
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || DISPLAY.includes(lowerValue)) {
+ return { display: { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns direction.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getDirection(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { direction: { value: variable, important } };
+ }
+ const lowerValue = value.toLowerCase();
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ lowerValue === 'ltr' ||
+ lowerValue === 'rtl'
+ ) {
+ return { direction: { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { width: { value: variable, important } };
+ }
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getContentMeasurement(value);
+ return parsedValue ? { width: { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns top.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getTop(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { top: { value: variable, important } };
+ }
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getContentMeasurement(value);
+ return parsedValue ? { top: { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns top.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getRight(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { right: { value: variable, important } };
+ }
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getContentMeasurement(value);
+ return parsedValue ? { right: { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns top.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBottom(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { bottom: { value: variable, important } };
+ }
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getContentMeasurement(value);
+ return parsedValue ? { bottom: { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns top.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getLeft(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { left: { value: variable, important } };
+ }
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getContentMeasurement(value);
+ return parsedValue ? { left: { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns clear.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getClear(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { clear: { value: variable, important } };
+ }
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || CLEAR.includes(lowerValue)) {
+ return { clear: { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns clip
+ *
+ * Based on:
+ * https://github.com/jsdom/cssstyle/blob/master/lib/properties/clip.js
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getClip(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { clip: { value: variable, important } };
+ }
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || lowerValue === 'auto') {
+ return { clip: { value: lowerValue, important } };
+ }
+ const matches = lowerValue.match(RECT_REGEXP);
+ if (!matches) {
+ return null;
+ }
+ const parts = matches[1].split(/\s*,\s*/);
+ if (parts.length !== 4) {
+ return null;
+ }
+ for (const part of parts) {
+ if (!CSSStyleDeclarationValueParser.getMeasurement(part)) {
+ return null;
+ }
+ }
+ return { clip: { value, important } };
+ }
+
+ /**
+ * Returns float.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFloat(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { float: { value: variable, important } };
+ }
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || FLOAT.includes(lowerValue)) {
+ return { float: { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns float.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getCSSFloat(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'css-float': { value: variable, important } };
+ }
+ const float = this.getFloat(value, important);
+ return float ? { 'css-float': float['float'] } : null;
+ }
+
+ /**
+ * Returns border.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorder(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { border: { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderWidth(globalValue, important),
+ ...this.getBorderStyle(globalValue, important),
+ ...this.getBorderColor(globalValue, important),
+ ...this.getBorderImage(globalValue, important)
+ };
+ }
+
+ const properties = {
+ ...this.getBorderWidth('initial', important),
+ ...this.getBorderStyle('initial', important),
+ ...this.getBorderColor('initial', important),
+ ...this.getBorderImage('initial', important)
+ };
+
+ const parts = value.replace(/ *, */g, ',').split(/ +/);
+
+ for (const part of parts) {
+ const width = this.getBorderWidth(part, important);
+ const style = this.getBorderStyle(part, important);
+ const color = this.getBorderColor(part, important);
+
+ if (width === null && style === null && color === null) {
+ return null;
+ }
+
+ Object.assign(properties, width, style, color);
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns border width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-width': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderTopWidth(globalValue, important),
+ ...this.getBorderRightWidth(globalValue, important),
+ ...this.getBorderBottomWidth(globalValue, important),
+ ...this.getBorderLeftWidth(globalValue, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const top = this.getBorderTopWidth(parts[0], important);
+ const right = this.getBorderRightWidth(parts[1] || parts[0], important);
+ const bottom = this.getBorderBottomWidth(parts[2] || parts[0], important);
+ const left = this.getBorderLeftWidth(parts[3] || parts[1] || parts[0], important);
+
+ if (!top || !right || !bottom || !left) {
+ return null;
+ }
+
+ return {
+ ...top,
+ ...right,
+ ...bottom,
+ ...left
+ };
+ }
+ /**
+ * Returns border style.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderStyle(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-style': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderTopStyle(globalValue, important),
+ ...this.getBorderRightStyle(globalValue, important),
+ ...this.getBorderBottomStyle(globalValue, important),
+ ...this.getBorderLeftStyle(globalValue, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const top = this.getBorderTopStyle(parts[0], important);
+ const right = this.getBorderRightStyle(parts[1] || parts[0], important);
+ const bottom = this.getBorderBottomStyle(parts[2] || parts[0], important);
+ const left = this.getBorderLeftStyle(parts[3] || parts[1] || parts[0], important);
+
+ if (!top || !right || !bottom || !left) {
+ return null;
+ }
+
+ return {
+ ...top,
+ ...right,
+ ...bottom,
+ ...left
+ };
+ }
+
+ /**
+ * Returns border color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderColor(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-color': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderTopColor(globalValue, important),
+ ...this.getBorderRightColor(globalValue, important),
+ ...this.getBorderBottomColor(globalValue, important),
+ ...this.getBorderLeftColor(globalValue, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const top = this.getBorderTopColor(parts[0], important);
+ const right = this.getBorderRightColor(parts[1] || parts[0], important);
+ const bottom = this.getBorderBottomColor(parts[2] || parts[0], important);
+ const left = this.getBorderLeftColor(parts[3] || parts[1] || parts[0], important);
+
+ if (!top || !right || !bottom || !left) {
+ return null;
+ }
+
+ return {
+ ...top,
+ ...right,
+ ...bottom,
+ ...left
+ };
+ }
+
+ /**
+ * Returns border image.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderImage(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-image': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderImageSource(globalValue, important),
+ ...this.getBorderImageSlice(globalValue, important),
+ ...this.getBorderImageWidth(globalValue, important),
+ ...this.getBorderImageOutset(globalValue, important),
+ ...this.getBorderImageRepeat(globalValue, important)
+ };
+ }
+
+ let parsedValue = value.replace(/[ ]*\/[ ]*/g, '/');
+ const sourceMatch = parsedValue.match(/ *([a-zA-Z-]+\([^)]*\)) */);
+
+ if (sourceMatch) {
+ parsedValue = parsedValue.replace(sourceMatch[0], '');
+ }
+
+ const parts = parsedValue.split(/ +/);
+
+ if (sourceMatch) {
+ parts.push(sourceMatch[1]);
+ }
+
+ const properties = {
+ ...this.getBorderImageSource('none', important),
+ ...this.getBorderImageSlice('100%', important),
+ ...this.getBorderImageWidth('1', important),
+ ...this.getBorderImageOutset('0', important),
+ ...this.getBorderImageRepeat('stretch', important)
+ };
+
+ for (let i = 0, max = parts.length; i < max; i++) {
+ const part = parts[i];
+ const previousPart = i > 0 ? parts[i - 1] : '';
+
+ if (!part.startsWith('url') && part.includes('/')) {
+ const [slice, width, outset] = part.split('/');
+ const borderImageSlice =
+ this.getBorderImageSlice(`${previousPart} ${slice}`, important) ||
+ this.getBorderImageSlice(slice, important);
+ const borderImageWidth = this.getBorderImageWidth(width, important);
+ const borderImageOutset = outset && this.getBorderImageOutset(outset, important);
+
+ if (!borderImageSlice || !borderImageWidth || borderImageOutset === null) {
+ return null;
+ }
+
+ Object.assign(properties, borderImageSlice, borderImageWidth, borderImageOutset);
+ } else {
+ const slice =
+ this.getBorderImageSlice(`${previousPart} ${part}`, important) ||
+ this.getBorderImageSlice(part, important);
+ const source = this.getBorderImageSource(part, important);
+ const repeat = this.getBorderImageRepeat(part, important);
+
+ if (!slice && !source && !repeat) {
+ return null;
+ }
+
+ Object.assign(properties, slice, source, repeat);
+ }
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns border source.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderImageSource(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-image-source': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || lowerValue === 'none') {
+ return {
+ 'border-image-source': {
+ important,
+ value: lowerValue
+ }
+ };
+ }
+
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getURL(value) ||
+ CSSStyleDeclarationValueParser.getGradient(value);
+
+ if (!parsedValue) {
+ return null;
+ }
+
+ return {
+ 'border-image-source': {
+ important,
+ value: parsedValue
+ }
+ };
+ }
+
+ /**
+ * Returns border slice.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderImageSlice(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-image-slice': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return {
+ 'border-image-slice': {
+ important,
+ value: lowerValue
+ }
+ };
+ }
+
+ if (lowerValue !== lowerValue.trim()) {
+ return null;
+ }
+
+ const regexp = /(fill)|(calc\([^^)]+\))|([0-9]+%)|([0-9]+)/g;
+ const values = [];
+ let match;
+
+ while ((match = regexp.exec(lowerValue))) {
+ const previousCharacter = lowerValue[match.index - 1];
+ const nextCharacter = lowerValue[match.index + match[0].length];
+
+ if (
+ (previousCharacter && previousCharacter !== ' ') ||
+ (nextCharacter && nextCharacter !== ' ')
+ ) {
+ return null;
+ }
+
+ const fill = match[1] && 'fill';
+ const calc = match[2] && CSSStyleDeclarationValueParser.getCalc(match[2]);
+ const percentage = match[3] && CSSStyleDeclarationValueParser.getPercentage(match[3]);
+ const integer = match[4] && CSSStyleDeclarationValueParser.getInteger(match[4]);
+
+ if (!fill && !calc && !percentage && !integer) {
+ return null;
+ }
+
+ values.push(fill || calc || percentage || integer);
+ }
+
+ if (!values.length || values.length > 4) {
+ return null;
+ }
+
+ return {
+ 'border-image-slice': {
+ important,
+ value: values.join(' ')
+ }
+ };
+ }
+
+ /**
+ * Returns border width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderImageWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-image-width': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return {
+ 'border-image-width': {
+ important,
+ value: lowerValue
+ }
+ };
+ }
+
+ const parts = lowerValue.split(/ +/);
+
+ if (parts.length > 4) {
+ return null;
+ }
+
+ for (const part of parts) {
+ if (
+ !CSSStyleDeclarationValueParser.getInteger(part) &&
+ !CSSStyleDeclarationValueParser.getAutoMeasurement(part)
+ ) {
+ return null;
+ }
+ }
+
+ return {
+ 'border-image-width': {
+ important,
+ value
+ }
+ };
+ }
+
+ /**
+ * Returns border outset.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderImageOutset(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-image-outset': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return {
+ 'border-image-outset': {
+ important,
+ value: lowerValue
+ }
+ };
+ }
+
+ const parts = value.split(/ +/);
+
+ if (parts.length > 4) {
+ return null;
+ }
+
+ for (const part of parts) {
+ if (
+ !CSSStyleDeclarationValueParser.getLength(part) &&
+ !CSSStyleDeclarationValueParser.getFloat(part)
+ ) {
+ return null;
+ }
+ }
+
+ return {
+ 'border-image-outset': {
+ important,
+ value
+ }
+ };
+ }
+
+ /**
+ * Returns border repeat.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderImageRepeat(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-image-repeat': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return {
+ 'border-image-repeat': {
+ important,
+ value: lowerValue
+ }
+ };
+ }
+
+ const parts = lowerValue.split(/ +/);
+
+ if (parts.length > 2) {
+ return null;
+ }
+
+ for (const part of parts) {
+ if (!BORDER_IMAGE_REPEAT.includes(part)) {
+ return null;
+ }
+ }
+
+ return {
+ 'border-image-repeat': {
+ important,
+ value
+ }
+ };
+ }
+
+ /**
+ * Returns border width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderTopWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-top-width': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ const parsedValue =
+ BORDER_WIDTH.includes(lowerValue) || CSSStyleDeclarationValueParser.getGlobal(lowerValue)
+ ? lowerValue
+ : CSSStyleDeclarationValueParser.getLength(value);
+ if (parsedValue) {
+ return {
+ 'border-top-width': { value: parsedValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderRightWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-right-width': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ const parsedValue =
+ BORDER_WIDTH.includes(lowerValue) || CSSStyleDeclarationValueParser.getGlobal(lowerValue)
+ ? lowerValue
+ : CSSStyleDeclarationValueParser.getLength(value);
+ if (parsedValue) {
+ return {
+ 'border-right-width': { value: parsedValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderBottomWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-bottom-width': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ const parsedValue =
+ BORDER_WIDTH.includes(lowerValue) || CSSStyleDeclarationValueParser.getGlobal(lowerValue)
+ ? lowerValue
+ : CSSStyleDeclarationValueParser.getLength(value);
+ if (parsedValue) {
+ return {
+ 'border-bottom-width': { value: parsedValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border width.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderLeftWidth(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-left-width': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ const parsedValue =
+ BORDER_WIDTH.includes(lowerValue) || CSSStyleDeclarationValueParser.getGlobal(lowerValue)
+ ? lowerValue
+ : CSSStyleDeclarationValueParser.getLength(value);
+ if (parsedValue) {
+ return {
+ 'border-left-width': { value: parsedValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border style.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderTopStyle(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-top-style': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || BORDER_STYLE.includes(lowerValue)) {
+ return {
+ 'border-top-style': { value: lowerValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border style.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderRightStyle(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-right-style': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || BORDER_STYLE.includes(lowerValue)) {
+ return {
+ 'border-right-style': { value: lowerValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border style.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderBottomStyle(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-bottom-style': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || BORDER_STYLE.includes(lowerValue)) {
+ return {
+ 'border-bottom-style': { value: lowerValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border style.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderLeftStyle(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-left-style': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || BORDER_STYLE.includes(lowerValue)) {
+ return {
+ 'border-left-style': { value: lowerValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns border color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderTopColor(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-top-color': { value: variable, important } };
+ }
+
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+ return color
+ ? {
+ 'border-top-color': { value: color, important }
+ }
+ : null;
+ }
+
+ /**
+ * Returns border color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderRightColor(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-right-color': { value: variable, important } };
+ }
+
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+ return color
+ ? {
+ 'border-right-color': { value: color, important }
+ }
+ : null;
+ }
+
+ /**
+ * Returns border color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderBottomColor(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-bottom-color': { value: variable, important } };
+ }
+
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+ return color
+ ? {
+ 'border-bottom-color': { value: color, important }
+ }
+ : null;
+ }
+
+ /**
+ * Returns border color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBorderLeftColor(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-left-color': { value: variable, important } };
+ }
+
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+ return color
+ ? {
+ 'border-left-color': { value: color, important }
+ }
+ : null;
+ }
+
+ /**
+ * Returns border radius.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderRadius(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-radius': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderTopLeftRadius(globalValue, important),
+ ...this.getBorderTopRightRadius(globalValue, important),
+ ...this.getBorderBottomRightRadius(globalValue, important),
+ ...this.getBorderBottomLeftRadius(globalValue, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const topLeft = this.getBorderTopLeftRadius(parts[0], important);
+ const topRight = this.getBorderTopRightRadius(parts[1] || parts[0], important);
+ const bottomRight = this.getBorderBottomRightRadius(parts[2] || parts[0], important);
+ const bottomLeft = this.getBorderBottomLeftRadius(parts[3] || parts[1] || parts[0], important);
+
+ if (!topLeft || !topRight || !bottomRight || !bottomLeft) {
+ return null;
+ }
+
+ return {
+ ...topLeft,
+ ...topRight,
+ ...bottomRight,
+ ...bottomLeft
+ };
+ }
+
+ /**
+ * Returns border radius.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderTopLeftRadius(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-top-left-radius': { value: variable, important } };
+ }
+
+ const radius =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return radius ? { 'border-top-left-radius': { important, value: radius } } : null;
+ }
+
+ /**
+ * Returns border radius.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderTopRightRadius(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-top-right-radius': { value: variable, important } };
+ }
+
+ const radius =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return radius ? { 'border-top-right-radius': { important, value: radius } } : null;
+ }
+
+ /**
+ * Returns border radius.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderBottomRightRadius(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-bottom-right-radius': { value: variable, important } };
+ }
+
+ const radius =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return radius ? { 'border-bottom-right-radius': { important, value: radius } } : null;
+ }
+
+ /**
+ * Returns border radius.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderBottomLeftRadius(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-bottom-left-radius': { value: variable, important } };
+ }
+
+ const radius =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return radius ? { 'border-bottom-left-radius': { important, value: radius } } : null;
+ }
+
+ /**
+ * Returns border top, right, bottom or left.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderTop(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-top': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderTopWidth(globalValue, important),
+ ...this.getBorderTopStyle(globalValue, important),
+ ...this.getBorderTopColor(globalValue, important)
+ };
+ }
+
+ const properties = {
+ ...this.getBorderTopWidth('initial', important),
+ ...this.getBorderTopStyle('initial', important),
+ ...this.getBorderTopColor('initial', important)
+ };
+
+ const parts = value.split(/ +/);
+
+ for (const part of parts) {
+ const width = this.getBorderTopWidth(part, important);
+ const style = this.getBorderTopStyle(part, important);
+ const color = this.getBorderTopColor(part, important);
+
+ if (width === null && style === null && color === null) {
+ return null;
+ }
+
+ Object.assign(properties, width, style, color);
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns border top, right, bottom or left.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderRight(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-right': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderRightWidth(globalValue, important),
+ ...this.getBorderRightStyle(globalValue, important),
+ ...this.getBorderRightColor(globalValue, important)
+ };
+ }
+
+ const properties = {
+ ...this.getBorderRightWidth('initial', important),
+ ...this.getBorderRightStyle('initial', important),
+ ...this.getBorderRightColor('initial', important)
+ };
+
+ const parts = value.split(/ +/);
+
+ for (const part of parts) {
+ const width = this.getBorderRightWidth(part, important);
+ const style = this.getBorderRightStyle(part, important);
+ const color = this.getBorderRightColor(part, important);
+
+ if (width === null && style === null && color === null) {
+ return null;
+ }
+
+ Object.assign(properties, width, style, color);
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns border top, right, bottom or left.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderBottom(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-bottom': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderBottomWidth(globalValue, important),
+ ...this.getBorderBottomStyle(globalValue, important),
+ ...this.getBorderBottomColor(globalValue, important)
+ };
+ }
+
+ const properties = {
+ ...this.getBorderBottomWidth('initial', important),
+ ...this.getBorderBottomStyle('initial', important),
+ ...this.getBorderBottomColor('initial', important)
+ };
+
+ const parts = value.split(/ +/);
+
+ for (const part of parts) {
+ const width = this.getBorderBottomWidth(part, important);
+ const style = this.getBorderBottomStyle(part, important);
+ const color = this.getBorderBottomColor(part, important);
+
+ if (width === null && style === null && color === null) {
+ return null;
+ }
+
+ Object.assign(properties, width, style, color);
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns border top, right, bottom or left.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBorderLeft(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'border-left': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBorderLeftWidth(globalValue, important),
+ ...this.getBorderLeftStyle(globalValue, important),
+ ...this.getBorderLeftColor(globalValue, important)
+ };
+ }
+
+ const properties = {
+ ...this.getBorderLeftWidth('initial', important),
+ ...this.getBorderLeftStyle('initial', important),
+ ...this.getBorderLeftColor('initial', important)
+ };
+
+ const parts = value.split(/ +/);
+
+ for (const part of parts) {
+ const width = this.getBorderLeftWidth(part, important);
+ const style = this.getBorderLeftStyle(part, important);
+ const color = this.getBorderLeftColor(part, important);
+
+ if (width === null && style === null && color === null) {
+ return null;
+ }
+
+ Object.assign(properties, width, style, color);
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns padding.
+ *
+ * @param value Value.
+ * @param important Important.
+ */
+ public static getPadding(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { padding: { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getPaddingTop(globalValue, important),
+ ...this.getPaddingRight(globalValue, important),
+ ...this.getPaddingBottom(globalValue, important),
+ ...this.getPaddingLeft(globalValue, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const top = this.getPaddingTop(parts[0], important);
+ const right = this.getPaddingRight(parts[1] || parts[0], important);
+ const bottom = this.getPaddingBottom(parts[2] || parts[0], important);
+ const left = this.getPaddingLeft(parts[3] || parts[1] || parts[0], important);
+
+ if (!top || !right || !bottom || !left) {
+ return null;
+ }
+
+ return {
+ ...top,
+ ...right,
+ ...bottom,
+ ...left
+ };
+ }
+
+ /**
+ * Returns padding top.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getPaddingTop(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'padding-top': { value: variable, important } };
+ }
+
+ const padding =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return padding ? { 'padding-top': { value: padding, important } } : null;
+ }
+
+ /**
+ * Returns padding right.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getPaddingRight(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'padding-right': { value: variable, important } };
+ }
+
+ const padding =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return padding ? { 'padding-right': { value: padding, important } } : null;
+ }
+
+ /**
+ * Returns padding bottom.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getPaddingBottom(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'padding-bottom': { value: variable, important } };
+ }
+
+ const padding =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return padding ? { 'padding-bottom': { value: padding, important } } : null;
+ }
+
+ /**
+ * Returns padding left.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getPaddingLeft(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'padding-left': { value: variable, important } };
+ }
+
+ const padding =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return padding ? { 'padding-left': { value: padding, important } } : null;
+ }
+
+ /**
+ * Returns margin.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getMargin(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { margin: { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getMarginTop(globalValue, important),
+ ...this.getMarginRight(globalValue, important),
+ ...this.getMarginBottom(globalValue, important),
+ ...this.getMarginLeft(globalValue, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const top = this.getMarginTop(parts[0], important);
+ const right = this.getMarginRight(parts[1] || parts[0], important);
+ const bottom = this.getMarginBottom(parts[2] || parts[0], important);
+ const left = this.getMarginLeft(parts[3] || parts[1] || parts[0], important);
+
+ if (!top || !right || !bottom || !left) {
+ return null;
+ }
+
+ return {
+ ...top,
+ ...right,
+ ...bottom,
+ ...left
+ };
+ }
+
+ /**
+ * Returns margin top.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getMarginTop(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'margin-top': { value: variable, important } };
+ }
+
+ const margin =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getAutoMeasurement(value);
+ return margin ? { 'margin-top': { value: margin, important } } : null;
+ }
+
+ /**
+ * Returns margin right.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getMarginRight(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'margin-right': { value: variable, important } };
+ }
+
+ const margin =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getAutoMeasurement(value);
+ return margin ? { 'margin-right': { value: margin, important } } : null;
+ }
+
+ /**
+ * Returns margin right.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getMarginBottom(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'margin-bottom': { value: variable, important } };
+ }
+
+ const margin =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getAutoMeasurement(value);
+ return margin ? { 'margin-bottom': { value: margin, important } } : null;
+ }
+
+ /**
+ * Returns margin left.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getMarginLeft(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'margin-left': { value: variable, important } };
+ }
+
+ const margin =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getAutoMeasurement(value);
+ return margin ? { 'margin-left': { value: margin, important } } : null;
+ }
+
+ /**
+ * Returns flex.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getFlex(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { flex: { value: variable, important } };
+ }
+
+ const lowerValue = value.trim().toLowerCase();
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getFlexGrow(globalValue, important),
+ ...this.getFlexShrink(globalValue, important),
+ ...this.getFlexBasis(globalValue, important)
+ };
+ }
+
+ switch (lowerValue) {
+ case 'none':
+ return {
+ ...this.getFlexGrow('0', important),
+ ...this.getFlexShrink('0', important),
+ ...this.getFlexBasis('auto', important)
+ };
+ case 'auto':
+ return {
+ ...this.getFlexGrow('1', important),
+ ...this.getFlexShrink('1', important),
+ ...this.getFlexBasis('auto', important)
+ };
+ }
+
+ const measurement = CSSStyleDeclarationValueParser.getContentMeasurement(lowerValue);
+
+ if (measurement) {
+ return {
+ ...this.getFlexGrow('1', important),
+ ...this.getFlexShrink('1', important),
+ ...this.getFlexBasis(measurement, important)
+ };
+ }
+
+ const parts = value.split(/ +/);
+ const flexGrow = this.getFlexGrow(parts[0], important);
+ const flexShrink = this.getFlexShrink(parts[1] || '1', important);
+ const flexBasis = this.getFlexBasis(parts[2] || '0%', important);
+
+ if (!flexGrow || !flexShrink || !flexBasis) {
+ return null;
+ }
+
+ return {
+ ...flexGrow,
+ ...flexShrink,
+ ...flexBasis
+ };
+ }
+
+ /**
+ * Returns flex basis.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFlexBasis(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'flex-basis': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || FLEX_BASIS.includes(lowerValue)) {
+ return { 'flex-basis': { value: lowerValue, important } };
+ }
+ const measurement = CSSStyleDeclarationValueParser.getContentMeasurement(lowerValue);
+ return measurement ? { 'flex-basis': { value: measurement, important } } : null;
+ }
+
+ /**
+ * Returns flex shrink.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFlexShrink(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'flex-shrink': { value: variable, important } };
+ }
+
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getFloat(value);
+ return parsedValue ? { 'flex-shrink': { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns flex grow.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFlexGrow(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'flex-grow': { value: variable, important } };
+ }
+
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getFloat(value);
+ return parsedValue ? { 'flex-grow': { value: parsedValue, important } } : null;
+ }
+
+ /**
+ * Returns background.
+ *
+ * @param name Name.
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values.
+ */
+ public static getBackground(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { background: { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return {
+ ...this.getBackgroundImage(globalValue, important),
+ ...this.getBackgroundPosition(globalValue, important),
+ ...this.getBackgroundSize(globalValue, important),
+ ...this.getBackgroundRepeat(globalValue, important),
+ ...this.getBackgroundAttachment(globalValue, important),
+ ...this.getBackgroundOrigin(globalValue, important),
+ ...this.getBackgroundClip(globalValue, important),
+ ...this.getBackgroundColor(globalValue, important)
+ };
+ }
+
+ const properties = {
+ ...this.getBackgroundImage('initial', important),
+ ...this.getBackgroundPosition('initial', important),
+ ...this.getBackgroundSize('initial', important),
+ ...this.getBackgroundRepeat('initial', important),
+ ...this.getBackgroundAttachment('initial', important),
+ ...this.getBackgroundOrigin('initial', important),
+ ...this.getBackgroundClip('initial', important),
+ ...this.getBackgroundColor('initial', important)
+ };
+
+ const parts = value
+ .replace(/[ ]*,[ ]*/g, ',')
+ .replace(/[ ]*\/[ ]*/g, '/')
+ .split(/ +/);
+
+ const backgroundPositions = [];
+
+ for (const part of parts) {
+ if (!part.startsWith('url') && part.includes('/')) {
+ const [position, size] = part.split('/');
+ const backgroundPositionX = this.getBackgroundPositionX(position, important);
+ const backgroundPositionY = this.getBackgroundPositionY(position, important);
+
+ const backgroundSize = this.getBackgroundSize(size, important);
+
+ if ((!backgroundPositionX && !backgroundPositionY) || !backgroundSize) {
+ return null;
+ }
+
+ if (backgroundPositionY) {
+ backgroundPositions.push(backgroundPositionY['background-position-y'].value);
+ } else if (backgroundPositionX) {
+ backgroundPositions.push(backgroundPositionX['background-position-x'].value);
+ }
+
+ Object.assign(properties, backgroundSize);
+ } else {
+ const backgroundImage = this.getBackgroundImage(part, important);
+ const backgroundRepeat = this.getBackgroundRepeat(part, important);
+ const backgroundAttachment = this.getBackgroundAttachment(part, important);
+ const backgroundPositionX = this.getBackgroundPositionX(part, important);
+ const backgroundPositionY = this.getBackgroundPositionY(part, important);
+ const backgroundColor = this.getBackgroundColor(part, important);
+ const backgroundOrigin = this.getBackgroundOrigin(part, important);
+ const backgroundClip = this.getBackgroundClip(part, important);
+
+ if (
+ !backgroundImage &&
+ !backgroundRepeat &&
+ !backgroundAttachment &&
+ !backgroundPositionX &&
+ !backgroundPositionY &&
+ !backgroundColor &&
+ !backgroundOrigin &&
+ !backgroundClip
+ ) {
+ return null;
+ }
+
+ if (backgroundPositionX) {
+ backgroundPositions.push(backgroundPositionX['background-position-x'].value);
+ } else if (backgroundPositionY) {
+ backgroundPositions.push(backgroundPositionY['background-position-y'].value);
+ }
+
+ Object.assign(
+ properties,
+ backgroundImage,
+ backgroundRepeat,
+ backgroundAttachment,
+ backgroundColor,
+ backgroundOrigin,
+ backgroundClip
+ );
+ }
+ }
+
+ if (backgroundPositions.length) {
+ Object.assign(
+ properties,
+ this.getBackgroundPosition(backgroundPositions.join(' '), important)
+ );
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns background size.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundSize(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-size': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return { 'background-size': { value: lowerValue, important } };
+ }
+
+ const imageParts = lowerValue.split(',');
+ const parsed = [];
+
+ for (const imagePart of imageParts) {
+ const parts = imagePart.trim().split(' ');
+ if (parts.length !== 1 && parts.length !== 2) {
+ return null;
+ }
+ if (parts.length === 1) {
+ if (
+ parts[0] !== 'cover' &&
+ parts[0] !== 'contain' &&
+ !CSSStyleDeclarationValueParser.getAutoMeasurement(parts[0])
+ ) {
+ return null;
+ }
+ parsed.push(parts[0]);
+ } else {
+ if (
+ !CSSStyleDeclarationValueParser.getAutoMeasurement(parts[0]) ||
+ !CSSStyleDeclarationValueParser.getAutoMeasurement(parts[1])
+ ) {
+ return null;
+ }
+ parsed.push(`${parts[0]} ${parts[1]}`);
+ }
+ }
+ if (parsed.length === 1) {
+ return { 'background-size': { value: parsed.join(', '), important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns background origin.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundOrigin(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-origin': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ BACKGROUND_ORIGIN.includes(lowerValue)
+ ) {
+ return { 'background-origin': { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns background clip.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundClip(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-clip': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ BACKGROUND_CLIP.includes(lowerValue)
+ ) {
+ return { 'background-clip': { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns background repeat.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundRepeat(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-repeat': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ BACKGROUND_REPEAT.includes(lowerValue)
+ ) {
+ return { 'background-repeat': { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns background attachment.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundAttachment(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-attachment': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ BACKGROUND_ATTACHMENT.includes(lowerValue)
+ ) {
+ return { 'background-attachment': { value: lowerValue, important } };
+ }
+ return null;
+ }
+
+ /**
+ * Returns background position.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundPosition(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-position': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+ if (globalValue) {
+ return {
+ ...this.getBackgroundPositionX(globalValue, important),
+ ...this.getBackgroundPositionY(globalValue, important)
+ };
+ }
+
+ const imageParts = value.replace(/ *, */g, ',').split(',');
+ let x = '';
+ let y = '';
+
+ for (const imagePart of imageParts) {
+ const parts = imagePart.trim().split(/ +/);
+
+ if (x) {
+ x += ',';
+ y += ',';
+ }
+
+ switch (parts.length) {
+ case 1:
+ if (parts[0] === 'top' || parts[0] === 'bottom') {
+ x += 'center';
+ y += parts[0];
+ } else if (parts[0] === 'left' || parts[0] === 'right') {
+ x += parts[0];
+ y += 'center';
+ } else if (parts[0] === 'center') {
+ x += 'center';
+ y += 'center';
+ }
+ break;
+ case 2:
+ x += parts[0] === 'top' || parts[0] === 'bottom' ? parts[1] : parts[0];
+ y += parts[0] === 'top' || parts[0] === 'bottom' ? parts[0] : parts[1];
+ break;
+ case 3:
+ if (
+ parts[0] === 'top' ||
+ parts[0] === 'bottom' ||
+ parts[1] === 'left' ||
+ parts[1] === 'right' ||
+ parts[2] === 'left' ||
+ parts[2] === 'right'
+ ) {
+ if (CSSStyleDeclarationValueParser.getMeasurement(parts[1])) {
+ x += parts[2];
+ y += `${parts[0]} ${parts[1]}`;
+ } else {
+ x += `${parts[1]} ${parts[2]}`;
+ y += parts[0];
+ }
+ } else {
+ if (CSSStyleDeclarationValueParser.getMeasurement(parts[1])) {
+ x += `${parts[0]} ${parts[1]}`;
+ y += parts[2];
+ } else {
+ x += parts[0];
+ y += `${parts[1]} ${parts[2]}`;
+ }
+ }
+ break;
+ case 4:
+ x +=
+ parts[0] === 'top' ||
+ parts[0] === 'bottom' ||
+ parts[1] === 'top' ||
+ parts[1] === 'bottom'
+ ? `${parts[2]} ${parts[3]}`
+ : `${parts[0]} ${parts[1]}`;
+ y +=
+ parts[0] === 'top' ||
+ parts[0] === 'bottom' ||
+ parts[1] === 'top' ||
+ parts[1] === 'bottom'
+ ? `${parts[0]} ${parts[1]}`
+ : `${parts[2]} ${parts[3]}`;
+ break;
+ default:
+ return null;
+ }
+ }
+
+ const xValue = this.getBackgroundPositionX(x, important);
+ const yValue = this.getBackgroundPositionY(y, important);
+
+ if (xValue && yValue) {
+ return {
+ ...xValue,
+ ...yValue
+ };
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns background position.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundPositionX(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-position-x': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return { 'background-position-x': { value: lowerValue, important } };
+ }
+
+ const imageParts = lowerValue.replace(/ *, */g, ',').split(',');
+ let parsedValue = '';
+
+ for (const imagePart of imageParts) {
+ const parts = imagePart.trim().split(/ +/);
+
+ if (parsedValue) {
+ parsedValue += ',';
+ }
+
+ for (const part of parts) {
+ const measurement = CSSStyleDeclarationValueParser.getMeasurement(part);
+ if (!measurement && part !== 'left' && part !== 'right' && part !== 'center') {
+ return null;
+ }
+
+ if (parsedValue) {
+ parsedValue += ' ';
+ }
+
+ parsedValue += measurement || part;
+ }
+ }
+
+ return { 'background-position-x': { value: parsedValue, important } };
+ }
+
+ /**
+ * Returns background position.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getBackgroundPositionY(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-position-y': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return { 'background-position-y': { value: lowerValue, important } };
+ }
+
+ const imageParts = lowerValue.replace(/ *, */g, ',').split(',');
+ let parsedValue = '';
+
+ for (const imagePart of imageParts) {
+ const parts = imagePart.trim().split(/ +/);
+
+ if (parsedValue) {
+ parsedValue += ',';
+ }
+
+ for (const part of parts) {
+ const measurement = CSSStyleDeclarationValueParser.getMeasurement(part);
+ if (!measurement && part !== 'top' && part !== 'bottom' && part !== 'center') {
+ return null;
+ }
+
+ if (parsedValue) {
+ parsedValue += ' ';
+ }
+
+ parsedValue += measurement || part;
+ }
+ }
+
+ return { 'background-position-y': { value: parsedValue, important } };
+ }
+
+ /**
+ * Returns background color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property value.
+ */
+ public static getBackgroundColor(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-color': { value: variable, important } };
+ }
+
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+
+ return color
+ ? {
+ ['background-color']: { important, value: color }
+ }
+ : null;
+ }
+
+ /**
+ * Returns background image.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property value.
+ */
+ public static getBackgroundImage(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'background-image': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || lowerValue === 'none') {
+ return { 'background-image': { value: lowerValue, important } };
+ }
+
+ const parts = value.replace(/ *, */g, ',').split(',');
+ const parsed = [];
+
+ for (const part of parts) {
+ const url = CSSStyleDeclarationValueParser.getURL(part.trim());
+ if (!url) {
+ return null;
+ }
+ parsed.push(url);
+ }
+
+ if (parsed.length) {
+ return { 'background-image': { value: parsed.join(', '), important } };
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property value.
+ */
+ public static getColor(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { color: { value: variable, important } };
+ }
+
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+
+ return color ? { color: { important, value: color } } : null;
+ }
+
+ /**
+ * Returns color.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property value.
+ */
+ public static getFloodColor(
+ value: string,
+ important: boolean
+ ): { [key: string]: ICSSStyleDeclarationPropertyValue } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'flood-color': { value: variable, important } };
+ }
+ const color =
+ CSSStyleDeclarationValueParser.getGlobal(value) ||
+ CSSStyleDeclarationValueParser.getColor(value);
+
+ return color ? { 'flood-color': { important, value: color } } : null;
+ }
+
+ /**
+ * Returns font.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFont(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { font: { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue)) {
+ return {
+ ...this.getFontStyle(lowerValue, important),
+ ...this.getFontVariant(lowerValue, important),
+ ...this.getFontWeight(lowerValue, important),
+ ...this.getFontStretch(lowerValue, important),
+ ...this.getFontSize(lowerValue, important),
+ ...this.getLineHeight(lowerValue, important),
+ ...this.getFontFamily(lowerValue, important)
+ };
+ }
+
+ if (SYSTEM_FONT.includes(lowerValue)) {
+ return { font: { value: lowerValue, important } };
+ }
+
+ const properties = {
+ ...this.getFontStyle('normal', important),
+ ...this.getFontVariant('normal', important),
+ ...this.getFontWeight('normal', important),
+ ...this.getFontStretch('normal', important),
+ ...this.getLineHeight('normal', important)
+ };
+
+ const parts = value.replace(/ *\/ */g, '/').split(/ +/);
+
+ for (let i = 0, max = parts.length; i < max; i++) {
+ const part = parts[i];
+ if (part.includes('/')) {
+ const [size, height] = part.split('/');
+ const fontSize = this.getFontSize(size, important);
+ const lineHeight = this.getLineHeight(height, important);
+
+ if (!fontSize || !lineHeight) {
+ return null;
+ }
+
+ Object.assign(properties, fontSize, lineHeight);
+ } else {
+ const fontStyle = this.getFontStyle(part, important);
+ const fontVariant = this.getFontVariant(part, important);
+ const fontWeight = this.getFontWeight(part, important);
+ const fontSize = this.getFontSize(part, important);
+ const fontStretch = this.getFontStretch(part, important);
+
+ if (fontStyle) {
+ Object.assign(properties, fontStyle);
+ } else if (fontVariant) {
+ Object.assign(properties, fontVariant);
+ } else if (fontWeight) {
+ Object.assign(properties, fontWeight);
+ } else if (fontSize) {
+ Object.assign(properties, fontSize);
+ } else if (fontStretch) {
+ Object.assign(properties, fontStretch);
+ } else {
+ const fontFamilyValue = parts.slice(i).join(' ');
+ const fontFamily = this.getFontFamily(fontFamilyValue, important);
+ if (!fontFamily) {
+ return null;
+ }
+ Object.assign(properties, fontFamily);
+ break;
+ }
+ }
+ }
+
+ return properties;
+ }
+
+ /**
+ * Returns font style.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFontStyle(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'font-style': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || FONT_STYLE.includes(lowerValue)) {
+ return { 'font-style': { value: lowerValue, important } };
+ }
+ const parts = value.split(/ +/);
+ if (parts.length === 2 && parts[0] === 'oblique') {
+ const degree = CSSStyleDeclarationValueParser.getDegree(parts[1]);
+ return degree ? { 'font-style': { value: lowerValue, important } } : null;
+ }
+ return null;
+ }
+
+ /**
+ * Returns font variant.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFontVariant(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'font-variant': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ return CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ lowerValue === 'normal' ||
+ lowerValue === 'small-caps'
+ ? { 'font-variant': { value: lowerValue, important } }
+ : null;
+ }
+
+ /**
+ * Returns font strech.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFontStretch(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'font-stretch': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || FONT_STRETCH.includes(lowerValue)) {
+ return { 'font-stretch': { value: lowerValue, important } };
+ }
+ const percentage = CSSStyleDeclarationValueParser.getPercentage(value);
+ return percentage ? { 'font-stretch': { value: percentage, important } } : null;
+ }
+
+ /**
+ * Returns font weight.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFontWeight(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'font-weight': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || FONT_WEIGHT.includes(lowerValue)) {
+ return { 'font-weight': { value: lowerValue, important } };
+ }
+ const integer = CSSStyleDeclarationValueParser.getInteger(value);
+ return integer ? { 'font-weight': { value: integer, important } } : null;
+ }
+
+ /**
+ * Returns font size.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFontSize(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'font-size': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || FONT_SIZE.includes(lowerValue)) {
+ return { 'font-size': { value: lowerValue, important } };
+ }
+ const measurement = CSSStyleDeclarationValueParser.getMeasurement(value);
+ return measurement ? { 'font-size': { value: measurement, important } } : null;
+ }
+
+ /**
+ * Returns line height.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getLineHeight(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'line-height': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ if (CSSStyleDeclarationValueParser.getGlobal(lowerValue) || lowerValue === 'normal') {
+ return { 'line-height': { value: lowerValue, important } };
+ }
+ const lineHeight =
+ CSSStyleDeclarationValueParser.getFloat(value) ||
+ CSSStyleDeclarationValueParser.getMeasurement(value);
+ return lineHeight ? { 'line-height': { value: lineHeight, important } } : null;
+ }
+
+ /**
+ * Returns font family.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getFontFamily(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'font-family': { value: variable, important } };
+ }
+
+ const globalValue = CSSStyleDeclarationValueParser.getGlobal(value);
+
+ if (globalValue) {
+ return { 'font-family': { value: globalValue, important } };
+ }
+
+ const parts = value.split(',');
+ let parsedValue = '';
+ let endWithApostroph = false;
+
+ for (let i = 0, max = parts.length; i < max; i++) {
+ let trimmedPart = parts[i].trim().replace(/'/g, '"');
+
+ if (!trimmedPart) {
+ return null;
+ }
+
+ if (trimmedPart.includes(' ')) {
+ const apostrophCount = (trimmedPart.match(/"/g) || []).length;
+ if ((trimmedPart[0] !== '"' || i !== 0) && apostrophCount !== 2 && apostrophCount !== 0) {
+ return null;
+ }
+ if (trimmedPart[0] === '"' && trimmedPart[trimmedPart.length - 1] !== '"') {
+ endWithApostroph = true;
+ } else if (trimmedPart[0] !== '"' && trimmedPart[trimmedPart.length - 1] !== '"') {
+ trimmedPart = `"${trimmedPart}"`;
+ }
+ }
+
+ if (i > 0) {
+ parsedValue += ', ';
+ }
+
+ parsedValue += trimmedPart;
+ }
+
+ if (endWithApostroph) {
+ parsedValue += '"';
+ }
+
+ if (!parsedValue) {
+ return null;
+ }
+
+ return {
+ 'font-family': {
+ important,
+ value: parsedValue
+ }
+ };
+ }
+
+ /**
+ * Returns font family.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property values
+ */
+ public static getTextTransform(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { 'text-transform': { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ (TEXT_TRANSFORM.includes(lowerValue) && lowerValue);
+ if (parsedValue) {
+ return {
+ 'text-transform': { value: parsedValue, important }
+ };
+ }
+ return null;
+ }
+
+ /**
+ * Returns visibility.
+ *
+ * @param value Value.
+ * @param important Important.
+ * @returns Property
+ */
+ public static getVisibility(
+ value: string,
+ important: boolean
+ ): {
+ [key: string]: ICSSStyleDeclarationPropertyValue;
+ } {
+ const variable = CSSStyleDeclarationValueParser.getVariable(value);
+ if (variable) {
+ return { visibility: { value: variable, important } };
+ }
+
+ const lowerValue = value.toLowerCase();
+ const parsedValue =
+ CSSStyleDeclarationValueParser.getGlobal(lowerValue) ||
+ (VISIBILITY.includes(lowerValue) && lowerValue);
+ if (parsedValue) {
+ return {
+ visibility: { value: parsedValue, important }
+ };
+ }
+ return null;
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts
new file mode 100644
index 000000000..6c508a105
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts
@@ -0,0 +1,437 @@
+const COLOR_REGEXP =
+ /^#([0-9a-fA-F]{3,4}){1,2}$|^rgb\(([^)]*)\)$|^rgba\(([^)]*)\)$|^hsla?\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*(,\s*(-?\d+|-?\d*.\d+)\s*)?\)/;
+
+const LENGTH_REGEXP = /^(0|[-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch))$/;
+const PERCENTAGE_REGEXP = /^[-+]?[0-9]*\.?[0-9]+%$/;
+const DEGREE_REGEXP = /^[0-9]+deg$/;
+const URL_REGEXP = /^url\(\s*([^)]*)\s*\)$/;
+const INTEGER_REGEXP = /^[0-9]+$/;
+const FLOAT_REGEXP = /^[0-9.]+$/;
+const CALC_REGEXP = /^calc\([^^)]+\)$/;
+const CSS_VARIABLE_REGEXP = /^var\( *(--[^) ]+)\)$/;
+const FIT_CONTENT_REGEXP = /^fit-content\([^^)]+\)$/;
+const GRADIENT_REGEXP =
+ /^(repeating-linear|linear|radial|repeating-radial|conic|repeating-conic)-gradient\([^)]+\)$/;
+const GLOBALS = ['inherit', 'initial', 'unset', 'revert'];
+const COLORS = [
+ 'currentcolor',
+ 'transparent',
+ 'silver',
+ 'gray',
+ 'white',
+ 'maroon',
+ 'red',
+ 'purple',
+ 'fuchsia',
+ 'green',
+ 'lime',
+ 'olive',
+ 'yellow',
+ 'navy',
+ 'blue',
+ 'teal',
+ 'aqua',
+ 'antiquewhite',
+ 'aquamarine',
+ 'azure',
+ 'beige',
+ 'bisque',
+ 'blanchedalmond',
+ 'blueviolet',
+ 'brown',
+ 'burlywood',
+ 'cadetblue',
+ 'chartreuse',
+ 'chocolate',
+ 'coral',
+ 'cornflowerblue',
+ 'cornsilk',
+ 'crimson',
+ 'darkblue',
+ 'darkcyan',
+ 'darkgoldenrod',
+ 'darkgray',
+ 'darkgreen',
+ 'darkgrey',
+ 'darkkhaki',
+ 'darkmagenta',
+ 'darkolivegreen',
+ 'darkorange',
+ 'darkorchid',
+ 'darkred',
+ 'darksalmon',
+ 'darkseagreen',
+ 'darkslateblue',
+ 'darkslategray',
+ 'darkslategrey',
+ 'darkturquoise',
+ 'darkviolet',
+ 'deeppink',
+ 'deepskyblue',
+ 'dimgray',
+ 'dimgrey',
+ 'dodgerblue',
+ 'firebrick',
+ 'floralwhite',
+ 'forestgreen',
+ 'gainsboro',
+ 'ghostwhite',
+ 'gold',
+ 'goldenrod',
+ 'greenyellow',
+ 'grey',
+ 'honeydew',
+ 'hotpink',
+ 'indianred',
+ 'indigo',
+ 'ivory',
+ 'khaki',
+ 'lavender',
+ 'lavenderblush',
+ 'lawngreen',
+ 'lemonchiffon',
+ 'lightblue',
+ 'lightcoral',
+ 'lightcyan',
+ 'lightgoldenrodyellow',
+ 'lightgray',
+ 'lightgreen',
+ 'lightgrey',
+ 'lightpink',
+ 'lightsalmon',
+ 'lightseagreen',
+ 'lightskyblue',
+ 'lightslategray',
+ 'lightslategrey',
+ 'lightsteelblue',
+ 'lightyellow',
+ 'limegreen',
+ 'linen',
+ 'mediumaquamarine',
+ 'mediumblue',
+ 'mediumorchid',
+ 'mediumpurple',
+ 'mediumseagreen',
+ 'mediumslateblue',
+ 'mediumspringgreen',
+ 'mediumturquoise',
+ 'mediumvioletred',
+ 'midnightblue',
+ 'mintcream',
+ 'mistyrose',
+ 'moccasin',
+ 'navajowhite',
+ 'oldlace',
+ 'olivedrab',
+ 'orangered',
+ 'orchid',
+ 'palegoldenrod',
+ 'palegreen',
+ 'paleturquoise',
+ 'palevioletred',
+ 'papayawhip',
+ 'peachpuff',
+ 'peru',
+ 'pink',
+ 'plum',
+ 'powderblue',
+ 'rosybrown',
+ 'royalblue',
+ 'saddlebrown',
+ 'salmon',
+ 'sandybrown',
+ 'seagreen',
+ 'seashell',
+ 'sienna',
+ 'skyblue',
+ 'slateblue',
+ 'slategray',
+ 'slategrey',
+ 'snow',
+ 'springgreen',
+ 'steelblue',
+ 'tan',
+ 'thistle',
+ 'tomato',
+ 'turquoise',
+ 'violet',
+ 'wheat',
+ 'whitesmoke',
+ 'yellowgreen'
+];
+
+/**
+ * Style declaration value parser.
+ */
+export default class CSSStyleDeclarationValueParser {
+ /**
+ * Returns length.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getLength(value: string): string {
+ if (value === '0') {
+ return '0px';
+ }
+ if (LENGTH_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns percentance.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getPercentage(value: string): string {
+ if (value === '0') {
+ return '0%';
+ }
+ if (PERCENTAGE_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns degree.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getDegree(value: string): string {
+ if (value === '0') {
+ return '0deg';
+ }
+ if (DEGREE_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns calc.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getCalc(value: string): string {
+ if (CALC_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns fit content.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getFitContent(value: string): string {
+ const lowerValue = value.toLowerCase();
+ if (
+ lowerValue === 'auto' ||
+ lowerValue === 'max-content' ||
+ lowerValue === 'min-content' ||
+ lowerValue === 'fit-content'
+ ) {
+ return lowerValue;
+ }
+ if (FIT_CONTENT_REGEXP.test(lowerValue)) {
+ return lowerValue;
+ }
+ return null;
+ }
+
+ /**
+ * Returns measurement.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getMeasurement(value: string): string {
+ return this.getLength(value) || this.getPercentage(value);
+ }
+
+ /**
+ * Returns measurement or auto, min-content, max-content or fit-content.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getContentMeasurement(value: string): string {
+ return this.getFitContent(value) || this.getMeasurement(value);
+ }
+
+ /**
+ * Returns measurement or auto, min-content, max-content or fit-content.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getAutoMeasurement(value: string): string {
+ if (value.toLocaleLowerCase() === 'auto') {
+ return 'auto';
+ }
+ return this.getMeasurement(value);
+ }
+
+ /**
+ * Returns integer.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getInteger(value: string): string {
+ if (INTEGER_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns float.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getFloat(value: string): string {
+ if (FLOAT_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns gradient.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getGradient(value: string): string {
+ if (GRADIENT_REGEXP.test(value)) {
+ return value;
+ }
+ return null;
+ }
+
+ /**
+ * Returns color.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getColor(value: string): string {
+ const lowerValue = value.toLowerCase();
+ if (COLORS.includes(lowerValue)) {
+ return lowerValue;
+ }
+ if (COLOR_REGEXP.test(value)) {
+ return value.replace(/,([^ ])/g, ', $1');
+ }
+ return null;
+ }
+
+ /**
+ * Returns URL.
+ *
+ * Based on:
+ * https://github.com/jsdom/cssstyle/blob/master/lib/parsers.js#L222
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getURL(value: string): string {
+ if (!value) {
+ return null;
+ }
+
+ if (value.toLowerCase() === 'none') {
+ return 'none';
+ }
+
+ const result = URL_REGEXP.exec(value);
+
+ if (!result) {
+ return null;
+ }
+
+ let url = result[1];
+
+ if ((url[0] === '"' || url[0] === "'") && url[0] !== url[url.length - 1]) {
+ return null;
+ }
+
+ if (url[0] === '"' || url[0] === "'") {
+ url = url.substring(1, url.length - 1);
+ }
+
+ for (let i = 0; i < url.length; i++) {
+ switch (url[i]) {
+ case '(':
+ case ')':
+ case ' ':
+ case '\t':
+ case '\n':
+ case "'":
+ case '"':
+ return null;
+ case '\\':
+ i++;
+ break;
+ }
+ }
+
+ return `url("${url}")`;
+ }
+
+ /**
+ * Returns global initial value.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getInitial(value: string): string {
+ return value.toLowerCase() === 'initial' ? 'initial' : null;
+ }
+
+ /**
+ * Returns CSS variable.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getVariable(value: string): string {
+ const cssVariableMatch = value.match(CSS_VARIABLE_REGEXP);
+ if (cssVariableMatch) {
+ return `var(${cssVariableMatch[1]})`;
+ }
+ return null;
+ }
+
+ /**
+ * Returns global.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getGlobal(value: string): string {
+ const lowerValue = value.toLowerCase();
+ return GLOBALS.includes(lowerValue) ? lowerValue : null;
+ }
+
+ /**
+ * Returns global, unless it is not set to 'initial' as it is sometimes treated different.
+ *
+ * @param value Value.
+ * @returns Parsed value.
+ */
+ public static getGlobalExceptInitial(value: string): string {
+ const lowerValue = value.toLowerCase();
+ return lowerValue !== 'initial' && GLOBALS.includes(lowerValue) ? lowerValue : null;
+ }
+}
diff --git a/packages/happy-dom/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts b/packages/happy-dom/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts
new file mode 100644
index 000000000..ad636ebc3
--- /dev/null
+++ b/packages/happy-dom/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts
@@ -0,0 +1,4 @@
+export default interface ICSSStyleDeclarationPropertyValue {
+ readonly value: string;
+ readonly important: boolean;
+}
diff --git a/packages/happy-dom/src/css/rules/CSSContainerRule.ts b/packages/happy-dom/src/css/rules/CSSContainerRule.ts
new file mode 100644
index 000000000..dc57f69dc
--- /dev/null
+++ b/packages/happy-dom/src/css/rules/CSSContainerRule.ts
@@ -0,0 +1,23 @@
+import CSSRule from '../CSSRule';
+
+/**
+ * CSSRule interface.
+ */
+export default class CSSContainerRule extends CSSRule {
+ public readonly type = CSSRule.CONTAINER_RULE;
+ public readonly cssRules: CSSRule[] = [];
+ public readonly conditionalText = '';
+
+ /**
+ * Returns css text.
+ *
+ * @returns CSS text.
+ */
+ public get cssText(): string {
+ let cssText = '';
+ for (const cssRule of this.cssRules) {
+ cssText += cssRule.cssText;
+ }
+ return `@container ${this.conditionalText} { ${cssText} }`;
+ }
+}
diff --git a/packages/happy-dom/src/css/rules/CSSFontFaceRule.ts b/packages/happy-dom/src/css/rules/CSSFontFaceRule.ts
index fe3246f76..8c2ebfbe3 100644
--- a/packages/happy-dom/src/css/rules/CSSFontFaceRule.ts
+++ b/packages/happy-dom/src/css/rules/CSSFontFaceRule.ts
@@ -1,10 +1,25 @@
import CSSRule from '../CSSRule';
-import CSSStyleDeclaration from '../CSSStyleDeclaration';
+import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration';
/**
* CSSRule interface.
*/
export default class CSSFontFaceRule extends CSSRule {
public readonly type = CSSRule.FONT_FACE_RULE;
- public readonly style: CSSStyleDeclaration;
+ public _cssText = '';
+ private _style: CSSStyleDeclaration = null;
+
+ /**
+ * Returns style.
+ *
+ * @returns Style.
+ */
+ public get style(): CSSStyleDeclaration {
+ if (!this._style) {
+ this._style = new CSSStyleDeclaration();
+ (this._style.parentRule) = this;
+ this._style.cssText = this._cssText;
+ }
+ return this._style;
+ }
}
diff --git a/packages/happy-dom/src/css/rules/CSSKeyframeRule.ts b/packages/happy-dom/src/css/rules/CSSKeyframeRule.ts
index 07d6dd0e6..b88711968 100644
--- a/packages/happy-dom/src/css/rules/CSSKeyframeRule.ts
+++ b/packages/happy-dom/src/css/rules/CSSKeyframeRule.ts
@@ -1,13 +1,28 @@
import CSSRule from '../CSSRule';
-import CSSStyleDeclaration from '../CSSStyleDeclaration';
+import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration';
/**
* CSSRule interface.
*/
export default class CSSKeyframeRule extends CSSRule {
public readonly type = CSSRule.KEYFRAME_RULE;
- public readonly style: CSSStyleDeclaration;
public readonly keyText: string;
+ public _cssText = '';
+ private _style: CSSStyleDeclaration = null;
+
+ /**
+ * Returns style.
+ *
+ * @returns Style.
+ */
+ public get style(): CSSStyleDeclaration {
+ if (!this._style) {
+ this._style = new CSSStyleDeclaration();
+ (this._style.parentRule) = this;
+ this._style.cssText = this._cssText;
+ }
+ return this._style;
+ }
/**
* Returns css text.
diff --git a/packages/happy-dom/src/css/rules/CSSKeyframesRule.ts b/packages/happy-dom/src/css/rules/CSSKeyframesRule.ts
index af9a89874..cac17f5ea 100644
--- a/packages/happy-dom/src/css/rules/CSSKeyframesRule.ts
+++ b/packages/happy-dom/src/css/rules/CSSKeyframesRule.ts
@@ -1,5 +1,5 @@
import CSSRule from '../CSSRule';
-import CSSStyleDeclaration from '../CSSStyleDeclaration';
+import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration';
import CSSKeyframeRule from './CSSKeyframeRule';
const CSS_RULE_REGEXP = /([^{]+){([^}]+)}/;
diff --git a/packages/happy-dom/src/css/rules/CSSStyleRule.ts b/packages/happy-dom/src/css/rules/CSSStyleRule.ts
index cda9019d2..517f70f42 100644
--- a/packages/happy-dom/src/css/rules/CSSStyleRule.ts
+++ b/packages/happy-dom/src/css/rules/CSSStyleRule.ts
@@ -1,14 +1,29 @@
import CSSRule from '../CSSRule';
-import CSSStyleDeclaration from '../CSSStyleDeclaration';
+import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration';
/**
* CSSRule interface.
*/
export default class CSSStyleRule extends CSSRule {
public readonly type = CSSRule.STYLE_RULE;
- public readonly style: CSSStyleDeclaration;
public readonly selectorText = '';
public readonly styleMap = new Map();
+ public _cssText = '';
+ private _style: CSSStyleDeclaration = null;
+
+ /**
+ * Returns style.
+ *
+ * @returns Style.
+ */
+ public get style(): CSSStyleDeclaration {
+ if (!this._style) {
+ this._style = new CSSStyleDeclaration();
+ (this._style.parentRule) = this;
+ this._style.cssText = this._cssText;
+ }
+ return this._style;
+ }
/**
* Returns css text.
diff --git a/packages/happy-dom/src/event/Event.ts b/packages/happy-dom/src/event/Event.ts
index 73ce1f614..fead294bb 100644
--- a/packages/happy-dom/src/event/Event.ts
+++ b/packages/happy-dom/src/event/Event.ts
@@ -1,5 +1,4 @@
import IEventInit from './IEventInit';
-import EventTarget from './EventTarget';
import INode from '../nodes/node/INode';
import IWindow from '../window/IWindow';
import IShadowRoot from '../nodes/shadow-root/IShadowRoot';
@@ -10,13 +9,13 @@ import IEventTarget from './IEventTarget';
*/
export default class Event {
public composed = false;
- public currentTarget: EventTarget = null;
- public target: EventTarget = null;
public bubbles = false;
public cancelable = false;
public defaultPrevented = false;
public _immediatePropagationStopped = false;
public _propagationStopped = false;
+ public _target: IEventTarget = null;
+ public _currentTarget: IEventTarget = null;
public type: string = null;
/**
@@ -35,6 +34,24 @@ export default class Event {
}
}
+ /**
+ * Returns target.
+ *
+ * @returns Target.
+ */
+ public get target(): IEventTarget {
+ return this._target;
+ }
+
+ /**
+ * Returns target.
+ *
+ * @returns Target.
+ */
+ public get currentTarget(): IEventTarget {
+ return this._currentTarget;
+ }
+
/**
* Returns composed path.
*
diff --git a/packages/happy-dom/src/event/EventTarget.ts b/packages/happy-dom/src/event/EventTarget.ts
index 83907969e..7eb65c808 100644
--- a/packages/happy-dom/src/event/EventTarget.ts
+++ b/packages/happy-dom/src/event/EventTarget.ts
@@ -46,11 +46,11 @@ export default abstract class EventTarget implements IEventTarget {
* @returns The return value is false if event is cancelable and at least one of the event handlers which handled this event called Event.preventDefault().
*/
public dispatchEvent(event: Event): boolean {
- if (!event.target) {
- event.target = this;
+ if (!event._target) {
+ event._target = this;
}
- event.currentTarget = this;
+ event._currentTarget = this;
const onEventName = 'on' + event.type.toLowerCase();
@@ -77,12 +77,28 @@ export default abstract class EventTarget implements IEventTarget {
/**
* Adds an event listener.
*
- * This is only supported by IE8- and Opera, but for some reason React uses it and calls it, so therefore we will keep support for it until they stop using it.
+ * TODO:
+ * Was used by with IE8- and Opera. React believed Happy DOM was a legacy browser and used them, but that is no longer the case, so we should remove this method after that this is verified.
*
+ * @deprecated
* @param type Event type.
* @param listener Listener.
*/
public attachEvent(type: string, listener: ((event: Event) => void) | IEventListener): void {
this.addEventListener(type.replace('on', ''), listener);
}
+
+ /**
+ * Removes an event listener.
+ *
+ * TODO:
+ * Was used by IE8- and Opera. React believed Happy DOM was a legacy browser and used them, but that is no longer the case, so we should remove this method after that this is verified.
+ *
+ * @deprecated
+ * @param type Event type.
+ * @param listener Listener.
+ */
+ public detachEvent(type: string, listener: ((event: Event) => void) | IEventListener): void {
+ this.removeEventListener(type.replace('on', ''), listener);
+ }
}
diff --git a/packages/happy-dom/src/event/IEventTarget.ts b/packages/happy-dom/src/event/IEventTarget.ts
index 54c496107..d5784fbe8 100644
--- a/packages/happy-dom/src/event/IEventTarget.ts
+++ b/packages/happy-dom/src/event/IEventTarget.ts
@@ -28,4 +28,26 @@ export default interface IEventTarget {
* @returns The return value is false if event is cancelable and at least one of the event handlers which handled this event called Event.preventDefault().
*/
dispatchEvent(event: Event): boolean;
+
+ /**
+ * Adds an event listener.
+ *
+ * This is only supported by IE8- and Opera, but for some reason React uses it and calls it, so therefore we will keep support for it until they stop using it.
+ *
+ * @deprecated
+ * @param type Event type.
+ * @param listener Listener.
+ */
+ attachEvent(type: string, listener: ((event: Event) => void) | IEventListener): void;
+
+ /**
+ * Removes an event listener.
+ *
+ * This is only supported by IE8- and Opera, but for some reason React uses it and calls it, so therefore we will keep support for it until they stop using it.
+ *
+ * @deprecated
+ * @param type Event type.
+ * @param listener Listener.
+ */
+ detachEvent(type: string, listener: ((event: Event) => void) | IEventListener): void;
}
diff --git a/packages/happy-dom/src/event/NonImplementedEventTypes.ts b/packages/happy-dom/src/event/NonImplementedEventTypes.ts
index ca6060129..12dda4416 100644
--- a/packages/happy-dom/src/event/NonImplementedEventTypes.ts
+++ b/packages/happy-dom/src/event/NonImplementedEventTypes.ts
@@ -40,5 +40,6 @@ export default [
'TrackEvent',
'TransitionEvent',
'UserProximityEvent',
- 'WebGLContextEvent'
+ 'WebGLContextEvent',
+ 'TextEvent'
];
diff --git a/packages/happy-dom/src/event/events/IMediaQueryListInit.ts b/packages/happy-dom/src/event/events/IMediaQueryListInit.ts
new file mode 100644
index 000000000..0f202840a
--- /dev/null
+++ b/packages/happy-dom/src/event/events/IMediaQueryListInit.ts
@@ -0,0 +1,6 @@
+import IEventInit from '../IEventInit';
+
+export default interface IMediaQueryListInit extends IEventInit {
+ matches?: boolean;
+ media?: string;
+}
diff --git a/packages/happy-dom/src/event/events/MediaQueryListEvent.ts b/packages/happy-dom/src/event/events/MediaQueryListEvent.ts
new file mode 100644
index 000000000..384269c33
--- /dev/null
+++ b/packages/happy-dom/src/event/events/MediaQueryListEvent.ts
@@ -0,0 +1,25 @@
+import Event from '../Event';
+import IMediaQueryListInit from './IMediaQueryListInit';
+
+/**
+ *
+ */
+export default class MediaQueryListEvent extends Event {
+ public readonly matches: boolean = false;
+ public readonly media: string = '';
+
+ /**
+ * Constructor.
+ *
+ * @param type Event type.
+ * @param [eventInit] Event init.
+ */
+ constructor(type: string, eventInit: IMediaQueryListInit = null) {
+ super(type, eventInit);
+
+ if (eventInit) {
+ this.matches = eventInit.matches || false;
+ this.media = eventInit.media || '';
+ }
+ }
+}
diff --git a/packages/happy-dom/src/exception/DOMException.ts b/packages/happy-dom/src/exception/DOMException.ts
index c6728be23..c68726997 100644
--- a/packages/happy-dom/src/exception/DOMException.ts
+++ b/packages/happy-dom/src/exception/DOMException.ts
@@ -1,3 +1,5 @@
+import DOMExceptionNameEnum from './DOMExceptionNameEnum';
+
/**
* DOM Exception.
*
@@ -14,8 +16,6 @@ export default class DOMException extends Error {
constructor(message: string, name: string = null) {
super(message);
- if (name) {
- this.name = name;
- }
+ this.name = name || DOMExceptionNameEnum.domException;
}
}
diff --git a/packages/happy-dom/src/exception/DOMExceptionNameEnum.ts b/packages/happy-dom/src/exception/DOMExceptionNameEnum.ts
index 33d67b3a9..e8ce550d9 100644
--- a/packages/happy-dom/src/exception/DOMExceptionNameEnum.ts
+++ b/packages/happy-dom/src/exception/DOMExceptionNameEnum.ts
@@ -10,5 +10,7 @@ enum DOMExceptionNameEnum {
notFoundError = 'NotFoundError',
securityError = 'SecurityError',
networkError = 'NetworkError'
+ domException = 'DOMException'
+
}
export default DOMExceptionNameEnum;
diff --git a/packages/happy-dom/src/fetch/Response.ts b/packages/happy-dom/src/fetch/Response.ts
index 7ca263144..a368b4665 100644
--- a/packages/happy-dom/src/fetch/Response.ts
+++ b/packages/happy-dom/src/fetch/Response.ts
@@ -13,9 +13,12 @@ export default class Response extends NodeFetch.Response implements IResponse {
/**
* Constructor.
+ *
+ * @param [body] An object defining a body for the response (can be omitted)
+ * @param [init] An options object containing any custom settings that you want to apply to the response, or an empty object (which is the default value)
*/
- constructor() {
- super();
+ constructor(body?: NodeFetch.BodyInit, init?: NodeFetch.ResponseInit) {
+ super(body, init);
this._ownerDocument = (this.constructor)._ownerDocument;
}
diff --git a/packages/happy-dom/src/file/Blob.ts b/packages/happy-dom/src/file/Blob.ts
index 7d48b800c..86cf6d5a3 100644
--- a/packages/happy-dom/src/file/Blob.ts
+++ b/packages/happy-dom/src/file/Blob.ts
@@ -110,6 +110,22 @@ export default class Blob implements IBlob {
return blob;
}
+ /**
+ * Returns a Promise that resolves to a ArrayBuffer.
+ *
+ * @returns ArrayBuffer.
+ */
+
+ // Reference:
+ // https://github.com/web-std/io/blob/c88170bf24f064adfbb3586a21fb76650ca5a9ab/packages/blob/src/blob.js#L139-L148
+ // https://stackoverflow.com/questions/8609289/convert-a-binary-nodejs-buffer-to-javascript-arraybuffer
+ /**
+ *
+ */
+ public async arrayBuffer(): Promise {
+ return new Uint8Array(this._buffer).buffer;
+ }
+
/**
* Returns a Promise that resolves to a text.
*
diff --git a/packages/happy-dom/src/index.ts b/packages/happy-dom/src/index.ts
index be83d4675..e11bc7ade 100644
--- a/packages/happy-dom/src/index.ts
+++ b/packages/happy-dom/src/index.ts
@@ -13,7 +13,7 @@ import File from './file/File';
import FileReader from './file/FileReader';
import DOMException from './exception/DOMException';
import History from './history/History';
-import CSSStyleDeclaration from './css/CSSStyleDeclaration';
+import CSSStyleDeclaration from './css/declaration/CSSStyleDeclaration';
import Screen from './screen/Screen';
import AsyncTaskManager from './async-task-manager/AsyncTaskManager';
import NodeFilter from './tree-walker/NodeFilter';
@@ -74,6 +74,12 @@ import HTMLLabelElement from './nodes/html-label-element/HTMLLabelElement';
import IHTMLLabelElement from './nodes/html-label-element/IHTMLLabelElement';
import HTMLMetaElement from './nodes/html-meta-element/HTMLMetaElement';
import IHTMLMetaElement from './nodes/html-meta-element/IHTMLMetaElement';
+import IHTMLMediaElement from './nodes/html-media-element/IHTMLMediaElement';
+import HTMLMediaElement from './nodes/html-media-element/HTMLMediaElement';
+import HTMLAudioElement from './nodes/html-audio-element/HTMLAudioElement';
+import IHTMLAudioElement from './nodes/html-audio-element/IHTMLAudioElement';
+import HTMLVideoElement from './nodes/html-video-element/HTMLVideoElement';
+import IHTMLVideoElement from './nodes/html-video-element/IHTMLVideoElement';
import HTMLBaseElement from './nodes/html-base-element/HTMLBaseElement';
import IHTMLBaseElement from './nodes/html-base-element/IHTMLBaseElement';
import SVGElement from './nodes/svg-element/SVGElement';
@@ -100,6 +106,13 @@ import CustomElementRegistry from './custom-element/CustomElementRegistry';
import XMLParser from './xml-parser/XMLParser';
import XMLSerializer from './xml-serializer/XMLSerializer';
import CSSStyleSheet from './css/CSSStyleSheet';
+import CSSRule from './css/CSSRule';
+import CSSContainerRule from './css/rules/CSSContainerRule';
+import CSSFontFaceRule from './css/rules/CSSFontFaceRule';
+import CSSKeyframeRule from './css/rules/CSSKeyframeRule';
+import CSSKeyframesRule from './css/rules/CSSKeyframesRule';
+import CSSMediaRule from './css/rules/CSSMediaRule';
+import CSSStyleRule from './css/rules/CSSStyleRule';
import Storage from './storage/Storage';
import DOMRect from './nodes/element/DOMRect';
import { URLSearchParams } from 'url';
@@ -107,6 +120,10 @@ import Selection from './selection/Selection';
import Range from './range/Range';
import HTMLDialogElement from './nodes/html-dialog-element/HTMLDialogElement';
import IHTMLDialogElement from './nodes/html-dialog-element/IHTMLDialogElement';
+import Attr from './nodes/attr/Attr';
+import IAttr from './nodes/attr/IAttr';
+import ProcessingInstruction from './nodes/processing-instruction/ProcessingInstruction';
+import IProcessingInstruction from './nodes/processing-instruction/IProcessingInstruction';
export {
GlobalWindow,
@@ -185,6 +202,12 @@ export {
IHTMLLabelElement,
HTMLMetaElement,
IHTMLMetaElement,
+ HTMLMediaElement,
+ IHTMLMediaElement,
+ HTMLAudioElement,
+ IHTMLAudioElement,
+ HTMLVideoElement,
+ IHTMLVideoElement,
HTMLBaseElement,
IHTMLBaseElement,
SVGElement,
@@ -211,11 +234,22 @@ export {
XMLParser,
XMLSerializer,
CSSStyleSheet,
+ CSSRule,
+ CSSContainerRule,
+ CSSFontFaceRule,
+ CSSKeyframeRule,
+ CSSKeyframesRule,
+ CSSMediaRule,
+ CSSStyleRule,
Storage,
DOMRect,
URLSearchParams,
Selection,
Range,
HTMLDialogElement,
- IHTMLDialogElement
+ IHTMLDialogElement,
+ Attr,
+ IAttr,
+ ProcessingInstruction,
+ IProcessingInstruction
};
diff --git a/packages/happy-dom/src/match-media/MediaQueryList.ts b/packages/happy-dom/src/match-media/MediaQueryList.ts
index 250aa3472..175a5394e 100644
--- a/packages/happy-dom/src/match-media/MediaQueryList.ts
+++ b/packages/happy-dom/src/match-media/MediaQueryList.ts
@@ -1,5 +1,11 @@
import EventTarget from '../event/EventTarget';
import Event from '../event/Event';
+import IWindow from '../window/IWindow';
+import IEventListener from '../event/IEventListener';
+import MediaQueryListEvent from '../event/events/MediaQueryListEvent';
+
+const MEDIA_REGEXP =
+ /min-width: *([0-9]+) *px|max-width: *([0-9]+) *px|min-height: *([0-9]+) *px|max-height: *([0-9]+) *px/;
/**
* Media Query List.
@@ -8,26 +14,41 @@ import Event from '../event/Event';
* https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList.
*/
export default class MediaQueryList extends EventTarget {
- public _matches = false;
- public _media = '';
+ public readonly media: string = '';
public onchange: (event: Event) => void = null;
+ private _ownerWindow: IWindow;
/**
- * Returns "true" if the document matches.
+ * Constructor.
*
- * @returns Matches.
+ * @param ownerWindow Window.
+ * @param media Media.
*/
- public get matches(): boolean {
- return this._matches;
+ constructor(ownerWindow: IWindow, media: string) {
+ super();
+ this._ownerWindow = ownerWindow;
+ this.media = media;
}
/**
- * Returns the serialized media query.
+ * Returns "true" if the document matches.
*
- * @returns Serialized media query.
+ * @returns Matches.
*/
- public get media(): string {
- return this._media;
+ public get matches(): boolean {
+ const match = MEDIA_REGEXP.exec(this.media);
+ if (match) {
+ if (match[1]) {
+ return this._ownerWindow.innerWidth >= parseInt(match[1]);
+ } else if (match[2]) {
+ return this._ownerWindow.innerWidth <= parseInt(match[2]);
+ } else if (match[3]) {
+ return this._ownerWindow.innerHeight >= parseInt(match[3]);
+ } else if (match[4]) {
+ return this._ownerWindow.innerHeight <= parseInt(match[4]);
+ }
+ }
+ return false;
}
/**
@@ -49,4 +70,36 @@ export default class MediaQueryList extends EventTarget {
public removeListener(callback: (event: Event) => void): void {
this.removeEventListener('change', callback);
}
+
+ /**
+ * @override
+ */
+ public addEventListener(type: string, listener: IEventListener | ((event: Event) => void)): void {
+ super.addEventListener(type, listener);
+ if (type === 'change') {
+ let matchesState = false;
+ const resizeListener = (): void => {
+ const matches = this.matches;
+ if (matches !== matchesState) {
+ matchesState = matches;
+ this.dispatchEvent(new MediaQueryListEvent('change', { matches, media: this.media }));
+ }
+ };
+ listener['_windowResizeListener'] = resizeListener;
+ this._ownerWindow.addEventListener('resize', resizeListener);
+ }
+ }
+
+ /**
+ * @override
+ */
+ public removeEventListener(
+ type: string,
+ listener: IEventListener | ((event: Event) => void)
+ ): void {
+ super.removeEventListener(type, listener);
+ if (type === 'change' && listener['_windowResizeListener']) {
+ this._ownerWindow.removeEventListener('resize', listener['_windowResizeListener']);
+ }
+ }
}
diff --git a/packages/happy-dom/src/attribute/Attr.ts b/packages/happy-dom/src/nodes/attr/Attr.ts
similarity index 69%
rename from packages/happy-dom/src/attribute/Attr.ts
rename to packages/happy-dom/src/nodes/attr/Attr.ts
index eea007c45..72427082b 100644
--- a/packages/happy-dom/src/attribute/Attr.ts
+++ b/packages/happy-dom/src/nodes/attr/Attr.ts
@@ -1,12 +1,14 @@
-import IDocument from '../nodes/document/IDocument';
-import IElement from '../nodes/element/IElement';
+import IElement from '../element/IElement';
+import Node from '../node/Node';
+import IAttr from './IAttr';
/**
* Attribute node interface.
*
* Reference: https://developer.mozilla.org/en-US/docs/Web/API/Attr.
*/
-export default class Attr {
+export default class Attr extends Node implements IAttr {
+ public readonly nodeType = Node.ATTRIBUTE_NODE;
public value: string = null;
public name: string = null;
public namespaceURI: string = null;
@@ -16,11 +18,6 @@ export default class Attr {
*/
public readonly ownerElement: IElement = null;
- /**
- * @deprecated
- */
- public readonly ownerDocument: IDocument = null;
-
/**
* @deprecated
*/
@@ -43,4 +40,11 @@ export default class Attr {
public get prefix(): string {
return this.name ? this.name.split(':')[0] : null;
}
+
+ /**
+ * @override
+ */
+ public get textContent(): string {
+ return this.value;
+ }
}
diff --git a/packages/happy-dom/src/nodes/attr/IAttr.ts b/packages/happy-dom/src/nodes/attr/IAttr.ts
new file mode 100644
index 000000000..aa6f01bc3
--- /dev/null
+++ b/packages/happy-dom/src/nodes/attr/IAttr.ts
@@ -0,0 +1,15 @@
+import IElement from '../element/IElement';
+import INode from './../node/INode';
+
+/**
+ * Attr.
+ */
+export default interface IAttr extends INode {
+ value: string;
+ name: string;
+ namespaceURI: string;
+ readonly ownerElement: IElement;
+ readonly specified: boolean;
+ readonly localName: string;
+ readonly prefix: string;
+}
diff --git a/packages/happy-dom/src/nodes/character-data/CharacterData.ts b/packages/happy-dom/src/nodes/character-data/CharacterData.ts
index 0a3875e90..5d039ca94 100644
--- a/packages/happy-dom/src/nodes/character-data/CharacterData.ts
+++ b/packages/happy-dom/src/nodes/character-data/CharacterData.ts
@@ -56,6 +56,10 @@ export default abstract class CharacterData extends Node implements ICharacterDa
const oldValue = this._data;
this._data = data;
+ if (this.isConnected) {
+ this.ownerDocument['_cacheID']++;
+ }
+
// MutationObserver
if (this._observers.length > 0) {
for (const observer of this._observers) {
diff --git a/packages/happy-dom/src/nodes/child-node/ChildNodeUtility.ts b/packages/happy-dom/src/nodes/child-node/ChildNodeUtility.ts
index 77bb8a386..5efb28624 100644
--- a/packages/happy-dom/src/nodes/child-node/ChildNodeUtility.ts
+++ b/packages/happy-dom/src/nodes/child-node/ChildNodeUtility.ts
@@ -1,3 +1,4 @@
+import DOMException from '../../exception/DOMException';
import XMLParser from '../../xml-parser/XMLParser';
import Document from '../document/Document';
import INode from '../node/INode';
@@ -29,7 +30,7 @@ export default class ChildNodeUtility {
const parent = childNode.parentNode;
if (!parent) {
- return;
+ throw new DOMException('This element has no parent node.');
}
for (const node of nodes) {
diff --git a/packages/happy-dom/src/nodes/document/Document.ts b/packages/happy-dom/src/nodes/document/Document.ts
index e47532179..c930d6878 100644
--- a/packages/happy-dom/src/nodes/document/Document.ts
+++ b/packages/happy-dom/src/nodes/document/Document.ts
@@ -11,7 +11,7 @@ import Event from '../../event/Event';
import DOMImplementation from '../../dom-implementation/DOMImplementation';
import ElementTag from '../../config/ElementTag';
import INodeFilter from '../../tree-walker/INodeFilter';
-import Attr from '../../attribute/Attr';
+import Attr from '../attr/Attr';
import NamespaceURI from '../../config/NamespaceURI';
import DocumentType from '../document-type/DocumentType';
import ParentNodeUtility from '../parent-node/ParentNodeUtility';
@@ -40,13 +40,17 @@ import Selection from '../../selection/Selection';
import IShadowRoot from '../shadow-root/IShadowRoot';
import Range from '../../range/Range';
import IHTMLBaseElement from '../html-base-element/IHTMLBaseElement';
+import IAttr from '../attr/IAttr';
+import IProcessingInstruction from '../processing-instruction/IProcessingInstruction';
+import ProcessingInstruction from '../processing-instruction/ProcessingInstruction';
+
+const PROCESSING_INSTRUCTION_TARGET_REGEXP = /^[a-z][a-z0-9-]+$/;
/**
* Document.
*/
export default class Document extends Node implements IDocument {
public static _defaultView: IWindow = null;
- public onreadystatechange: (event: Event) => void = null;
public nodeType = Node.DOCUMENT_NODE;
public adoptedStyleSheets: CSSStyleSheet[] = [];
public implementation: DOMImplementation;
@@ -56,11 +60,126 @@ export default class Document extends Node implements IDocument {
public readonly defaultView: IWindow;
public readonly _readyStateManager: DocumentReadyStateManager;
public _activeElement: IHTMLElement = null;
+
+ // Used as an unique identifier which is updated whenever the DOM gets modified.
+ public _cacheID = 0;
+
protected _isFirstWrite = true;
protected _isFirstWriteAfterOpen = false;
private _cookie = '';
private _selection: Selection = null;
+ // Events
+ public onreadystatechange: (event: Event) => void = null;
+ public onpointerlockchange: (event: Event) => void = null;
+ public onpointerlockerror: (event: Event) => void = null;
+ public onbeforecopy: (event: Event) => void = null;
+ public onbeforecut: (event: Event) => void = null;
+ public onbeforepaste: (event: Event) => void = null;
+ public onfreeze: (event: Event) => void = null;
+ public onresume: (event: Event) => void = null;
+ public onsearch: (event: Event) => void = null;
+ public onvisibilitychange: (event: Event) => void = null;
+ public onfullscreenchange: (event: Event) => void = null;
+ public onfullscreenerror: (event: Event) => void = null;
+ public onwebkitfullscreenchange: (event: Event) => void = null;
+ public onwebkitfullscreenerror: (event: Event) => void = null;
+ public onbeforexrselect: (event: Event) => void = null;
+ public onabort: (event: Event) => void = null;
+ public onbeforeinput: (event: Event) => void = null;
+ public onblur: (event: Event) => void = null;
+ public oncancel: (event: Event) => void = null;
+ public oncanplay: (event: Event) => void = null;
+ public oncanplaythrough: (event: Event) => void = null;
+ public onchange: (event: Event) => void = null;
+ public onclick: (event: Event) => void = null;
+ public onclose: (event: Event) => void = null;
+ public oncontextlost: (event: Event) => void = null;
+ public oncontextmenu: (event: Event) => void = null;
+ public oncontextrestored: (event: Event) => void = null;
+ public oncuechange: (event: Event) => void = null;
+ public ondblclick: (event: Event) => void = null;
+ public ondrag: (event: Event) => void = null;
+ public ondragend: (event: Event) => void = null;
+ public ondragenter: (event: Event) => void = null;
+ public ondragleave: (event: Event) => void = null;
+ public ondragover: (event: Event) => void = null;
+ public ondragstart: (event: Event) => void = null;
+ public ondrop: (event: Event) => void = null;
+ public ondurationchange: (event: Event) => void = null;
+ public onemptied: (event: Event) => void = null;
+ public onended: (event: Event) => void = null;
+ public onerror: (event: Event) => void = null;
+ public onfocus: (event: Event) => void = null;
+ public onformdata: (event: Event) => void = null;
+ public oninput: (event: Event) => void = null;
+ public oninvalid: (event: Event) => void = null;
+ public onkeydown: (event: Event) => void = null;
+ public onkeypress: (event: Event) => void = null;
+ public onkeyup: (event: Event) => void = null;
+ public onload: (event: Event) => void = null;
+ public onloadeddata: (event: Event) => void = null;
+ public onloadedmetadata: (event: Event) => void = null;
+ public onloadstart: (event: Event) => void = null;
+ public onmousedown: (event: Event) => void = null;
+ public onmouseenter: (event: Event) => void = null;
+ public onmouseleave: (event: Event) => void = null;
+ public onmousemove: (event: Event) => void = null;
+ public onmouseout: (event: Event) => void = null;
+ public onmouseover: (event: Event) => void = null;
+ public onmouseup: (event: Event) => void = null;
+ public onmousewheel: (event: Event) => void = null;
+ public onpause: (event: Event) => void = null;
+ public onplay: (event: Event) => void = null;
+ public onplaying: (event: Event) => void = null;
+ public onprogress: (event: Event) => void = null;
+ public onratechange: (event: Event) => void = null;
+ public onreset: (event: Event) => void = null;
+ public onresize: (event: Event) => void = null;
+ public onscroll: (event: Event) => void = null;
+ public onsecuritypolicyviolation: (event: Event) => void = null;
+ public onseeked: (event: Event) => void = null;
+ public onseeking: (event: Event) => void = null;
+ public onselect: (event: Event) => void = null;
+ public onslotchange: (event: Event) => void = null;
+ public onstalled: (event: Event) => void = null;
+ public onsubmit: (event: Event) => void = null;
+ public onsuspend: (event: Event) => void = null;
+ public ontimeupdate: (event: Event) => void = null;
+ public ontoggle: (event: Event) => void = null;
+ public onvolumechange: (event: Event) => void = null;
+ public onwaiting: (event: Event) => void = null;
+ public onwebkitanimationend: (event: Event) => void = null;
+ public onwebkitanimationiteration: (event: Event) => void = null;
+ public onwebkitanimationstart: (event: Event) => void = null;
+ public onwebkittransitionend: (event: Event) => void = null;
+ public onwheel: (event: Event) => void = null;
+ public onauxclick: (event: Event) => void = null;
+ public ongotpointercapture: (event: Event) => void = null;
+ public onlostpointercapture: (event: Event) => void = null;
+ public onpointerdown: (event: Event) => void = null;
+ public onpointermove: (event: Event) => void = null;
+ public onpointerrawupdate: (event: Event) => void = null;
+ public onpointerup: (event: Event) => void = null;
+ public onpointercancel: (event: Event) => void = null;
+ public onpointerover: (event: Event) => void = null;
+ public onpointerout: (event: Event) => void = null;
+ public onpointerenter: (event: Event) => void = null;
+ public onpointerleave: (event: Event) => void = null;
+ public onselectstart: (event: Event) => void = null;
+ public onselectionchange: (event: Event) => void = null;
+ public onanimationend: (event: Event) => void = null;
+ public onanimationiteration: (event: Event) => void = null;
+ public onanimationstart: (event: Event) => void = null;
+ public ontransitionrun: (event: Event) => void = null;
+ public ontransitionstart: (event: Event) => void = null;
+ public ontransitionend: (event: Event) => void = null;
+ public ontransitioncancel: (event: Event) => void = null;
+ public oncopy: (event: Event) => void = null;
+ public oncut: (event: Event) => void = null;
+ public onpaste: (event: Event) => void = null;
+ public onbeforematch: (event: Event) => void = null;
+
/**
* Creates an instance of Document.
*
@@ -225,14 +344,18 @@ export default class Document extends Node implements IDocument {
* @returns Active element.
*/
public get activeElement(): IHTMLElement {
- if (this._activeElement) {
+ if (this._activeElement && !this._activeElement.isConnected) {
+ this._activeElement = null;
+ }
+
+ if (this._activeElement && this._activeElement instanceof Element) {
let rootNode: IShadowRoot | IDocument = (
this._activeElement.getRootNode()
);
let activeElement: IHTMLElement = this._activeElement;
while (rootNode !== this) {
activeElement = (rootNode).host;
- rootNode = activeElement.getRootNode();
+ rootNode = activeElement ? activeElement.getRootNode() : this;
}
return activeElement;
}
@@ -733,14 +856,11 @@ export default class Document extends Node implements IDocument {
/**
* Creates an Attr node.
*
- * @param name Name.
+ * @param qualifiedName Name.
* @returns Attribute.
*/
- public createAttribute(name: string): Attr {
- const attribute = new Attr();
- attribute.name = name.toLowerCase();
- (attribute.ownerDocument) = this;
- return attribute;
+ public createAttribute(qualifiedName: string): IAttr {
+ return this.createAttributeNS(null, qualifiedName.toLowerCase());
}
/**
@@ -750,12 +870,12 @@ export default class Document extends Node implements IDocument {
* @param qualifiedName Qualified name.
* @returns Element.
*/
- public createAttributeNS(namespaceURI: string, qualifiedName: string): Attr {
+ public createAttributeNS(namespaceURI: string, qualifiedName: string): IAttr {
+ Attr._ownerDocument = this;
const attribute = new Attr();
attribute.namespaceURI = namespaceURI;
attribute.name = qualifiedName;
- (attribute.ownerDocument) = this;
- return attribute;
+ return attribute;
}
/**
@@ -842,4 +962,28 @@ export default class Document extends Node implements IDocument {
this.dispatchEvent(new Event('load', { bubbles: true }));
});
}
+
+ /**
+ * Creates a Processing Instruction node.
+ *
+ * @returns IProcessingInstruction.
+ * @param target
+ * @param data
+ */
+ public createProcessingInstruction(target: string, data: string): IProcessingInstruction {
+ if (!target || !PROCESSING_INSTRUCTION_TARGET_REGEXP.test(target)) {
+ throw new DOMException(
+ `Failed to execute 'createProcessingInstruction' on 'Document': The target provided ('${target}') is not a valid name.`
+ );
+ }
+ if (data.includes('?>')) {
+ throw new DOMException(
+ `Failed to execute 'createProcessingInstruction' on 'Document': The data provided ('?>') contains '?>'`
+ );
+ }
+ ProcessingInstruction._ownerDocument = this;
+ const processingInstruction = new ProcessingInstruction(data);
+ processingInstruction.target = target;
+ return processingInstruction;
+ }
}
diff --git a/packages/happy-dom/src/nodes/document/IDocument.ts b/packages/happy-dom/src/nodes/document/IDocument.ts
index 7ce365831..6e31e9ad9 100644
--- a/packages/happy-dom/src/nodes/document/IDocument.ts
+++ b/packages/happy-dom/src/nodes/document/IDocument.ts
@@ -5,7 +5,7 @@ import TreeWalker from '../../tree-walker/TreeWalker';
import Event from '../../event/Event';
import DOMImplementation from '../../dom-implementation/DOMImplementation';
import INodeFilter from '../../tree-walker/INodeFilter';
-import Attr from '../../attribute/Attr';
+import IAttr from '../attr/IAttr';
import IDocumentType from '../document-type/IDocumentType';
import IParentNode from '../parent-node/IParentNode';
import INode from '../node/INode';
@@ -19,12 +19,12 @@ import Location from '../../location/Location';
import DocumentReadyStateEnum from './DocumentReadyStateEnum';
import INodeList from '../node/INodeList';
import Range from '../../range/Range';
+import IProcessingInstruction from '../processing-instruction/IProcessingInstruction';
/**
* Document.
*/
export default interface IDocument extends IParentNode {
- onreadystatechange: (event: Event) => void;
readonly defaultView: IWindow;
readonly implementation: DOMImplementation;
readonly documentElement: IHTMLElement;
@@ -43,6 +43,117 @@ export default interface IDocument extends IParentNode {
readonly documentURI: string;
cookie: string;
+ // Events
+ onreadystatechange: (event: Event) => void;
+ onpointerlockchange: (event: Event) => void;
+ onpointerlockerror: (event: Event) => void;
+ onbeforecopy: (event: Event) => void;
+ onbeforecut: (event: Event) => void;
+ onbeforepaste: (event: Event) => void;
+ onfreeze: (event: Event) => void;
+ onresume: (event: Event) => void;
+ onsearch: (event: Event) => void;
+ onvisibilitychange: (event: Event) => void;
+ onfullscreenchange: (event: Event) => void;
+ onfullscreenerror: (event: Event) => void;
+ onwebkitfullscreenchange: (event: Event) => void;
+ onwebkitfullscreenerror: (event: Event) => void;
+ onbeforexrselect: (event: Event) => void;
+ onabort: (event: Event) => void;
+ onbeforeinput: (event: Event) => void;
+ onblur: (event: Event) => void;
+ oncancel: (event: Event) => void;
+ oncanplay: (event: Event) => void;
+ oncanplaythrough: (event: Event) => void;
+ onchange: (event: Event) => void;
+ onclick: (event: Event) => void;
+ onclose: (event: Event) => void;
+ oncontextlost: (event: Event) => void;
+ oncontextmenu: (event: Event) => void;
+ oncontextrestored: (event: Event) => void;
+ oncuechange: (event: Event) => void;
+ ondblclick: (event: Event) => void;
+ ondrag: (event: Event) => void;
+ ondragend: (event: Event) => void;
+ ondragenter: (event: Event) => void;
+ ondragleave: (event: Event) => void;
+ ondragover: (event: Event) => void;
+ ondragstart: (event: Event) => void;
+ ondrop: (event: Event) => void;
+ ondurationchange: (event: Event) => void;
+ onemptied: (event: Event) => void;
+ onended: (event: Event) => void;
+ onerror: (event: Event) => void;
+ onfocus: (event: Event) => void;
+ onformdata: (event: Event) => void;
+ oninput: (event: Event) => void;
+ oninvalid: (event: Event) => void;
+ onkeydown: (event: Event) => void;
+ onkeypress: (event: Event) => void;
+ onkeyup: (event: Event) => void;
+ onload: (event: Event) => void;
+ onloadeddata: (event: Event) => void;
+ onloadedmetadata: (event: Event) => void;
+ onloadstart: (event: Event) => void;
+ onmousedown: (event: Event) => void;
+ onmouseenter: (event: Event) => void;
+ onmouseleave: (event: Event) => void;
+ onmousemove: (event: Event) => void;
+ onmouseout: (event: Event) => void;
+ onmouseover: (event: Event) => void;
+ onmouseup: (event: Event) => void;
+ onmousewheel: (event: Event) => void;
+ onpause: (event: Event) => void;
+ onplay: (event: Event) => void;
+ onplaying: (event: Event) => void;
+ onprogress: (event: Event) => void;
+ onratechange: (event: Event) => void;
+ onreset: (event: Event) => void;
+ onresize: (event: Event) => void;
+ onscroll: (event: Event) => void;
+ onsecuritypolicyviolation: (event: Event) => void;
+ onseeked: (event: Event) => void;
+ onseeking: (event: Event) => void;
+ onselect: (event: Event) => void;
+ onslotchange: (event: Event) => void;
+ onstalled: (event: Event) => void;
+ onsubmit: (event: Event) => void;
+ onsuspend: (event: Event) => void;
+ ontimeupdate: (event: Event) => void;
+ ontoggle: (event: Event) => void;
+ onvolumechange: (event: Event) => void;
+ onwaiting: (event: Event) => void;
+ onwebkitanimationend: (event: Event) => void;
+ onwebkitanimationiteration: (event: Event) => void;
+ onwebkitanimationstart: (event: Event) => void;
+ onwebkittransitionend: (event: Event) => void;
+ onwheel: (event: Event) => void;
+ onauxclick: (event: Event) => void;
+ ongotpointercapture: (event: Event) => void;
+ onlostpointercapture: (event: Event) => void;
+ onpointerdown: (event: Event) => void;
+ onpointermove: (event: Event) => void;
+ onpointerrawupdate: (event: Event) => void;
+ onpointerup: (event: Event) => void;
+ onpointercancel: (event: Event) => void;
+ onpointerover: (event: Event) => void;
+ onpointerout: (event: Event) => void;
+ onpointerenter: (event: Event) => void;
+ onpointerleave: (event: Event) => void;
+ onselectstart: (event: Event) => void;
+ onselectionchange: (event: Event) => void;
+ onanimationend: (event: Event) => void;
+ onanimationiteration: (event: Event) => void;
+ onanimationstart: (event: Event) => void;
+ ontransitionrun: (event: Event) => void;
+ ontransitionstart: (event: Event) => void;
+ ontransitionend: (event: Event) => void;
+ ontransitioncancel: (event: Event) => void;
+ oncopy: (event: Event) => void;
+ oncut: (event: Event) => void;
+ onpaste: (event: Event) => void;
+ onbeforematch: (event: Event) => void;
+
/**
* Replaces the document HTML with new HTML.
*
@@ -127,7 +238,7 @@ export default interface IDocument extends IParentNode {
* @param name Name.
* @returns Attribute.
*/
- createAttribute(name: string): Attr;
+ createAttribute(name: string): IAttr;
/**
* Creates a namespaced Attr node.
@@ -136,7 +247,7 @@ export default interface IDocument extends IParentNode {
* @param qualifiedName Qualified name.
* @returns Element.
*/
- createAttributeNS(namespaceURI: string, qualifiedName: string): Attr;
+ createAttributeNS(namespaceURI: string, qualifiedName: string): IAttr;
/**
* Imports a node.
@@ -199,4 +310,13 @@ export default interface IDocument extends IParentNode {
* @returns "true" if the document has focus.
*/
hasFocus(): boolean;
+
+ /**
+ * Creates a Processing Instruction node.
+ *
+ * @returns IProcessingInstruction.
+ * @param target
+ * @param data
+ */
+ createProcessingInstruction(target: string, data: string): IProcessingInstruction;
}
diff --git a/packages/happy-dom/src/nodes/element/Element.ts b/packages/happy-dom/src/nodes/element/Element.ts
index 203b3f249..e41f4c9f6 100644
--- a/packages/happy-dom/src/nodes/element/Element.ts
+++ b/packages/happy-dom/src/nodes/element/Element.ts
@@ -1,11 +1,10 @@
import Node from '../node/Node';
import ShadowRoot from '../shadow-root/ShadowRoot';
-import Attr from '../../attribute/Attr';
+import Attr from '../attr/Attr';
import DOMRect from './DOMRect';
import DOMTokenList from '../../dom-token-list/DOMTokenList';
import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
import QuerySelector from '../../query-selector/QuerySelector';
-import SelectorItem from '../../query-selector/SelectorItem';
import MutationRecord from '../../mutation-observer/MutationRecord';
import MutationTypeEnum from '../../mutation-observer/MutationTypeEnum';
import NamespaceURI from '../../config/NamespaceURI';
@@ -26,6 +25,8 @@ import { TInsertAdjacentPositions } from './IElement';
import IText from '../text/IText';
import IDOMRectList from './IDOMRectList';
import DOMRectListFactory from './DOMRectListFactory';
+import IAttr from '../attr/IAttr';
+import Event from '../../event/Event';
/**
* Element.
@@ -38,15 +39,52 @@ export default class Element extends Node implements IElement {
public tagName: string = null;
public nodeType = Node.ELEMENT_NODE;
public shadowRoot: IShadowRoot = null;
+ public prefix: string = null;
public scrollTop = 0;
public scrollLeft = 0;
public children: IHTMLCollection = HTMLCollectionFactory.create();
public readonly namespaceURI: string = null;
+ // Events
+ public oncancel: (event: Event) => void | null = null;
+ public onerror: (event: Event) => void | null = null;
+ public onscroll: (event: Event) => void | null = null;
+ public onselect: (event: Event) => void | null = null;
+ public onwheel: (event: Event) => void | null = null;
+ public oncopy: (event: Event) => void | null = null;
+ public oncut: (event: Event) => void | null = null;
+ public onpaste: (event: Event) => void | null = null;
+ public oncompositionend: (event: Event) => void | null = null;
+ public oncompositionstart: (event: Event) => void | null = null;
+ public oncompositionupdate: (event: Event) => void | null = null;
+ public onblur: (event: Event) => void | null = null;
+ public onfocus: (event: Event) => void | null = null;
+ public onfocusin: (event: Event) => void | null = null;
+ public onfocusout: (event: Event) => void | null = null;
+ public onfullscreenchange: (event: Event) => void | null = null;
+ public onfullscreenerror: (event: Event) => void | null = null;
+ public onkeydown: (event: Event) => void | null = null;
+ public onkeyup: (event: Event) => void | null = null;
+ public onauxclick: (event: Event) => void | null = null;
+ public onclick: (event: Event) => void | null = null;
+ public oncontextmenu: (event: Event) => void | null = null;
+ public ondblclick: (event: Event) => void | null = null;
+ public onmousedown: (event: Event) => void | null = null;
+ public onmouseenter: (event: Event) => void | null = null;
+ public onmouseleave: (event: Event) => void | null = null;
+ public onmousemove: (event: Event) => void | null = null;
+ public onmouseout: (event: Event) => void | null = null;
+ public onmouseover: (event: Event) => void | null = null;
+ public onmouseup: (event: Event) => void | null = null;
+ public ontouchcancel: (event: Event) => void | null = null;
+ public ontouchend: (event: Event) => void | null = null;
+ public ontouchmove: (event: Event) => void | null = null;
+ public ontouchstart: (event: Event) => void | null = null;
+
// Used for being able to access closed shadow roots
public _shadowRoot: IShadowRoot = null;
- public _attributes: { [k: string]: Attr } = {};
+ public _attributes: { [k: string]: IAttr } = {};
private _classList: DOMTokenList = null;
public _isValue?: string;
@@ -211,7 +249,7 @@ export default class Element extends Node implements IElement {
*
* @returns Attributes.
*/
- public get attributes(): { [k: string]: Attr | number } {
+ public get attributes(): { [k: string | number]: IAttr } & { length: number } {
const attributes = Object.values(this._attributes);
return Object.assign({}, this._attributes, attributes, {
length: attributes.length
@@ -302,6 +340,8 @@ export default class Element extends Node implements IElement {
public cloneNode(deep = false): IElement {
const clone = super.cloneNode(deep);
+ Attr._ownerDocument = this.ownerDocument;
+
for (const key of Object.keys(this._attributes)) {
const attr = Object.assign(new Attr(), this._attributes[key]);
(attr.ownerElement) = clone;
@@ -325,13 +365,9 @@ export default class Element extends Node implements IElement {
}
/**
- * Append a child node to childNodes.
- *
* @override
- * @param node Node to append.
- * @returns Appended node.
*/
- public appendChild(node: INode): INode {
+ public override appendChild(node: INode): INode {
// If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
if (node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {
@@ -351,12 +387,9 @@ export default class Element extends Node implements IElement {
}
/**
- * Remove Child element from childNodes array.
- *
* @override
- * @param node Node to remove.
*/
- public removeChild(node: INode): INode {
+ public override removeChild(node: INode): INode {
if (node.nodeType === Node.ELEMENT_NODE) {
const index = this.children.indexOf(node);
if (index !== -1) {
@@ -375,14 +408,9 @@ export default class Element extends Node implements IElement {
}
/**
- * Inserts a node before another.
- *
* @override
- * @param newNode Node to insert.
- * @param [referenceNode] Node to insert before.
- * @returns Inserted node.
*/
- public insertBefore(newNode: INode, referenceNode?: INode): INode {
+ public override insertBefore(newNode: INode, referenceNode: INode | null): INode {
const returnValue = super.insertBefore(newNode, referenceNode);
// If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
@@ -703,12 +731,7 @@ export default class Element extends Node implements IElement {
* @returns "true" if matching.
*/
public matches(selector: string): boolean {
- for (const part of selector.split(',')) {
- if (new SelectorItem(part.trim()).match(this)) {
- return true;
- }
- }
- return false;
+ return QuerySelector.match(this, selector).matches;
}
/**
@@ -802,15 +825,19 @@ export default class Element extends Node implements IElement {
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- public setAttributeNode(attribute: Attr): Attr {
+ public setAttributeNode(attribute: IAttr): IAttr {
const name = this._getAttributeName(attribute.name);
const replacedAttribute = this._attributes[name];
const oldValue = replacedAttribute ? replacedAttribute.value : null;
attribute.name = name;
- (attribute.ownerElement) = this;
+ (attribute.ownerElement) = this;
(attribute.ownerDocument) = this.ownerDocument;
+ if (this.isConnected) {
+ this.ownerDocument['_cacheID']++;
+ }
+
this._attributes[name] = attribute;
this._updateDomListIndices();
@@ -849,7 +876,7 @@ export default class Element extends Node implements IElement {
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- public setAttributeNodeNS(attribute: Attr): Attr {
+ public setAttributeNodeNS(attribute: IAttr): IAttr {
return this.setAttributeNode(attribute);
}
@@ -859,7 +886,7 @@ export default class Element extends Node implements IElement {
* @param name Name.
* @returns Replaced attribute.
*/
- public getAttributeNode(name: string): Attr {
+ public getAttributeNode(name: string): IAttr {
return this._attributes[this._getAttributeName(name)] || null;
}
@@ -870,7 +897,7 @@ export default class Element extends Node implements IElement {
* @param name Name.
* @returns Replaced attribute.
*/
- public getAttributeNodeNS(namespace: string, name: string): Attr {
+ public getAttributeNodeNS(namespace: string, name: string): IAttr {
const attributeName = this._getAttributeName(name);
if (
this._attributes[attributeName] &&
@@ -893,9 +920,13 @@ export default class Element extends Node implements IElement {
*
* @param attribute Attribute.
*/
- public removeAttributeNode(attribute: Attr): void {
+ public removeAttributeNode(attribute: IAttr): void {
delete this._attributes[attribute.name];
+ if (this.isConnected) {
+ this.ownerDocument['_cacheID']++;
+ }
+
this._updateDomListIndices();
if (
@@ -930,7 +961,7 @@ export default class Element extends Node implements IElement {
*
* @param attribute Attribute.
*/
- public removeAttributeNodeNS(attribute: Attr): void {
+ public removeAttributeNodeNS(attribute: IAttr): void {
this.removeAttributeNode(attribute);
}
diff --git a/packages/happy-dom/src/nodes/element/IElement.ts b/packages/happy-dom/src/nodes/element/IElement.ts
index 72c0cab6f..20c6c7656 100644
--- a/packages/happy-dom/src/nodes/element/IElement.ts
+++ b/packages/happy-dom/src/nodes/element/IElement.ts
@@ -1,5 +1,5 @@
import IShadowRoot from '../shadow-root/IShadowRoot';
-import Attr from '../../attribute/Attr';
+import IAttr from '../attr/IAttr';
import DOMRect from './DOMRect';
import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
import INode from './../node/INode';
@@ -7,6 +7,7 @@ import IChildNode from '../child-node/IChildNode';
import IParentNode from '../parent-node/IParentNode';
import INonDocumentTypeChildNode from '../child-node/INonDocumentTypeChildNode';
import IDOMRectList from './IDOMRectList';
+import Event from '../../event/Event';
export type TInsertAdjacentPositions = 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend';
@@ -18,6 +19,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
readonly shadowRoot: IShadowRoot;
readonly classList: IDOMTokenList;
readonly namespaceURI: string;
+ prefix: string | null;
scrollTop: number;
scrollLeft: number;
id: string;
@@ -27,7 +29,43 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
slot: string;
readonly nodeName: string;
readonly localName: string;
- readonly attributes: { [k: string]: Attr | number };
+ readonly attributes: { [k: string | number]: IAttr } & { length: number };
+
+ // Events
+ oncancel: (event: Event) => void | null;
+ onerror: (event: Event) => void | null;
+ onscroll: (event: Event) => void | null;
+ onselect: (event: Event) => void | null;
+ onwheel: (event: Event) => void | null;
+ oncopy: (event: Event) => void | null;
+ oncut: (event: Event) => void | null;
+ onpaste: (event: Event) => void | null;
+ oncompositionend: (event: Event) => void | null;
+ oncompositionstart: (event: Event) => void | null;
+ oncompositionupdate: (event: Event) => void | null;
+ onblur: (event: Event) => void | null;
+ onfocus: (event: Event) => void | null;
+ onfocusin: (event: Event) => void | null;
+ onfocusout: (event: Event) => void | null;
+ onfullscreenchange: (event: Event) => void | null;
+ onfullscreenerror: (event: Event) => void | null;
+ onkeydown: (event: Event) => void | null;
+ onkeyup: (event: Event) => void | null;
+ onauxclick: (event: Event) => void | null;
+ onclick: (event: Event) => void | null;
+ oncontextmenu: (event: Event) => void | null;
+ ondblclick: (event: Event) => void | null;
+ onmousedown: (event: Event) => void | null;
+ onmouseenter: (event: Event) => void | null;
+ onmouseleave: (event: Event) => void | null;
+ onmousemove: (event: Event) => void | null;
+ onmouseout: (event: Event) => void | null;
+ onmouseover: (event: Event) => void | null;
+ onmouseup: (event: Event) => void | null;
+ ontouchcancel: (event: Event) => void | null;
+ ontouchend: (event: Event) => void | null;
+ ontouchmove: (event: Event) => void | null;
+ ontouchstart: (event: Event) => void | null;
/**
* Attribute changed callback.
@@ -190,7 +228,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- setAttributeNode(attribute: Attr): Attr;
+ setAttributeNode(attribute: IAttr): IAttr;
/**
* The setAttributeNodeNS() method adds a new Attr node to the specified element.
@@ -198,7 +236,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- setAttributeNodeNS(attribute: Attr): Attr;
+ setAttributeNodeNS(attribute: IAttr): IAttr;
/**
* Returns an Attr node.
@@ -206,7 +244,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
* @param name Name.
* @returns Replaced attribute.
*/
- getAttributeNode(name: string): Attr;
+ getAttributeNode(name: string): IAttr;
/**
* Returns a namespaced Attr node.
@@ -215,21 +253,21 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
* @param nodeName Node name.
* @returns Replaced attribute.
*/
- getAttributeNodeNS(namespace: string, nodeName: string): Attr;
+ getAttributeNodeNS(namespace: string, nodeName: string): IAttr;
/**
* Removes an Attr node.
*
* @param attribute Attribute.
*/
- removeAttributeNode(attribute: Attr): void;
+ removeAttributeNode(attribute: IAttr): void;
/**
* Removes an Attr node.
*
* @param attribute Attribute.
*/
- removeAttributeNodeNS(attribute: Attr): void;
+ removeAttributeNodeNS(attribute: IAttr): void;
/**
* Clones a node.
diff --git a/packages/happy-dom/src/nodes/html-audio-element/HTMLAudioElement.ts b/packages/happy-dom/src/nodes/html-audio-element/HTMLAudioElement.ts
new file mode 100644
index 000000000..2069ffc0f
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-audio-element/HTMLAudioElement.ts
@@ -0,0 +1,11 @@
+import HTMLMediaElement from '../html-media-element/HTMLMediaElement';
+import IHTMLAudioElement from './IHTMLAudioElement';
+
+/**
+ * HTML Audio Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement.
+ *
+ */
+export default class HTMLAudioElement extends HTMLMediaElement implements IHTMLAudioElement {}
diff --git a/packages/happy-dom/src/nodes/html-audio-element/IHTMLAudioElement.ts b/packages/happy-dom/src/nodes/html-audio-element/IHTMLAudioElement.ts
new file mode 100644
index 000000000..1ed0379e4
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-audio-element/IHTMLAudioElement.ts
@@ -0,0 +1,11 @@
+import IHTMLMediaElement from '../html-media-element/IHTMLMediaElement';
+
+/**
+ * HTML Audio Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement.
+ */
+
+type IHTMLAudioElement = IHTMLMediaElement;
+export default IHTMLAudioElement;
diff --git a/packages/happy-dom/src/nodes/html-button-element/HTMLButtonElement.ts b/packages/happy-dom/src/nodes/html-button-element/HTMLButtonElement.ts
new file mode 100644
index 000000000..c91cc159d
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-button-element/HTMLButtonElement.ts
@@ -0,0 +1,86 @@
+import HTMLElement from '../html-element/HTMLElement';
+import IHTMLButtonElement from './IHTMLButtonElement';
+
+const BUTTON_TYPES = ['submit', 'reset', 'button', 'menu'];
+
+/**
+
+We can improve performance a bit if we make the types as a constant.
+ * HTML Button Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.
+ */
+export default class HTMLButtonElement extends HTMLElement implements IHTMLButtonElement {
+ /**
+ * Returns value.
+ *
+ * @returns Value.
+ */
+ public get value(): string {
+ return this.getAttributeNS(null, 'value');
+ }
+
+ /**
+ * Sets value.
+ *
+ * @param value Value.
+ */
+ public set value(value: string) {
+ this.setAttributeNS(null, 'value', value);
+ }
+
+ /**
+ * Returns disabled.
+ *
+ * @returns Disabled.
+ */
+ public get disabled(): boolean {
+ return this.getAttributeNS(null, 'disabled') !== null;
+ }
+
+ /**
+ * Sets disabled.
+ *
+ * @param disabled Disabled.
+ */
+ public set disabled(disabled: boolean) {
+ if (!disabled) {
+ this.removeAttributeNS(null, 'disabled');
+ } else {
+ this.setAttributeNS(null, 'disabled', '');
+ }
+ }
+
+ /**
+ * Returns type
+ *
+ * @returns Type
+ */
+ public get type(): string {
+ return this._sanitizeType(this.getAttributeNS(null, 'type'));
+ }
+
+ /**
+ * Sets type
+ *
+ * @param v Type
+ */
+ public set type(v: string) {
+ this.setAttributeNS(null, 'type', this._sanitizeType(v));
+ }
+
+ /**
+ *
+ * @param type
+ */
+ protected _sanitizeType(type: string): string {
+ type = (type && type.toLowerCase()) || 'submit';
+
+ if (!BUTTON_TYPES.includes(type)) {
+ type = 'submit';
+ }
+
+ return type;
+ }
+}
diff --git a/packages/happy-dom/src/nodes/html-button-element/IHTMLButtonElement.ts b/packages/happy-dom/src/nodes/html-button-element/IHTMLButtonElement.ts
new file mode 100644
index 000000000..e92f8e159
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-button-element/IHTMLButtonElement.ts
@@ -0,0 +1,13 @@
+import IHTMLElement from '../html-element/IHTMLElement';
+
+/**
+ * HTML Button Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.
+ */
+export default interface IHTMLButtonElement extends IHTMLElement {
+ type: string;
+ disabled: boolean;
+ value: string;
+}
diff --git a/packages/happy-dom/src/nodes/html-dialog-element/HTMLDialogElement.ts b/packages/happy-dom/src/nodes/html-dialog-element/HTMLDialogElement.ts
index 130ecc469..21a9f1eb7 100644
--- a/packages/happy-dom/src/nodes/html-dialog-element/HTMLDialogElement.ts
+++ b/packages/happy-dom/src/nodes/html-dialog-element/HTMLDialogElement.ts
@@ -11,6 +11,10 @@ import IHTMLDialogElement from './IHTMLDialogElement';
export default class HTMLDialogElement extends HTMLElement implements IHTMLDialogElement {
public returnValue = '';
+ // Events
+ public oncancel: (event: Event) => void | null = null;
+ public onclose: (event: Event) => void | null = null;
+
/**
* Returns open.
*
diff --git a/packages/happy-dom/src/nodes/html-dialog-element/IHTMLDialogElement.ts b/packages/happy-dom/src/nodes/html-dialog-element/IHTMLDialogElement.ts
index 2633a9356..a1f96908b 100644
--- a/packages/happy-dom/src/nodes/html-dialog-element/IHTMLDialogElement.ts
+++ b/packages/happy-dom/src/nodes/html-dialog-element/IHTMLDialogElement.ts
@@ -1,3 +1,4 @@
+import Event from '../../event/Event';
import IHTMLElement from '../html-element/IHTMLElement';
/**
@@ -10,6 +11,10 @@ export default interface IHTMLDialogElement extends IHTMLElement {
open: boolean;
returnValue: string;
+ // Events
+ oncancel: (event: Event) => void | null;
+ onclose: (event: Event) => void | null;
+
/**
* Closes the dialog.
*
diff --git a/packages/happy-dom/src/nodes/html-element/DatasetUtility.ts b/packages/happy-dom/src/nodes/html-element/DatasetUtility.ts
index f4305197e..e3d2ad017 100644
--- a/packages/happy-dom/src/nodes/html-element/DatasetUtility.ts
+++ b/packages/happy-dom/src/nodes/html-element/DatasetUtility.ts
@@ -23,6 +23,8 @@ export default class DatasetUtility {
* @returns Kebab cased string.
*/
public static camelCaseToKebab(text: string): string {
- return text.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());
+ return text
+ .toString()
+ .replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());
}
}
diff --git a/packages/happy-dom/src/nodes/html-element/HTMLElement.ts b/packages/happy-dom/src/nodes/html-element/HTMLElement.ts
index e7bc9eb4a..beb210e7a 100644
--- a/packages/happy-dom/src/nodes/html-element/HTMLElement.ts
+++ b/packages/happy-dom/src/nodes/html-element/HTMLElement.ts
@@ -1,11 +1,13 @@
import Element from '../element/Element';
import IHTMLElement from './IHTMLElement';
-import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
-import Attr from '../../attribute/Attr';
+import CSSStyleDeclaration from '../../css/declaration/CSSStyleDeclaration';
+import IAttr from '../attr/IAttr';
import FocusEvent from '../../event/events/FocusEvent';
import PointerEvent from '../../event/events/PointerEvent';
-import Node from '../node/Node';
import DatasetUtility from './DatasetUtility';
+import NodeTypeEnum from '../node/NodeTypeEnum';
+import DOMException from '../../exception/DOMException';
+import Event from '../../event/Event';
/**
* HTML Element.
@@ -28,6 +30,33 @@ export default class HTMLElement extends Element implements IHTMLElement {
private _style: CSSStyleDeclaration = null;
private _dataset: { [key: string]: string } = null;
+ // Events
+ public oncopy: (event: Event) => void | null = null;
+ public oncut: (event: Event) => void | null = null;
+ public onpaste: (event: Event) => void | null = null;
+ public oninvalid: (event: Event) => void | null = null;
+ public onanimationcancel: (event: Event) => void | null = null;
+ public onanimationend: (event: Event) => void | null = null;
+ public onanimationiteration: (event: Event) => void | null = null;
+ public onanimationstart: (event: Event) => void | null = null;
+ public onbeforeinput: (event: Event) => void | null = null;
+ public oninput: (event: Event) => void | null = null;
+ public onchange: (event: Event) => void | null = null;
+ public ongotpointercapture: (event: Event) => void | null = null;
+ public onlostpointercapture: (event: Event) => void | null = null;
+ public onpointercancel: (event: Event) => void | null = null;
+ public onpointerdown: (event: Event) => void | null = null;
+ public onpointerenter: (event: Event) => void | null = null;
+ public onpointerleave: (event: Event) => void | null = null;
+ public onpointermove: (event: Event) => void | null = null;
+ public onpointerout: (event: Event) => void | null = null;
+ public onpointerover: (event: Event) => void | null = null;
+ public onpointerup: (event: Event) => void | null = null;
+ public ontransitioncancel: (event: Event) => void | null = null;
+ public ontransitionend: (event: Event) => void | null = null;
+ public ontransitionrun: (event: Event) => void | null = null;
+ public ontransitionstart: (event: Event) => void | null = null;
+
/**
* Returns tab index.
*
@@ -54,32 +83,109 @@ export default class HTMLElement extends Element implements IHTMLElement {
/**
* Returns inner text, which is the rendered appearance of text.
*
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute
* @returns Inner text.
*/
public get innerText(): string {
+ if (!this.isConnected) {
+ return this.textContent;
+ }
+
let result = '';
+
for (const childNode of this.childNodes) {
- if (childNode instanceof HTMLElement) {
- if (childNode.tagName !== 'SCRIPT' && childNode.tagName !== 'STYLE') {
- result += childNode.innerText;
+ if (childNode.nodeType === NodeTypeEnum.elementNode) {
+ const childElement = childNode;
+ const computedStyle = this.ownerDocument.defaultView.getComputedStyle(childElement);
+
+ if (childElement.tagName !== 'SCRIPT' && childElement.tagName !== 'STYLE') {
+ const display = computedStyle.display;
+ if (display !== 'none') {
+ const textTransform = computedStyle.textTransform;
+
+ if ((display === 'block' || display === 'flex') && result) {
+ result += '\n';
+ }
+
+ let text = childElement.innerText;
+
+ switch (textTransform) {
+ case 'uppercase':
+ text = text.toUpperCase();
+ break;
+ case 'lowercase':
+ text = text.toLowerCase();
+ break;
+ case 'capitalize':
+ text = text.replace(/(^|\s)\S/g, (l) => l.toUpperCase());
+ break;
+ }
+
+ result += text;
+ }
}
- } else if (
- childNode.nodeType === Node.ELEMENT_NODE ||
- childNode.nodeType === Node.TEXT_NODE
- ) {
- result += childNode.textContent;
+ } else if (childNode.nodeType === NodeTypeEnum.textNode) {
+ result += childNode.textContent.replace(/[\n\r]/, '');
}
}
+
return result;
}
/**
* Sets the inner text, which is the rendered appearance of text.
*
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute
* @param innerText Inner text.
*/
- public set innerText(innerText: string) {
- this.textContent = innerText;
+ public set innerText(text: string) {
+ for (const child of this.childNodes.slice()) {
+ this.removeChild(child);
+ }
+
+ const texts = text.split(/[\n\r]/);
+
+ for (let i = 0, max = texts.length; i < max; i++) {
+ if (i !== 0) {
+ this.appendChild(this.ownerDocument.createElement('br'));
+ }
+ this.appendChild(this.ownerDocument.createTextNode(texts[i]));
+ }
+ }
+
+ /**
+ * Returns outer text.
+ *
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute
+ * @returns HTML.
+ */
+ public get outerText(): string {
+ return this.innerText;
+ }
+
+ /**
+ * Sets outer text.
+ *
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute
+ * @param text Text.
+ */
+ public set outerText(text: string) {
+ if (!this.parentNode) {
+ throw new DOMException(
+ "Failed to set the 'outerHTML' property on 'Element': This element has no parent node."
+ );
+ }
+
+ const texts = text.split(/[\n\r]/);
+
+ for (let i = 0, max = texts.length; i < max; i++) {
+ if (i !== 0) {
+ this.parentNode.insertBefore(this.ownerDocument.createElement('br'), this);
+ }
+ this.parentNode.insertBefore(this.ownerDocument.createTextNode(texts[i]), this);
+ }
+
+ this.parentNode.removeChild(this);
}
/**
@@ -89,7 +195,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
*/
public get style(): CSSStyleDeclaration {
if (!this._style) {
- this._style = new CSSStyleDeclaration(this._attributes);
+ this._style = new CSSStyleDeclaration(this);
}
return this._style;
}
@@ -253,8 +359,8 @@ export default class HTMLElement extends Element implements IHTMLElement {
bubbles: true,
composed: true
});
- event.target = this;
- event.currentTarget = this;
+ event._target = this;
+ event._currentTarget = this;
this.dispatchEvent(event);
}
@@ -273,8 +379,8 @@ export default class HTMLElement extends Element implements IHTMLElement {
bubbles: true,
composed: true
});
- event.target = this;
- event.currentTarget = this;
+ event._target = this;
+ event._currentTarget = this;
this.dispatchEvent(event);
}
}
@@ -298,8 +404,8 @@ export default class HTMLElement extends Element implements IHTMLElement {
bubbles: true,
composed: true
});
- event.target = this;
- event.currentTarget = this;
+ event._target = this;
+ event._currentTarget = this;
this.dispatchEvent(event);
}
}
@@ -311,7 +417,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- public setAttributeNode(attribute: Attr): Attr {
+ public setAttributeNode(attribute: IAttr): IAttr {
const replacedAttribute = super.setAttributeNode(attribute);
if (attribute.name === 'style' && this._style) {
@@ -327,7 +433,7 @@ export default class HTMLElement extends Element implements IHTMLElement {
* @override
* @param attribute Attribute.
*/
- public removeAttributeNode(attribute: Attr): void {
+ public removeAttributeNode(attribute: IAttr): void {
super.removeAttributeNode(attribute);
if (attribute.name === 'style' && this._style) {
diff --git a/packages/happy-dom/src/nodes/html-element/IHTMLElement.ts b/packages/happy-dom/src/nodes/html-element/IHTMLElement.ts
index a88fa6e46..f79f8b019 100644
--- a/packages/happy-dom/src/nodes/html-element/IHTMLElement.ts
+++ b/packages/happy-dom/src/nodes/html-element/IHTMLElement.ts
@@ -1,4 +1,5 @@
-import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
+import Event from '../../event/Event';
+import CSSStyleDeclaration from '../../css/declaration/CSSStyleDeclaration';
import IElement from '../element/IElement';
/**
@@ -9,6 +10,7 @@ import IElement from '../element/IElement';
*/
export default interface IHTMLElement extends IElement {
style: CSSStyleDeclaration;
+ dataset: { [key: string]: string };
tabIndex: number;
offsetHeight: number;
offsetWidth: number;
@@ -17,6 +19,34 @@ export default interface IHTMLElement extends IElement {
clientHeight: number;
clientWidth: number;
innerText: string;
+ outerText: string;
+
+ // Events
+ oncopy: (event: Event) => void | null;
+ oncut: (event: Event) => void | null;
+ onpaste: (event: Event) => void | null;
+ oninvalid: (event: Event) => void | null;
+ onanimationcancel: (event: Event) => void | null;
+ onanimationend: (event: Event) => void | null;
+ onanimationiteration: (event: Event) => void | null;
+ onanimationstart: (event: Event) => void | null;
+ onbeforeinput: (event: Event) => void | null;
+ oninput: (event: Event) => void | null;
+ onchange: (event: Event) => void | null;
+ ongotpointercapture: (event: Event) => void | null;
+ onlostpointercapture: (event: Event) => void | null;
+ onpointercancel: (event: Event) => void | null;
+ onpointerdown: (event: Event) => void | null;
+ onpointerenter: (event: Event) => void | null;
+ onpointerleave: (event: Event) => void | null;
+ onpointermove: (event: Event) => void | null;
+ onpointerout: (event: Event) => void | null;
+ onpointerover: (event: Event) => void | null;
+ onpointerup: (event: Event) => void | null;
+ ontransitioncancel: (event: Event) => void | null;
+ ontransitionend: (event: Event) => void | null;
+ ontransitionrun: (event: Event) => void | null;
+ ontransitionstart: (event: Event) => void | null;
/**
* Triggers a click event.
diff --git a/packages/happy-dom/src/nodes/html-form-element/HTMLFormElement.ts b/packages/happy-dom/src/nodes/html-form-element/HTMLFormElement.ts
index 5f335c1ba..cd1cf3ca0 100644
--- a/packages/happy-dom/src/nodes/html-form-element/HTMLFormElement.ts
+++ b/packages/happy-dom/src/nodes/html-form-element/HTMLFormElement.ts
@@ -1,6 +1,7 @@
import HTMLElement from '../html-element/HTMLElement';
import IElement from '../element/IElement';
import IHTMLFormElement from './IHTMLFormElement';
+import Event from '../../event/Event';
/**
* HTML Form Element.
@@ -9,6 +10,11 @@ import IHTMLFormElement from './IHTMLFormElement';
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.
*/
export default class HTMLFormElement extends HTMLElement implements IHTMLFormElement {
+ // Events
+ public onformdata: (event: Event) => void | null = null;
+ public onreset: (event: Event) => void | null = null;
+ public onsubmit: (event: Event) => void | null = null;
+
/**
* Returns name.
*
diff --git a/packages/happy-dom/src/nodes/html-form-element/IHTMLFormElement.ts b/packages/happy-dom/src/nodes/html-form-element/IHTMLFormElement.ts
index 56a5aebc9..0c0f87aa7 100644
--- a/packages/happy-dom/src/nodes/html-form-element/IHTMLFormElement.ts
+++ b/packages/happy-dom/src/nodes/html-form-element/IHTMLFormElement.ts
@@ -1,3 +1,4 @@
+import Event from '../../event/Event';
import IElement from '../element/IElement';
import IHTMLElement from '../html-element/IHTMLElement';
@@ -20,6 +21,11 @@ export default interface IHTMLFormElement extends IHTMLElement {
elements: IElement[];
length: number;
+ // Events
+ onformdata: (event: Event) => void | null;
+ onreset: (event: Event) => void | null;
+ onsubmit: (event: Event) => void | null;
+
/**
* Submits form.
*/
diff --git a/packages/happy-dom/src/nodes/html-input-element/HTMLInputElement.ts b/packages/happy-dom/src/nodes/html-input-element/HTMLInputElement.ts
index 0ab5a3f7e..df4ad62f9 100644
--- a/packages/happy-dom/src/nodes/html-input-element/HTMLInputElement.ts
+++ b/packages/happy-dom/src/nodes/html-input-element/HTMLInputElement.ts
@@ -38,6 +38,11 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
// Type specific: file
public files: File[] = [];
+ // Events
+ public oninput: (event: Event) => void | null = null;
+ public oninvalid: (event: Event) => void | null = null;
+ public onselectionchange: (event: Event) => void | null = null;
+
// Type specific: text/password/search/tel/url/week/month
private _selectionStart: number = null;
private _selectionEnd: number = null;
diff --git a/packages/happy-dom/src/nodes/html-input-element/IHTMLInputElement.ts b/packages/happy-dom/src/nodes/html-input-element/IHTMLInputElement.ts
index 1ca4019ff..d6919cdcc 100644
--- a/packages/happy-dom/src/nodes/html-input-element/IHTMLInputElement.ts
+++ b/packages/happy-dom/src/nodes/html-input-element/IHTMLInputElement.ts
@@ -3,6 +3,7 @@ import IHTMLElement from '../html-element/IHTMLElement';
import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
import HTMLInputElementSelectionModeEnum from './HTMLInputElementSelectionModeEnum';
import ValidityState from '../validity-state/ValidityState';
+import Event from '../../event/Event';
/**
* HTML Input Element.
@@ -53,6 +54,11 @@ export default interface IHTMLInputElement extends IHTMLElement {
valueAsNumber: number;
validationMessage: string;
+ // Events
+ oninput: (event: Event) => void | null;
+ oninvalid: (event: Event) => void | null;
+ onselectionchange: (event: Event) => void | null;
+
/**
* Sets validation message.
*
diff --git a/packages/happy-dom/src/nodes/html-link-element/HTMLLinkElement.ts b/packages/happy-dom/src/nodes/html-link-element/HTMLLinkElement.ts
index cd753d35a..22ccefadf 100644
--- a/packages/happy-dom/src/nodes/html-link-element/HTMLLinkElement.ts
+++ b/packages/happy-dom/src/nodes/html-link-element/HTMLLinkElement.ts
@@ -1,4 +1,4 @@
-import Attr from '../../attribute/Attr';
+import IAttr from '../attr/IAttr';
import CSSStyleSheet from '../../css/CSSStyleSheet';
import ResourceFetchHandler from '../../fetch/ResourceFetchHandler';
import HTMLElement from '../html-element/HTMLElement';
@@ -186,7 +186,7 @@ export default class HTMLLinkElement extends HTMLElement implements IHTMLLinkEle
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- public setAttributeNode(attribute: Attr): Attr {
+ public setAttributeNode(attribute: IAttr): IAttr {
const replacedAttribute = super.setAttributeNode(attribute);
const rel = this.getAttributeNS(null, 'rel');
const href = this.getAttributeNS(null, 'href');
diff --git a/packages/happy-dom/src/nodes/html-media-element/HTMLMediaElement.ts b/packages/happy-dom/src/nodes/html-media-element/HTMLMediaElement.ts
new file mode 100644
index 000000000..eacef0981
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-media-element/HTMLMediaElement.ts
@@ -0,0 +1,456 @@
+import ErrorEvent from 'src/event/events/ErrorEvent';
+import Event from '../../event/Event';
+import DOMException from '../../exception/DOMException';
+import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum';
+import HTMLElement from '../html-element/HTMLElement';
+import IHTMLMediaElement, { IMediaError } from './IHTMLMediaElement';
+
+/**
+ *
+ * This implementation coming from jsdom
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/nodes/HTMLMediaElement-impl.js#L7
+ *
+ */
+function getTimeRangeDummy(): object {
+ return {
+ length: 0,
+ start() {
+ return 0;
+ },
+ end() {
+ return 0;
+ }
+ };
+}
+/**
+ * HTML Media Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.
+ *
+ */
+export default class HTMLMediaElement extends HTMLElement implements IHTMLMediaElement {
+ // Public Properties
+ public readonly buffered = getTimeRangeDummy();
+ public readonly duration = NaN;
+ public readonly error: IMediaError = null;
+ public readonly ended = false;
+ public readonly networkState = 0;
+ public readonly readyState = 0;
+ public readonly textTracks = [];
+ public readonly videoTracks = [];
+ public readonly seeking = false;
+ public readonly seekable = getTimeRangeDummy();
+ public readonly played = getTimeRangeDummy();
+
+ // Events
+ public onabort: (event: Event) => void | null = null;
+ public oncanplay: (event: Event) => void | null = null;
+ public oncanplaythrough: (event: Event) => void | null = null;
+ public ondurationchange: (event: Event) => void | null = null;
+ public onemptied: (event: Event) => void | null = null;
+ public onended: (event: Event) => void | null = null;
+ public onerror: (event: ErrorEvent) => void | null = null;
+ public onloadeddata: (event: Event) => void | null = null;
+ public onloadedmetadata: (event: Event) => void | null = null;
+ public onloadstart: (event: Event) => void | null = null;
+ public onpause: (event: Event) => void | null = null;
+ public onplay: (event: Event) => void | null = null;
+ public onplaying: (event: Event) => void | null = null;
+ public onprogress: (event: Event) => void | null = null;
+ public onratechange: (event: Event) => void | null = null;
+ public onresize: (event: Event) => void | null = null;
+ public onseeked: (event: Event) => void | null = null;
+ public onseeking: (event: Event) => void | null = null;
+ public onstalled: (event: Event) => void | null = null;
+ public onsuspend: (event: Event) => void | null = null;
+ public ontimeupdate: (event: Event) => void | null = null;
+ public onvolumechange: (event: Event) => void | null = null;
+ public onwaiting: (event: Event) => void | null = null;
+
+ #volume = 1;
+ #paused = true;
+ #currentTime = 0;
+ #playbackRate = 1;
+ #defaultPlaybackRate = 1;
+ #muted = false;
+ #defaultMuted = false;
+ #preservesPitch = true;
+ /**
+ * Returns autoplay.
+ *
+ * @returns Autoplay.
+ */
+ public get autoplay(): boolean {
+ return this.getAttributeNS(null, 'autoplay') !== null;
+ }
+
+ /**
+ * Sets autoplay.
+ *
+ * @param autoplay Autoplay.
+ */
+ public set autoplay(autoplay: boolean) {
+ if (!autoplay) {
+ this.removeAttributeNS(null, 'autoplay');
+ } else {
+ this.setAttributeNS(null, 'autoplay', '');
+ }
+ }
+
+ /**
+ * Returns controls.
+ *
+ * @returns Controls.
+ */
+ public get controls(): boolean {
+ return this.getAttributeNS(null, 'controls') !== null;
+ }
+
+ /**
+ * Sets controls.
+ *
+ * @param controls Controls.
+ */
+ public set controls(controls: boolean) {
+ if (!controls) {
+ this.removeAttributeNS(null, 'controls');
+ } else {
+ this.setAttributeNS(null, 'controls', '');
+ }
+ }
+
+ /**
+ * Returns loop.
+ *
+ * @returns Loop.
+ */
+ public get loop(): boolean {
+ return this.getAttributeNS(null, 'loop') !== null;
+ }
+
+ /**
+ * Sets loop.
+ *
+ * @param loop Loop.
+ */
+ public set loop(loop: boolean) {
+ if (!loop) {
+ this.removeAttributeNS(null, 'loop');
+ } else {
+ this.setAttributeNS(null, 'loop', '');
+ }
+ }
+ /**
+ * Returns muted.
+ *
+ * @returns Muted.
+ */
+ public get muted(): boolean {
+ if (this.#muted) {
+ return this.#muted;
+ }
+
+ if (!this.#defaultMuted) {
+ return this.getAttributeNS(null, 'muted') !== null;
+ }
+
+ return false;
+ }
+
+ /**
+ * Sets muted.
+ *
+ * @param muted Muted.
+ */
+ public set muted(muted: boolean) {
+ this.#muted = !!muted;
+ if (!muted && !this.#defaultMuted) {
+ this.removeAttributeNS(null, 'muted');
+ } else {
+ this.setAttributeNS(null, 'muted', '');
+ }
+ }
+
+ /**
+ * Returns defaultMuted.
+ *
+ * @returns DefaultMuted.
+ */
+ public get defaultMuted(): boolean {
+ return this.#defaultMuted;
+ }
+
+ /**
+ * Sets defaultMuted.
+ *
+ * @param defaultMuted DefaultMuted.
+ */
+ public set defaultMuted(defaultMuted: boolean) {
+ this.#defaultMuted = !!defaultMuted;
+ if (!this.#defaultMuted && !this.#muted) {
+ this.removeAttributeNS(null, 'muted');
+ } else {
+ this.setAttributeNS(null, 'muted', '');
+ }
+ }
+
+ /**
+ * Returns src.
+ *
+ * @returns Src.
+ */
+ public get src(): string {
+ return this.getAttributeNS(null, 'src') || '';
+ }
+
+ /**
+ * Sets src.
+ *
+ * @param src Src.
+ */
+ public set src(src: string) {
+ this.setAttributeNS(null, 'src', src);
+ if (Boolean(src)) {
+ this.dispatchEvent(new Event('canplay', { bubbles: false, cancelable: false }));
+ this.dispatchEvent(new Event('durationchange', { bubbles: false, cancelable: false }));
+ }
+ }
+
+ /**
+ * Returns currentSrc.
+ *
+ * @returns CurrentrSrc.
+ */
+ public get currentSrc(): string {
+ return this.src;
+ }
+
+ /**
+ * Returns volume.
+ *
+ * @returns Volume.
+ */
+ public get volume(): number {
+ return this.#volume;
+ }
+
+ /**
+ * Sets volume.
+ *
+ * @param volume Volume.
+ */
+ public set volume(volume: number | string) {
+ const parsedVolume = Number(volume);
+
+ if (isNaN(parsedVolume)) {
+ throw new TypeError(
+ `Failed to set the 'volume' property on 'HTMLMediaElement': The provided double value is non-finite.`
+ );
+ }
+ if (parsedVolume < 0 || parsedVolume > 1) {
+ throw new DOMException(
+ `Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided (${parsedVolume}) is outside the range [0, 1].`,
+ DOMExceptionNameEnum.indexSizeError
+ );
+ }
+ // TODO: volumechange event https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/volumechange_event
+ this.#volume = parsedVolume;
+ }
+
+ /**
+ * Returns crossOrigin.
+ *
+ * @returns CrossOrigin.
+ */
+ public get crossOrigin(): string {
+ return this.getAttributeNS(null, 'crossorigin');
+ }
+
+ /**
+ * Sets crossOrigin.
+ *
+ * @param crossOrigin CrossOrigin.
+ */
+ public set crossOrigin(crossOrigin: string | null) {
+ if (crossOrigin === null) {
+ return;
+ }
+
+ if (['', 'use-credentials', 'anonymous'].includes(crossOrigin)) {
+ this.setAttributeNS(null, 'crossorigin', crossOrigin);
+ } else {
+ this.setAttributeNS(null, 'crossorigin', 'anonymous');
+ }
+ }
+
+ /**
+ * Returns currentTime.
+ *
+ * @returns CurrentTime.
+ */
+ public get currentTime(): number {
+ return this.#currentTime;
+ }
+
+ /**
+ * Sets currentTime.
+ *
+ * @param currentTime CurrentTime.
+ */
+ public set currentTime(currentTime: number | string) {
+ const parsedCurrentTime = Number(currentTime);
+ if (isNaN(parsedCurrentTime)) {
+ throw new TypeError(
+ `Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite.`
+ );
+ }
+ this.#currentTime = parsedCurrentTime;
+ }
+
+ /**
+ * Returns playbackRate.
+ *
+ * @returns PlaybackRate.
+ */
+ public get playbackRate(): number {
+ return this.#playbackRate;
+ }
+
+ /**
+ * Sets playbackRate.
+ *
+ * @param playbackRate PlaybackRate.
+ */
+ public set playbackRate(playbackRate: number | string) {
+ const parsedPlaybackRate = Number(playbackRate);
+ if (isNaN(parsedPlaybackRate)) {
+ throw new TypeError(
+ `Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`
+ );
+ }
+ this.#playbackRate = parsedPlaybackRate;
+ }
+
+ /**
+ * Returns defaultPlaybackRate.
+ *
+ * @returns DefaultPlaybackRate.
+ */
+ public get defaultPlaybackRate(): number {
+ return this.#defaultPlaybackRate;
+ }
+
+ /**
+ * Sets defaultPlaybackRate.
+ *
+ * @param defaultPlaybackRate DefaultPlaybackRate.
+ */
+ public set defaultPlaybackRate(defaultPlaybackRate: number | string) {
+ const parsedDefaultPlaybackRate = Number(defaultPlaybackRate);
+ if (isNaN(parsedDefaultPlaybackRate)) {
+ throw new TypeError(
+ `Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`
+ );
+ }
+ this.#defaultPlaybackRate = parsedDefaultPlaybackRate;
+ }
+
+ /**
+ * Returns preservesPitch.
+ *
+ * @returns PlaybackRate.
+ */
+ public get preservesPitch(): boolean {
+ return this.#preservesPitch;
+ }
+
+ /**
+ * Sets preservesPitch.
+ *
+ * @param preservesPitch PreservesPitch.
+ */
+ public set preservesPitch(preservesPitch: boolean) {
+ this.#preservesPitch = Boolean(preservesPitch);
+ }
+
+ /**
+ * Returns preload.
+ *
+ * @returns preload.
+ */
+ public get preload(): string {
+ return this.getAttributeNS(null, 'preload') || 'auto';
+ }
+
+ /**
+ * Sets preload.
+ *
+ * @param preload preload.
+ */
+ public set preload(preload: string) {
+ this.setAttributeNS(null, 'preload', preload);
+ }
+
+ /**
+ * Returns paused.
+ *
+ * @returns Paused.
+ */
+ public get paused(): boolean {
+ return this.#paused;
+ }
+
+ /**
+ * Pause played media.
+ */
+ public pause(): void {
+ this.#paused = true;
+ this.dispatchEvent(new Event('pause', { bubbles: false, cancelable: false }));
+ }
+
+ /**
+ * Start playing media.
+ */
+ public async play(): Promise {
+ this.#paused = false;
+ return Promise.resolve();
+ }
+
+ /**
+ *
+ * @param _type
+ */
+ public canPlayType(_type: string): string {
+ return '';
+ }
+
+ /**
+ * Load media.
+ */
+ public load(): void {
+ this.dispatchEvent(new Event('emptied', { bubbles: false, cancelable: false }));
+ }
+
+ /**
+ *
+ */
+ public captureStream(): object {
+ return {};
+ }
+
+ /**
+ * Clones a node.
+ *
+ * @override
+ * @param [deep=false] "true" to clone deep.
+ * @returns Cloned node.
+ */
+ /**
+ *
+ * @param deep
+ */
+ public cloneNode(deep = false): IHTMLMediaElement {
+ return super.cloneNode(deep);
+ }
+}
diff --git a/packages/happy-dom/src/nodes/html-media-element/IHTMLMediaElement.ts b/packages/happy-dom/src/nodes/html-media-element/IHTMLMediaElement.ts
new file mode 100644
index 000000000..8309e40cb
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-media-element/IHTMLMediaElement.ts
@@ -0,0 +1,110 @@
+import Event from '../../event/Event';
+import IHTMLElement from '../html-element/IHTMLElement';
+
+/**
+ * HTML Media Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.
+ */
+
+export interface IMediaError {
+ code: number;
+ message: string;
+}
+export default interface IHTMLMediaElement extends IHTMLElement {
+ readonly currentSrc: string;
+ readonly duration: number;
+ readonly ended: boolean;
+ readonly error: IMediaError | null;
+ readonly networkState: number;
+ readonly played: object; // TimeRanges https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges
+ readonly readyState: number;
+ readonly seekable: object; // TimeRanges https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges
+ readonly seeking: boolean;
+ readonly textTracks: object[];
+ readonly videoTracks: object[];
+ readonly buffered: object; // TimeRanges https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges
+ autoplay: boolean;
+ controls: boolean;
+ crossOrigin: string; // Only anonymus and 'use-credentials' is valid
+ currentTime: number | string;
+ defaultMuted: boolean;
+ defaultPlaybackRate: number | string;
+ loop: boolean;
+ muted: boolean;
+ paused: boolean;
+ playbackRate: number | string;
+ preload: string;
+ preservesPitch: boolean;
+ src: string;
+ volume: number | string;
+
+ // Events
+ onabort: (event: Event) => void | null;
+ oncanplay: (event: Event) => void | null;
+ oncanplaythrough: (event: Event) => void | null;
+ ondurationchange: (event: Event) => void | null;
+ onemptied: (event: Event) => void | null;
+ onended: (event: Event) => void | null;
+ onerror: (event: Event) => void | null;
+ onloadeddata: (event: Event) => void | null;
+ onloadedmetadata: (event: Event) => void | null;
+ onloadstart: (event: Event) => void | null;
+ onpause: (event: Event) => void | null;
+ onplay: (event: Event) => void | null;
+ onplaying: (event: Event) => void | null;
+ onprogress: (event: Event) => void | null;
+ onratechange: (event: Event) => void | null;
+ onresize: (event: Event) => void | null;
+ onseeked: (event: Event) => void | null;
+ onseeking: (event: Event) => void | null;
+ onstalled: (event: Event) => void | null;
+ onsuspend: (event: Event) => void | null;
+ ontimeupdate: (event: Event) => void | null;
+ onvolumechange: (event: Event) => void | null;
+ onwaiting: (event: Event) => void | null;
+
+ /**
+ * A MediaStream object which can be used as a source for audio and/or video data by other media processing code,
+ * or as a source for WebRTC.
+ * Https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/captureStream
+ */
+ captureStream(): object;
+
+ /**
+ * The HTMLMediaElement method canPlayType() reports how likely it is that the current browser will be able to play
+ * media of a given MIME type.
+ * Https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canPlayType
+ * possible return value: "" | "probably" | "maybe".
+ */
+ canPlayType(_type: string): string;
+
+ /**
+ * The HTMLMediaElement method load() resets the media element to its initial state and begins the process of
+ * selecting a media source and loading the media in preparation for playback to begin at the beginning.
+ * Https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/load.
+ */
+ load(): void;
+
+ /**
+ * The HTMLMediaElement.pause() method will pause playback of the media, if the media is already in a paused state
+ * this method will have no effect.
+ */
+ pause(): void;
+
+ /**
+ * The HTMLMediaElement play() method attempts to begin playback of the media. It returns a Promise
+ * which is resolved when playback has been successfully started.
+ */
+ play(): Promise;
+
+ /**
+ * Clones a node.
+ *
+ * @override
+ * @param [deep=false] "true" to clone deep.
+ * @returns Cloned node.
+ */
+ cloneNode(deep: boolean): IHTMLMediaElement;
+}
diff --git a/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElement.ts b/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElement.ts
index e88bea395..a2b7a615b 100644
--- a/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElement.ts
+++ b/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElement.ts
@@ -1,7 +1,6 @@
import HTMLElement from '../html-element/HTMLElement';
import IHTMLElement from '../html-element/IHTMLElement';
import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
-import HTMLOptionElementValueSanitizer from './HTMLOptionElementValueSanitizer';
import IHTMLOptionElement from './IHTMLOptionElement';
/**
@@ -112,6 +111,6 @@ export default class HTMLOptionElement extends HTMLElement implements IHTMLOptio
* @param value Value.
*/
public set value(value: string) {
- this.setAttributeNS(null, 'value', HTMLOptionElementValueSanitizer.sanitize(value));
+ this.setAttributeNS(null, 'value', value);
}
}
diff --git a/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElementValueSanitizer.ts b/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElementValueSanitizer.ts
deleted file mode 100644
index a90e0f037..000000000
--- a/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElementValueSanitizer.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-const NEW_LINES_REGEXP = /[\n\r]/gm;
-
-/**
- * HTML select element value sanitizer.
- */
-export default class HTMLOptionElementValueSanitizer {
- /**
- * Sanitizes a value.
- *
- * @param value Value.
- */
- public static sanitize(value: string): string {
- return value.trim().replace(NEW_LINES_REGEXP, '');
- }
-}
diff --git a/packages/happy-dom/src/nodes/html-option-element/HTMLOptionsCollection.ts b/packages/happy-dom/src/nodes/html-option-element/HTMLOptionsCollection.ts
index fae98cfd2..9395783e6 100644
--- a/packages/happy-dom/src/nodes/html-option-element/HTMLOptionsCollection.ts
+++ b/packages/happy-dom/src/nodes/html-option-element/HTMLOptionsCollection.ts
@@ -1,7 +1,9 @@
import DOMException from '../../exception/DOMException';
import HTMLCollection from '../element/HTMLCollection';
-import HTMLOptGroupElement from '../html-opt-group-element/HTMLOptGroupElement';
+import IHTMLOptGroupElement from '../html-opt-group-element/IHTMLOptGroupElement';
+import IHTMLSelectElement from '../html-select-element/IHTMLSelectElement';
import HTMLOptionElement from './HTMLOptionElement';
+import IHTMLOptionElement from './IHTMLOptionElement';
import IHTMLOptionsCollection from './IHTMLOptionsCollection';
/**
@@ -14,7 +16,17 @@ export default class HTMLOptionsCollection
extends HTMLCollection
implements IHTMLOptionsCollection
{
- public _selectedIndex: number;
+ private _selectElement: IHTMLSelectElement;
+
+ /**
+ *
+ * @param selectElement
+ */
+ constructor(selectElement: IHTMLSelectElement) {
+ super();
+
+ this._selectElement = selectElement;
+ }
/**
* Returns selectedIndex.
@@ -22,7 +34,14 @@ export default class HTMLOptionsCollection
* @returns SelectedIndex.
*/
public get selectedIndex(): number {
- return this._selectedIndex;
+ for (let i = 0; i < this.length; i++) {
+ const item = this[i];
+ if (item instanceof HTMLOptionElement && item.selected) {
+ return i;
+ }
+ }
+
+ return -1;
}
/**
@@ -31,7 +50,12 @@ export default class HTMLOptionsCollection
* @param selectedIndex SelectedIndex.
*/
public set selectedIndex(selectedIndex: number) {
- this._selectedIndex = selectedIndex;
+ for (let i = 0; i < this.length; i++) {
+ const item = this[i];
+ if (item instanceof HTMLOptionElement) {
+ this[i].selected = i === selectedIndex;
+ }
+ }
}
/**
@@ -39,7 +63,7 @@ export default class HTMLOptionsCollection
*
* @param index Index.
*/
- public item(index: number): HTMLOptionElement | HTMLOptGroupElement {
+ public item(index: number): IHTMLOptionElement | IHTMLOptGroupElement {
return this[index];
}
@@ -49,11 +73,11 @@ export default class HTMLOptionsCollection
* @param before
*/
public add(
- element: HTMLOptionElement | HTMLOptGroupElement,
- before?: number | HTMLOptionElement | HTMLOptGroupElement
+ element: IHTMLOptionElement | IHTMLOptGroupElement,
+ before?: number | IHTMLOptionElement | IHTMLOptGroupElement
): void {
if (!before && before !== 0) {
- this.push(element);
+ this._selectElement.appendChild(element);
return;
}
@@ -62,18 +86,19 @@ export default class HTMLOptionsCollection
return;
}
- this.splice(before, 0, element);
+ this._selectElement.insertBefore(element, this[before]);
return;
}
- const idx = this.findIndex((element) => element === before);
- if (idx === -1) {
+ const index = this.indexOf(before);
+
+ if (index === -1) {
throw new DOMException(
"Failed to execute 'add' on 'DOMException': The node before which the new node is to be inserted is not a child of this node."
);
}
- this.splice(idx, 0, element);
+ this._selectElement.insertBefore(element, this[index]);
}
/**
@@ -82,13 +107,8 @@ export default class HTMLOptionsCollection
* @param index Index.
*/
public remove(index: number): void {
- this.splice(index, 1);
- if (index === this.selectedIndex) {
- if (this.length) {
- this.selectedIndex = 0;
- } else {
- this.selectedIndex = -1;
- }
+ if (this[index]) {
+ this._selectElement.removeChild(this[index]);
}
}
}
diff --git a/packages/happy-dom/src/nodes/html-option-element/IHTMLOptionsCollection.ts b/packages/happy-dom/src/nodes/html-option-element/IHTMLOptionsCollection.ts
index 4044d9e12..f71cf76e6 100644
--- a/packages/happy-dom/src/nodes/html-option-element/IHTMLOptionsCollection.ts
+++ b/packages/happy-dom/src/nodes/html-option-element/IHTMLOptionsCollection.ts
@@ -24,6 +24,13 @@ export default interface IHTMLOptionsCollection
before?: number | IHTMLOptionElement | IHTMLOptGroupElement
): void;
+ /**
+ * Returns option element by index.
+ *
+ * @param index Index.
+ */
+ item(index: number): IHTMLOptionElement | IHTMLOptGroupElement;
+
/**
* Removes option element from the collection.
*
diff --git a/packages/happy-dom/src/nodes/html-script-element/HTMLScriptElement.ts b/packages/happy-dom/src/nodes/html-script-element/HTMLScriptElement.ts
index b3191dfe7..8115610a0 100644
--- a/packages/happy-dom/src/nodes/html-script-element/HTMLScriptElement.ts
+++ b/packages/happy-dom/src/nodes/html-script-element/HTMLScriptElement.ts
@@ -1,4 +1,4 @@
-import Attr from '../../attribute/Attr';
+import IAttr from '../attr/IAttr';
import HTMLElement from '../html-element/HTMLElement';
import IHTMLScriptElement from './IHTMLScriptElement';
import ScriptUtility from './ScriptUtility';
@@ -158,7 +158,7 @@ export default class HTMLScriptElement extends HTMLElement implements IHTMLScrip
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- public setAttributeNode(attribute: Attr): Attr {
+ public setAttributeNode(attribute: IAttr): IAttr {
const replacedAttribute = super.setAttributeNode(attribute);
if (attribute.name === 'src' && attribute.value !== null && this.isConnected) {
diff --git a/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElement.ts b/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElement.ts
index 0952f900c..50ead16f0 100644
--- a/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElement.ts
+++ b/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElement.ts
@@ -5,13 +5,16 @@ import IHTMLElement from '../html-element/IHTMLElement';
import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
import ValidityState from '../validity-state/ValidityState';
import IHTMLLabelElement from '../html-label-element/IHTMLLabelElement';
-import HTMLOptGroupElement from '../html-opt-group-element/HTMLOptGroupElement';
import HTMLOptionElement from '../html-option-element/HTMLOptionElement';
import HTMLOptionsCollection from '../html-option-element/HTMLOptionsCollection';
-import IHTMLOptionsCollection from '../html-option-element/IHTMLOptionsCollection';
import INodeList from '../node/INodeList';
-import HTMLSelectElementValueSanitizer from './HTMLSelectElementValueSanitizer';
import IHTMLSelectElement from './IHTMLSelectElement';
+import Event from '../../event/Event';
+import IHTMLOptionElement from '../html-option-element/IHTMLOptionElement';
+import IHTMLOptGroupElement from '../html-opt-group-element/IHTMLOptGroupElement';
+import IHTMLOptionsCollection from '../html-option-element/IHTMLOptionsCollection';
+import INode from '../node/INode';
+import NodeTypeEnum from '../node/NodeTypeEnum';
/**
* HTML Select Element.
@@ -20,12 +23,12 @@ import IHTMLSelectElement from './IHTMLSelectElement';
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement.
*/
export default class HTMLSelectElement extends HTMLElement implements IHTMLSelectElement {
- public type: string;
public labels: INodeList;
+ public readonly options: IHTMLOptionsCollection = new HTMLOptionsCollection(this);
- public _value = null;
- public _selectedIndex = -1;
- public _options: IHTMLOptionsCollection = null;
+ // Events
+ public onchange: (event: Event) => void | null = null;
+ public oninput: (event: Event) => void | null = null;
/**
* Returns name.
@@ -111,6 +114,24 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
}
}
+ /**
+ * Returns length.
+ *
+ * @returns length.
+ */
+ public get length(): number {
+ return this.options.length;
+ }
+
+ /**
+ * Sets length.
+ *
+ * @param length Length.
+ */
+ public set length(length: number) {
+ this.options.length = length;
+ }
+
/**
* Returns required.
*
@@ -133,13 +154,28 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
}
}
+ /**
+ * Returns type.
+ *
+ * @returns type.
+ */
+ public get type(): string {
+ return this.hasAttributeNS(null, 'multiple') ? 'select-multiple' : 'select-one';
+ }
+
/**
* Returns value.
*
* @returns Value.
*/
public get value(): string {
- return this._value;
+ if (this.options.selectedIndex === -1) {
+ return '';
+ }
+
+ const option = this.options[this.options.selectedIndex];
+
+ return option instanceof HTMLOptionElement ? option.value : '';
}
/**
@@ -148,12 +184,9 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
* @param value Value.
*/
public set value(value: string) {
- this._value = HTMLSelectElementValueSanitizer.sanitize(value);
-
- const idx = this.options.findIndex((o) => o.nodeValue === value);
- if (idx > -1) {
- this._selectedIndex = idx;
- }
+ this.options.selectedIndex = this.options.findIndex(
+ (o) => o instanceof HTMLOptionElement && o.value === value
+ );
}
/**
@@ -162,7 +195,7 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
* @returns Value.
*/
public get selectedIndex(): number {
- return this._options ? this._options.selectedIndex : -1;
+ return this.options.selectedIndex;
}
/**
@@ -171,14 +204,14 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
* @param value Value.
*/
public set selectedIndex(value: number) {
- if (this.options.length - 1 > value || value < 0) {
+ if (value > this.options.length - 1 || value < -1) {
throw new DOMException(
'Select elements selected index must be valid',
DOMExceptionNameEnum.indexSizeError
);
}
- this._options.selectedIndex = value;
+ this.options.selectedIndex = value;
}
/**
@@ -219,21 +252,143 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
}
/**
- * Returns options.
+ * Returns item from options collection by index.
+ *
+ * @param index Index.
+ */
+ public item(index: number): IHTMLOptionElement | IHTMLOptGroupElement {
+ return this.options.item(index);
+ }
+
+ /**
+ * Adds new option to options collection.
*
- * @returns Options.
+ * @param element HTMLOptionElement or HTMLOptGroupElement to add.
+ * @param before HTMLOptionElement or index number.
*/
- public get options(): IHTMLOptionsCollection {
- if (this._options === null) {
- this._options = new HTMLOptionsCollection();
- const childs = >this.childNodes;
- for (const child of childs) {
- if (child.tagName === 'OPTION') {
- this._options.add(child);
+ public add(
+ element: IHTMLOptionElement | IHTMLOptGroupElement,
+ before?: number | IHTMLOptionElement | IHTMLOptGroupElement
+ ): void {
+ this.options.add(element, before);
+ }
+
+ /**
+ * Removes indexed element from collection or the select element.
+ *
+ * @param [index] Index.
+ */
+ public override remove(index?: number): void {
+ if (typeof index === 'number') {
+ this.options.remove(index);
+ } else {
+ super.remove();
+ }
+ }
+
+ /**
+ * @override
+ */
+ public override appendChild(node: INode): INode {
+ if (node.nodeType === NodeTypeEnum.elementNode) {
+ const element = node;
+ const previousLength = this.options.length;
+
+ if (element.tagName === 'OPTION' || element.tagName === 'OPTGROUP') {
+ this.options.push(element);
+ }
+
+ this._updateIndexProperties(previousLength, this.options.length);
+ }
+
+ return super.appendChild(node);
+ }
+
+ /**
+ * @override
+ */
+ public override insertBefore(newNode: INode, referenceNode: INode | null): INode {
+ const returnValue = super.insertBefore(newNode, referenceNode);
+
+ if (
+ newNode.nodeType === NodeTypeEnum.elementNode &&
+ referenceNode?.nodeType === NodeTypeEnum.elementNode
+ ) {
+ const newElement = newNode;
+ const previousLength = this.options.length;
+
+ if (newElement.tagName === 'OPTION' || newElement.tagName === 'OPTGROUP') {
+ const referenceElement = referenceNode;
+
+ if (
+ referenceElement &&
+ (referenceElement.tagName === 'OPTION' || referenceElement.tagName === 'OPTGROUP')
+ ) {
+ const referenceIndex = this.options.indexOf(
+ referenceElement
+ );
+ if (referenceIndex !== -1) {
+ this.options.splice(
+ referenceIndex,
+ 0,
+ newElement
+ );
+ }
+ } else {
+ this.options.push(newElement);
}
}
+
+ this._updateIndexProperties(previousLength, this.options.length);
}
- return this._options;
+ return returnValue;
+ }
+
+ /**
+ * @override
+ */
+ public override removeChild(node: INode): INode {
+ if (node.nodeType === NodeTypeEnum.elementNode) {
+ const element = node;
+ const previousLength = this.options.length;
+
+ if (element.tagName === 'OPTION' || element.tagName === 'OPTION') {
+ const index = this.options.indexOf(node);
+ if (index !== -1) {
+ this.options.splice(index, 1);
+ }
+ }
+
+ this._updateIndexProperties(previousLength, this.options.length);
+ }
+
+ return super.removeChild(node);
+ }
+
+ /**
+ * Updates index properties.
+ *
+ * @param previousLength Length before the update.
+ * @param newLength Length after the update.
+ */
+ protected _updateIndexProperties(previousLength: number, newLength: number): void {
+ if (previousLength > newLength) {
+ for (let i = newLength; i < previousLength; i++) {
+ if (this.hasOwnProperty(String(i))) {
+ delete this[String(i)];
+ }
+ }
+ } else if (previousLength < newLength) {
+ for (let i = previousLength; i < newLength; i++) {
+ Object.defineProperty(this, String(i), {
+ get: () => {
+ return this.options[i];
+ },
+ enumerable: true,
+ configurable: true
+ });
+ }
+ }
}
}
diff --git a/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElementValueSanitizer.ts b/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElementValueSanitizer.ts
deleted file mode 100644
index 1dc380b81..000000000
--- a/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElementValueSanitizer.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-const NEW_LINES_REGEXP = /[\n\r]/gm;
-
-/**
- * HTML select element value sanitizer.
- */
-export default class HTMLSelectElementValueSanitizer {
- /**
- * Sanitizes a value.
- *
- * @param value Value.
- */
- public static sanitize(value: string): string {
- return value.replace(NEW_LINES_REGEXP, '');
- }
-}
diff --git a/packages/happy-dom/src/nodes/html-select-element/IHTMLSelectElement.ts b/packages/happy-dom/src/nodes/html-select-element/IHTMLSelectElement.ts
index 458ab6156..c3d7ab881 100644
--- a/packages/happy-dom/src/nodes/html-select-element/IHTMLSelectElement.ts
+++ b/packages/happy-dom/src/nodes/html-select-element/IHTMLSelectElement.ts
@@ -4,6 +4,9 @@ import IHTMLLabelElement from '../html-label-element/IHTMLLabelElement';
import INodeList from '../node/INodeList';
import IHTMLOptionsCollection from '../html-option-element/IHTMLOptionsCollection';
import ValidityState from '../validity-state/ValidityState';
+import Event from '../../event/Event';
+import IHTMLOptionElement from '../html-option-element/IHTMLOptionElement';
+import IHTMLOptGroupElement from '../html-opt-group-element/IHTMLOptGroupElement';
/**
* HTML Select Element.
@@ -14,14 +17,44 @@ import ValidityState from '../validity-state/ValidityState';
export default interface IHTMLSelectElement extends IHTMLElement {
readonly form: IHTMLFormElement;
readonly labels: INodeList;
- type: string;
+ readonly options: IHTMLOptionsCollection;
+ readonly type: string;
+ readonly validity: ValidityState;
+ readonly willValidate: boolean;
autofocus: boolean;
disabled: boolean;
- options: IHTMLOptionsCollection;
+ length: number;
selectedIndex: number;
- validity: ValidityState;
value: string;
- willValidate: boolean;
name: string;
multiple: boolean;
+
+ // Events
+ onchange: (event: Event) => void | null;
+ oninput: (event: Event) => void | null;
+
+ /**
+ * Adds new option to collection.
+ *
+ * @param element HTMLOptionElement or HTMLOptGroupElement to add.
+ * @param before HTMLOptionElement or index number.
+ */
+ add(
+ element: IHTMLOptionElement | IHTMLOptGroupElement,
+ before?: number | IHTMLOptionElement | IHTMLOptGroupElement
+ ): void;
+
+ /**
+ * Returns option element by index.
+ *
+ * @param index Index.
+ */
+ item(index: number): IHTMLOptionElement | IHTMLOptGroupElement;
+
+ /**
+ * Removes option element from the collection.
+ *
+ * @param index Index.
+ */
+ remove(index?: number): void;
}
diff --git a/packages/happy-dom/src/nodes/html-slot-element/HTMLSlotElement.ts b/packages/happy-dom/src/nodes/html-slot-element/HTMLSlotElement.ts
index 5d4d45068..a89aceca4 100644
--- a/packages/happy-dom/src/nodes/html-slot-element/HTMLSlotElement.ts
+++ b/packages/happy-dom/src/nodes/html-slot-element/HTMLSlotElement.ts
@@ -4,6 +4,7 @@ import IHTMLSlotElement from './IHTMLSlotElement';
import IText from '../text/IText';
import IElement from '../element/IElement';
import INode from '../node/INode';
+import Event from '../../event/Event';
/**
* HTML Slot Element.
@@ -12,6 +13,9 @@ import INode from '../node/INode';
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
*/
export default class HTMLSlotElement extends HTMLElement implements IHTMLSlotElement {
+ // Events
+ public onslotchange: (event: Event) => void | null = null;
+
/**
* Returns name.
*
diff --git a/packages/happy-dom/src/nodes/html-slot-element/IHTMLSlotElement.ts b/packages/happy-dom/src/nodes/html-slot-element/IHTMLSlotElement.ts
index 3a6dcdfec..c495663f5 100644
--- a/packages/happy-dom/src/nodes/html-slot-element/IHTMLSlotElement.ts
+++ b/packages/happy-dom/src/nodes/html-slot-element/IHTMLSlotElement.ts
@@ -2,6 +2,7 @@ import IHTMLElement from '../html-element/IHTMLElement';
import IText from '../text/IText';
import IElement from '../element/IElement';
import INode from '../node/INode';
+import Event from '../../event/Event';
/**
* HTML Slot Element.
@@ -10,6 +11,9 @@ import INode from '../node/INode';
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
*/
export default interface IHTMLSlotElement extends IHTMLElement {
+ // Events
+ onslotchange: (event: Event) => void | null;
+
name: string;
/**
diff --git a/packages/happy-dom/src/nodes/html-style-element/HTMLStyleElement.ts b/packages/happy-dom/src/nodes/html-style-element/HTMLStyleElement.ts
index f0c74ff25..335d09c4c 100644
--- a/packages/happy-dom/src/nodes/html-style-element/HTMLStyleElement.ts
+++ b/packages/happy-dom/src/nodes/html-style-element/HTMLStyleElement.ts
@@ -22,8 +22,8 @@ export default class HTMLStyleElement extends HTMLElement implements IHTMLStyleE
}
if (!this._styleSheet) {
this._styleSheet = new CSSStyleSheet();
- this._styleSheet.replaceSync(this.innerText);
}
+ this._styleSheet.replaceSync(this.textContent);
return this._styleSheet;
}
diff --git a/packages/happy-dom/src/nodes/html-text-area-element/HTMLTextAreaElement.ts b/packages/happy-dom/src/nodes/html-text-area-element/HTMLTextAreaElement.ts
index e75a69100..ec68b6817 100644
--- a/packages/happy-dom/src/nodes/html-text-area-element/HTMLTextAreaElement.ts
+++ b/packages/happy-dom/src/nodes/html-text-area-element/HTMLTextAreaElement.ts
@@ -16,11 +16,16 @@ import IHTMLTextAreaElement from './IHTMLTextAreaElement';
*/
export default class HTMLTextAreaElement extends HTMLElement implements IHTMLTextAreaElement {
public readonly type = 'textarea';
+ public defaultValue = '';
+
+ // Events
+ public oninput: (event: Event) => void | null = null;
+ public onselectionchange: (event: Event) => void | null = null;
+
public _value = null;
public _selectionStart = null;
public _selectionEnd = null;
public _selectionDirection = HTMLInputElementSelectionDirectionEnum.none;
- public defaultValue = '';
/**
* Returns minlength.
diff --git a/packages/happy-dom/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts b/packages/happy-dom/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts
index 4506acd91..de44b927c 100644
--- a/packages/happy-dom/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts
+++ b/packages/happy-dom/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts
@@ -1,3 +1,4 @@
+import Event from '../../event/Event';
import IHTMLElement from '../html-element/IHTMLElement';
import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
import HTMLInputElementSelectionModeEnum from '../html-input-element/HTMLInputElementSelectionModeEnum';
@@ -30,6 +31,10 @@ export default interface IHTMLTextAreaElement extends IHTMLElement {
selectionDirection: string;
textLength: number;
+ // Events
+ oninput: (event: Event) => void | null;
+ onselectionchange: (event: Event) => void | null;
+
/**
* Set selection range.
*
diff --git a/packages/happy-dom/src/nodes/html-video-element/HTMLVideoElement.ts b/packages/happy-dom/src/nodes/html-video-element/HTMLVideoElement.ts
new file mode 100644
index 000000000..8b54a3626
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-video-element/HTMLVideoElement.ts
@@ -0,0 +1,11 @@
+import HTMLMediaElement from '../html-media-element/HTMLMediaElement';
+import IHTMLVideoElement from './IHTMLVideoElement';
+
+/**
+ * HTML Video Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.
+ *
+ */
+export default class HTMLVideoElement extends HTMLMediaElement implements IHTMLVideoElement {}
diff --git a/packages/happy-dom/src/nodes/html-video-element/IHTMLVideoElement.ts b/packages/happy-dom/src/nodes/html-video-element/IHTMLVideoElement.ts
new file mode 100644
index 000000000..24f6c4a09
--- /dev/null
+++ b/packages/happy-dom/src/nodes/html-video-element/IHTMLVideoElement.ts
@@ -0,0 +1,11 @@
+import IHTMLMediaElement from '../html-media-element/IHTMLMediaElement';
+
+/**
+ * HTML Video Element.
+ *
+ * Reference:
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.
+ */
+
+type IHTMLVideoElement = IHTMLMediaElement;
+export default IHTMLVideoElement;
diff --git a/packages/happy-dom/src/nodes/node/INode.ts b/packages/happy-dom/src/nodes/node/INode.ts
index 535ee71d4..f0c2c3149 100644
--- a/packages/happy-dom/src/nodes/node/INode.ts
+++ b/packages/happy-dom/src/nodes/node/INode.ts
@@ -3,15 +3,24 @@ import IDocument from '../document/IDocument';
import IElement from '../element/IElement';
import INodeList from './INodeList';
import NodeTypeEnum from './NodeTypeEnum';
+import NodeDocumentPositionEnum from './NodeDocumentPositionEnum';
export default interface INode extends IEventTarget {
readonly ELEMENT_NODE: NodeTypeEnum;
+ readonly ATTRIBUTE_NODE: NodeTypeEnum;
readonly TEXT_NODE: NodeTypeEnum;
+ readonly CDATA_SECTION_NODE: NodeTypeEnum;
readonly COMMENT_NODE: NodeTypeEnum;
readonly DOCUMENT_NODE: NodeTypeEnum;
readonly DOCUMENT_TYPE_NODE: NodeTypeEnum;
readonly DOCUMENT_FRAGMENT_NODE: NodeTypeEnum;
readonly PROCESSING_INSTRUCTION_NODE: NodeTypeEnum;
+ readonly DOCUMENT_POSITION_DISCONNECTED: NodeDocumentPositionEnum;
+ readonly DOCUMENT_POSITION_PRECEDING: NodeDocumentPositionEnum;
+ readonly DOCUMENT_POSITION_FOLLOWING: NodeDocumentPositionEnum;
+ readonly DOCUMENT_POSITION_CONTAINS: NodeDocumentPositionEnum;
+ readonly DOCUMENT_POSITION_CONTAINED_BY: NodeDocumentPositionEnum;
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: NodeDocumentPositionEnum;
readonly ownerDocument: IDocument;
readonly parentNode: INode;
readonly parentElement: IElement;
@@ -37,4 +46,5 @@ export default interface INode extends IEventTarget {
insertBefore(newNode: INode, referenceNode?: INode | null): INode;
replaceChild(newChild: INode, oldChild: INode): INode;
toString(): string;
+ compareDocumentPosition(otherNode: INode): number;
}
diff --git a/packages/happy-dom/src/nodes/node/Node.ts b/packages/happy-dom/src/nodes/node/Node.ts
index d4ea9f648..de1b6634d 100644
--- a/packages/happy-dom/src/nodes/node/Node.ts
+++ b/packages/happy-dom/src/nodes/node/Node.ts
@@ -11,6 +11,9 @@ import IHTMLBaseElement from '../html-base-element/IHTMLBaseElement';
import INodeList from './INodeList';
import NodeListFactory from './NodeListFactory';
import NodeTypeEnum from './NodeTypeEnum';
+import NodeDocumentPositionEnum from './NodeDocumentPositionEnum';
+import NodeUtility from './NodeUtility';
+import IAttr from '../attr/IAttr';
/**
* Node.
@@ -21,19 +24,37 @@ export default class Node extends EventTarget implements INode {
// Public properties
public static readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
+ public static readonly ATTRIBUTE_NODE = NodeTypeEnum.attributeNode;
public static readonly TEXT_NODE = NodeTypeEnum.textNode;
+ public static readonly CDATA_SECTION_NODE = NodeTypeEnum.cdataSectionNode;
public static readonly COMMENT_NODE = NodeTypeEnum.commentNode;
public static readonly DOCUMENT_NODE = NodeTypeEnum.documentNode;
public static readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
public static readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
public static readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
+ public static readonly DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum.containedBy;
+ public static readonly DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum.contains;
+ public static readonly DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum.disconnect;
+ public static readonly DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum.following;
+ public static readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC =
+ NodeDocumentPositionEnum.implementationSpecific;
+ public static readonly DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum.preceding;
public readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
+ public readonly ATTRIBUTE_NODE = NodeTypeEnum.attributeNode;
public readonly TEXT_NODE = NodeTypeEnum.textNode;
+ public readonly CDATA_SECTION_NODE = NodeTypeEnum.cdataSectionNode;
public readonly COMMENT_NODE = NodeTypeEnum.commentNode;
public readonly DOCUMENT_NODE = NodeTypeEnum.documentNode;
public readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
public readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
public readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
+ public readonly DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum.containedBy;
+ public readonly DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum.contains;
+ public readonly DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum.disconnect;
+ public readonly DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum.following;
+ public readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC =
+ NodeDocumentPositionEnum.implementationSpecific;
+ public readonly DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum.preceding;
public readonly ownerDocument: IDocument = null;
public readonly parentNode: INode = null;
public readonly nodeType: number;
@@ -52,22 +73,33 @@ export default class Node extends EventTarget implements INode {
this.ownerDocument = (this.constructor)._ownerDocument;
}
+ /**
+ * Returns `Symbol.toStringTag`.
+ *
+ * @returns `Symbol.toStringTag`.
+ */
+ public get [Symbol.toStringTag](): string {
+ return this.constructor.name;
+ }
+
/**
* Get text value of children.
*
* @returns Text content.
*/
public get textContent(): string {
+ // Sub-classes should implement this method.
return null;
}
/**
* Sets text content.
*
- * @param textContent Text content.
+ * @param _textContent Text content.
*/
public set textContent(_textContent) {
// Do nothing.
+ // Sub-classes should implement this method.
}
/**
@@ -285,6 +317,10 @@ export default class Node extends EventTarget implements INode {
}
}
+ if (this.isConnected) {
+ (this.ownerDocument || this)['_cacheID']++;
+ }
+
this.childNodes.push(node);
(node)._connectToNode(this);
@@ -322,6 +358,10 @@ export default class Node extends EventTarget implements INode {
throw new DOMException('Failed to remove node. Node is not child of parent.');
}
+ if (this.isConnected) {
+ (this.ownerDocument || this)['_cacheID']++;
+ }
+
this.childNodes.splice(index, 1);
(node)._connectToNode(null);
@@ -348,7 +388,7 @@ export default class Node extends EventTarget implements INode {
* Inserts a node before another.
*
* @param newNode Node to insert.
- * @param [referenceNode] Node to insert before.
+ * @param referenceNode Node to insert before.
* @returns Inserted node.
*/
public insertBefore(newNode: INode, referenceNode: INode | null): INode {
@@ -381,6 +421,10 @@ export default class Node extends EventTarget implements INode {
);
}
+ if (this.isConnected) {
+ (this.ownerDocument || this)['_cacheID']++;
+ }
+
if (newNode.parentNode) {
const index = newNode.parentNode.childNodes.indexOf(newNode);
if (index !== -1) {
@@ -438,7 +482,7 @@ export default class Node extends EventTarget implements INode {
}
// eslint-disable-next-line
- if(event.composed && (this).host) {
+ if (event.composed && (this).host) {
// eslint-disable-next-line
return (this).host.dispatchEvent(event);
}
@@ -508,6 +552,9 @@ export default class Node extends EventTarget implements INode {
if (isConnected && this.connectedCallback) {
this.connectedCallback();
} else if (!isConnected && this.disconnectedCallback) {
+ if (this.ownerDocument['_activeElement'] === this) {
+ this.ownerDocument['_activeElement'] = null;
+ }
this.disconnectedCallback();
}
@@ -522,4 +569,177 @@ export default class Node extends EventTarget implements INode {
}
}
}
+
+ /**
+ * Reports the position of its argument node relative to the node on which it is called.
+ *
+ * @see https://dom.spec.whatwg.org/#dom-node-comparedocumentposition
+ * @param otherNode Other node.
+ */
+ public compareDocumentPosition(otherNode: INode): number {
+ /**
+ * 1. If this is other, then return zero.
+ */
+ if (this === otherNode) {
+ return 0;
+ }
+
+ /**
+ * 2. Let node1 be other and node2 be this.
+ */
+ let node1: INode = otherNode;
+ let node2: INode = this;
+
+ /**
+ * 3. Let attr1 and attr2 be null.
+ */
+ let attr1 = null;
+ let attr2 = null;
+
+ /**
+ * 4. If node1 is an attribute, then set attr1 to node1 and node1 to attr1’s element.
+ */
+ if (node1.nodeType === Node.ATTRIBUTE_NODE) {
+ attr1 = node1;
+ node1 = (attr1).ownerElement;
+ }
+
+ /**
+ * 5. If node2 is an attribute, then:
+ * 5.1. Set attr2 to node2 and node2 to attr2’s element.
+ */
+ if (node2.nodeType === Node.ATTRIBUTE_NODE) {
+ attr2 = node2;
+ node2 = (attr2).ownerElement;
+
+ /**
+ * 5.2. If attr1 and node1 are non-null, and node2 is node1, then:
+ */
+ if (attr1 !== null && node1 !== null && node2 === node1) {
+ /**
+ * 5.2.1. For each attr in node2’s attribute list:
+ */
+ for (const attr of Object.values((node2).attributes)) {
+ /**
+ * 5.2.1.1. If attr equals attr1, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_PRECEDING.
+ */
+ if (NodeUtility.nodeEquals(attr, attr1)) {
+ return (
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_PRECEDING
+ );
+ }
+
+ /**
+ * 5.2.1.2. If attr equals attr2, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_FOLLOWING.
+ */
+ if (NodeUtility.nodeEquals(attr, attr2)) {
+ return (
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_FOLLOWING
+ );
+ }
+ }
+ }
+ }
+
+ const node2Ancestors: INode[] = [];
+ let node2Ancestor: INode = node2;
+
+ while (node2Ancestor) {
+ /**
+ * 7. If node1 is an ancestor of node2 […] then return the result of adding DOCUMENT_POSITION_CONTAINS to DOCUMENT_POSITION_PRECEDING.
+ */
+ if (node2Ancestor === node1) {
+ return Node.DOCUMENT_POSITION_CONTAINS | Node.DOCUMENT_POSITION_PRECEDING;
+ }
+
+ node2Ancestors.push(node2Ancestor);
+ node2Ancestor = node2Ancestor.parentNode;
+ }
+
+ const node1Ancestors: INode[] = [];
+ let node1Ancestor: INode = node1;
+
+ while (node1Ancestor) {
+ /**
+ * 8. If node1 is a descendant of node2 […] then return the result of adding DOCUMENT_POSITION_CONTAINED_BY to DOCUMENT_POSITION_FOLLOWING.
+ */
+ if (node1Ancestor === node2) {
+ return Node.DOCUMENT_POSITION_CONTAINED_BY | Node.DOCUMENT_POSITION_FOLLOWING;
+ }
+
+ node1Ancestors.push(node1Ancestor);
+ node1Ancestor = node1Ancestor.parentNode;
+ }
+
+ const reverseArrayIndex = (array: INode[], reverseIndex: number): INode => {
+ return array[array.length - 1 - reverseIndex];
+ };
+
+ const root = reverseArrayIndex(node2Ancestors, 0);
+
+ /**
+ * 6. If node1 or node2 is null, or node1’s root is not node2’s root, then return the result of adding
+ * DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, and either
+ * DOCUMENT_POSITION_PRECEDING or DOCUMENT_POSITION_FOLLOWING, with the constraint that this is to be consistent, together.
+ */
+ if (!root || root !== reverseArrayIndex(node1Ancestors, 0)) {
+ return (
+ Node.DOCUMENT_POSITION_DISCONNECTED |
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
+ Node.DOCUMENT_POSITION_FOLLOWING
+ );
+ }
+
+ // Find the lowest common ancestor
+ let commonAncestorIndex = 0;
+ const ancestorsMinLength = Math.min(node2Ancestors.length, node1Ancestors.length);
+
+ for (let i = 0; i < ancestorsMinLength; ++i) {
+ const node2Ancestor = reverseArrayIndex(node2Ancestors, i);
+ const node1Ancestor = reverseArrayIndex(node1Ancestors, i);
+
+ if (node2Ancestor !== node1Ancestor) {
+ break;
+ }
+
+ commonAncestorIndex = i;
+ }
+
+ const commonAncestor = reverseArrayIndex(node2Ancestors, commonAncestorIndex);
+
+ // Indexes within the common ancestor
+ let indexes = 0;
+ let node2Index = -1;
+ let node1Index = -1;
+ const node2Node = reverseArrayIndex(node2Ancestors, commonAncestorIndex + 1);
+ const node1Node = reverseArrayIndex(node1Ancestors, commonAncestorIndex + 1);
+
+ const computeNodeIndexes = (nodes: INode[]): void => {
+ for (const childNode of nodes) {
+ computeNodeIndexes(childNode.childNodes);
+
+ if (childNode === node2Node) {
+ node2Index = indexes;
+ } else if (childNode === node1Node) {
+ node1Index = indexes;
+ }
+
+ if (node2Index !== -1 && node1Index !== -1) {
+ break;
+ }
+
+ indexes++;
+ }
+ };
+
+ computeNodeIndexes(commonAncestor.childNodes);
+
+ /**
+ * 9. If node1 is preceding node2, then return DOCUMENT_POSITION_PRECEDING.
+ * 10. Return DOCUMENT_POSITION_FOLLOWING.
+ */
+ return node1Index < node2Index
+ ? Node.DOCUMENT_POSITION_PRECEDING
+ : Node.DOCUMENT_POSITION_FOLLOWING;
+ }
}
diff --git a/packages/happy-dom/src/nodes/node/NodeDocumentPositionEnum.ts b/packages/happy-dom/src/nodes/node/NodeDocumentPositionEnum.ts
new file mode 100644
index 000000000..7c4fedfdf
--- /dev/null
+++ b/packages/happy-dom/src/nodes/node/NodeDocumentPositionEnum.ts
@@ -0,0 +1,10 @@
+enum NodeDocumentPositionEnum {
+ disconnect = 0x01,
+ preceding = 0x02,
+ following = 0x04,
+ contains = 0x08,
+ containedBy = 0x10,
+ implementationSpecific = 0x20
+}
+
+export default NodeDocumentPositionEnum;
diff --git a/packages/happy-dom/src/nodes/node/NodeList.ts b/packages/happy-dom/src/nodes/node/NodeList.ts
index 9ba580ed4..d920e358f 100644
--- a/packages/happy-dom/src/nodes/node/NodeList.ts
+++ b/packages/happy-dom/src/nodes/node/NodeList.ts
@@ -5,6 +5,15 @@ import INode from './INode';
* Class list.
*/
export default class NodeList extends Array implements INodeList {
+ /**
+ * Returns `Symbol.toStringTag`.
+ *
+ * @returns `Symbol.toStringTag`.
+ */
+ public get [Symbol.toStringTag](): string {
+ return this.constructor.name;
+ }
+
/**
* Returns item by index.
*
diff --git a/packages/happy-dom/src/nodes/node/NodeTypeEnum.ts b/packages/happy-dom/src/nodes/node/NodeTypeEnum.ts
index 40e856e5c..29d650f26 100644
--- a/packages/happy-dom/src/nodes/node/NodeTypeEnum.ts
+++ b/packages/happy-dom/src/nodes/node/NodeTypeEnum.ts
@@ -1,6 +1,8 @@
enum NodeTypeEnum {
elementNode = 1,
+ attributeNode = 2,
textNode = 3,
+ cdataSectionNode = 4,
commentNode = 8,
documentNode = 9,
documentTypeNode = 10,
diff --git a/packages/happy-dom/src/nodes/node/NodeUtility.ts b/packages/happy-dom/src/nodes/node/NodeUtility.ts
index 93ae584c0..12e91da93 100644
--- a/packages/happy-dom/src/nodes/node/NodeUtility.ts
+++ b/packages/happy-dom/src/nodes/node/NodeUtility.ts
@@ -2,6 +2,10 @@ import IText from '../text/IText';
import IComment from '../comment/IComment';
import INode from './INode';
import NodeTypeEnum from './NodeTypeEnum';
+import IElement from '../element/IElement';
+import IDocumentType from '../document-type/IDocumentType';
+import IAttr from '../attr/IAttr';
+import IProcessingInstruction from '../processing-instruction/IProcessingInstruction';
/**
* Node utility.
@@ -136,4 +140,137 @@ export default class NodeUtility {
return node.nextSibling;
}
+
+ /**
+ * Needed by https://dom.spec.whatwg.org/#concept-node-equals
+ *
+ * @param elementA
+ * @param elementB
+ */
+ public static attributeListsEqual(elementA: IElement, elementB: IElement): boolean {
+ const listA = Object.values(elementA.attributes);
+ const listB = Object.values(elementB.attributes);
+
+ const lengthA = listA.length;
+ const lengthB = listB.length;
+
+ if (lengthA !== lengthB) {
+ return false;
+ }
+
+ for (let i = 0; i < lengthA; ++i) {
+ const attrA = listA[i];
+
+ if (
+ !listB.some((attrB) => {
+ return (
+ (typeof attrA === 'number' && typeof attrB === 'number' && attrA === attrB) ||
+ (typeof attrA === 'object' &&
+ typeof attrB === 'object' &&
+ NodeUtility.nodeEquals(attrA, attrB))
+ );
+ })
+ ) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Check if node nodeA equals node nodeB.
+ * Reference: https://dom.spec.whatwg.org/#concept-node-equals
+ *
+ * @param nodeA Node A.
+ * @param nodeB Node B.
+ */
+ public static nodeEquals(nodeA: INode, nodeB: INode): boolean {
+ if (nodeA.nodeType !== nodeB.nodeType) {
+ return false;
+ }
+
+ switch (nodeA.nodeType) {
+ case NodeTypeEnum.documentTypeNode:
+ const documentTypeA = nodeA;
+ const documentTypeB = nodeB;
+
+ if (
+ documentTypeA.name !== documentTypeB.name ||
+ documentTypeA.publicId !== documentTypeB.publicId ||
+ documentTypeA.systemId !== documentTypeB.systemId
+ ) {
+ return false;
+ }
+ break;
+ case NodeTypeEnum.elementNode:
+ const elementA = nodeA;
+ const elementB = nodeB;
+
+ if (
+ elementA.namespaceURI !== elementB.namespaceURI ||
+ elementA.prefix !== elementB.prefix ||
+ elementA.localName !== elementB.localName ||
+ elementA.attributes.length !== elementB.attributes.length
+ ) {
+ return false;
+ }
+ break;
+ case NodeTypeEnum.attributeNode:
+ const attributeA = nodeA;
+ const attributeB = nodeB;
+
+ if (
+ attributeA.namespaceURI !== attributeB.namespaceURI ||
+ attributeA.localName !== attributeB.localName ||
+ attributeA.value !== attributeB.value
+ ) {
+ return false;
+ }
+ break;
+ case NodeTypeEnum.processingInstructionNode:
+ const processingInstructionA = nodeA;
+ const processingInstructionB = nodeB;
+
+ if (
+ processingInstructionA.target !== processingInstructionB.target ||
+ processingInstructionA.data !== processingInstructionB.data
+ ) {
+ return false;
+ }
+ break;
+ case NodeTypeEnum.textNode:
+ case NodeTypeEnum.commentNode:
+ type TextOrComment = IText | IComment;
+ const textOrCommentA = nodeA;
+ const textOrCommentB = nodeB;
+
+ if (textOrCommentA.data !== textOrCommentB.data) {
+ return false;
+ }
+ break;
+ }
+
+ if (
+ nodeA.nodeType === NodeTypeEnum.elementNode &&
+ !NodeUtility.attributeListsEqual(nodeA, nodeB)
+ ) {
+ return false;
+ }
+
+ if (nodeA.childNodes.length !== nodeB.childNodes.length) {
+ return false;
+ }
+
+ for (let i = 0; i < nodeA.childNodes.length; i++) {
+ const childNodeA = nodeA.childNodes[i];
+ const childNodeB = nodeB.childNodes[i];
+
+ if (!NodeUtility.nodeEquals(childNodeA, childNodeB)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
}
diff --git a/packages/happy-dom/src/nodes/processing-instruction/IProcessingInstruction.ts b/packages/happy-dom/src/nodes/processing-instruction/IProcessingInstruction.ts
new file mode 100644
index 000000000..f609019fe
--- /dev/null
+++ b/packages/happy-dom/src/nodes/processing-instruction/IProcessingInstruction.ts
@@ -0,0 +1,5 @@
+import ICharacterData from '../character-data/ICharacterData';
+
+export default interface IProcessingInstruction extends ICharacterData {
+ target: string;
+}
diff --git a/packages/happy-dom/src/nodes/processing-instruction/ProcessingInstruction.ts b/packages/happy-dom/src/nodes/processing-instruction/ProcessingInstruction.ts
new file mode 100644
index 000000000..942afd2c2
--- /dev/null
+++ b/packages/happy-dom/src/nodes/processing-instruction/ProcessingInstruction.ts
@@ -0,0 +1,13 @@
+import IProcessingInstruction from './IProcessingInstruction';
+import CharacterData from '../character-data/CharacterData';
+import NodeTypeEnum from '../node/NodeTypeEnum';
+
+/**
+ * Processing instruction node interface.
+ *
+ * Reference: https://developer.mozilla.org/en-US/docs/Web/API/ProcessingInstruction.
+ */
+export default class ProcessingInstruction extends CharacterData implements IProcessingInstruction {
+ public readonly nodeType = NodeTypeEnum.processingInstructionNode;
+ public target: string;
+}
diff --git a/packages/happy-dom/src/nodes/shadow-root/IShadowRoot.ts b/packages/happy-dom/src/nodes/shadow-root/IShadowRoot.ts
index 973ec435a..31fbf4507 100644
--- a/packages/happy-dom/src/nodes/shadow-root/IShadowRoot.ts
+++ b/packages/happy-dom/src/nodes/shadow-root/IShadowRoot.ts
@@ -1,5 +1,6 @@
import IDocumentFragment from '../document-fragment/IDocumentFragment';
import IElement from '../element/IElement';
+import Event from '../../event/Event';
/**
* ShadowRoot.
@@ -9,6 +10,9 @@ export default interface IShadowRoot extends IDocumentFragment {
innerHTML: string;
host: IElement;
+ // Events
+ onslotchange: (event: Event) => void | null;
+
/**
* Clones a node.
*
diff --git a/packages/happy-dom/src/nodes/shadow-root/ShadowRoot.ts b/packages/happy-dom/src/nodes/shadow-root/ShadowRoot.ts
index f49c4b42a..8fba913b0 100644
--- a/packages/happy-dom/src/nodes/shadow-root/ShadowRoot.ts
+++ b/packages/happy-dom/src/nodes/shadow-root/ShadowRoot.ts
@@ -5,6 +5,7 @@ import IElement from '../element/IElement';
import CSSStyleSheet from '../../css/CSSStyleSheet';
import IShadowRoot from './IShadowRoot';
import IHTMLElement from '../../nodes/html-element/IHTMLElement';
+import Event from '../../event/Event';
/**
* ShadowRoot.
@@ -14,6 +15,9 @@ export default class ShadowRoot extends DocumentFragment implements IShadowRoot
public readonly host: IElement = null;
public adoptedStyleSheets: CSSStyleSheet[] = [];
+ // Events
+ public onslotchange: (event: Event) => void | null = null;
+
/**
* Returns inner HTML.
*
@@ -50,7 +54,7 @@ export default class ShadowRoot extends DocumentFragment implements IShadowRoot
*/
public get activeElement(): IHTMLElement {
const activeElement: IHTMLElement = this.ownerDocument['_activeElement'];
- if (activeElement && activeElement.getRootNode() === this) {
+ if (activeElement && activeElement.isConnected && activeElement.getRootNode() === this) {
return activeElement;
}
return null;
diff --git a/packages/happy-dom/src/nodes/svg-element/ISVGElement.ts b/packages/happy-dom/src/nodes/svg-element/ISVGElement.ts
index 27a194859..70a54b0f0 100644
--- a/packages/happy-dom/src/nodes/svg-element/ISVGElement.ts
+++ b/packages/happy-dom/src/nodes/svg-element/ISVGElement.ts
@@ -1,4 +1,5 @@
-import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
+import Event from '../../event/Event';
+import CSSStyleDeclaration from '../../css/declaration/CSSStyleDeclaration';
import IElement from '../element/IElement';
import ISVGSVGElement from './ISVGSVGElement';
@@ -12,4 +13,12 @@ export default interface ISVGElement extends IElement {
readonly ownerSVGElement: ISVGSVGElement;
readonly dataset: { [key: string]: string };
readonly style: CSSStyleDeclaration;
+
+ // Events
+ onabort: (event: Event) => void | null;
+ onerror: (event: Event) => void | null;
+ onload: (event: Event) => void | null;
+ onresize: (event: Event) => void | null;
+ onscroll: (event: Event) => void | null;
+ onunload: (event: Event) => void | null;
}
diff --git a/packages/happy-dom/src/nodes/svg-element/ISVGSVGElement.ts b/packages/happy-dom/src/nodes/svg-element/ISVGSVGElement.ts
index 942a68d1f..75f385344 100644
--- a/packages/happy-dom/src/nodes/svg-element/ISVGSVGElement.ts
+++ b/packages/happy-dom/src/nodes/svg-element/ISVGSVGElement.ts
@@ -1,3 +1,4 @@
+import Event from '../../event/Event';
import INode from '../node/INode';
import ISVGGraphicsElement from './ISVGGraphicsElement';
import SVGAngle from './SVGAngle';
@@ -25,6 +26,26 @@ export default interface ISVGSVGElement extends ISVGGraphicsElement {
currentTranslate: SVGPoint;
viewBox: SVGAnimatedRect;
+ // Events
+ onafterprint: (event: Event) => void | null;
+ onbeforeprint: (event: Event) => void | null;
+ onbeforeunload: (event: Event) => void | null;
+ ongamepadconnected: (event: Event) => void | null;
+ ongamepaddisconnected: (event: Event) => void | null;
+ onhashchange: (event: Event) => void | null;
+ onlanguagechange: (event: Event) => void | null;
+ onmessage: (event: Event) => void | null;
+ onmessageerror: (event: Event) => void | null;
+ onoffline: (event: Event) => void | null;
+ ononline: (event: Event) => void | null;
+ onpagehide: (event: Event) => void | null;
+ onpageshow: (event: Event) => void | null;
+ onpopstate: (event: Event) => void | null;
+ onrejectionhandled: (event: Event) => void | null;
+ onstorage: (event: Event) => void | null;
+ onunhandledrejection: (event: Event) => void | null;
+ onunload: (event: Event) => void | null;
+
/**
* Pauses animation.
*/
diff --git a/packages/happy-dom/src/nodes/svg-element/SVGElement.ts b/packages/happy-dom/src/nodes/svg-element/SVGElement.ts
index 483beb646..12136ecbd 100644
--- a/packages/happy-dom/src/nodes/svg-element/SVGElement.ts
+++ b/packages/happy-dom/src/nodes/svg-element/SVGElement.ts
@@ -1,8 +1,9 @@
-import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
+import CSSStyleDeclaration from '../../css/declaration/CSSStyleDeclaration';
import Element from '../element/Element';
import ISVGElement from './ISVGElement';
import ISVGSVGElement from './ISVGSVGElement';
-import Attr from '../../attribute/Attr';
+import IAttr from '../attr/IAttr';
+import Event from '../../event/Event';
/**
* SVG Element.
@@ -11,6 +12,14 @@ import Attr from '../../attribute/Attr';
* https://developer.mozilla.org/en-US/docs/Web/API/SVGElement.
*/
export default class SVGElement extends Element implements ISVGElement {
+ // Events
+ public onabort: (event: Event) => void | null = null;
+ public onerror: (event: Event) => void | null = null;
+ public onload: (event: Event) => void | null = null;
+ public onresize: (event: Event) => void | null = null;
+ public onscroll: (event: Event) => void | null = null;
+ public onunload: (event: Event) => void | null = null;
+
private _style: CSSStyleDeclaration = null;
/**
@@ -59,7 +68,7 @@ export default class SVGElement extends Element implements ISVGElement {
*/
public get style(): CSSStyleDeclaration {
if (!this._style) {
- this._style = new CSSStyleDeclaration(this._attributes);
+ this._style = new CSSStyleDeclaration(this);
}
return this._style;
}
@@ -71,7 +80,7 @@ export default class SVGElement extends Element implements ISVGElement {
* @param attribute Attribute.
* @returns Replaced attribute.
*/
- public setAttributeNode(attribute: Attr): Attr {
+ public setAttributeNode(attribute: IAttr): IAttr {
const replacedAttribute = super.setAttributeNode(attribute);
if (attribute.name === 'style' && this._style) {
@@ -87,7 +96,7 @@ export default class SVGElement extends Element implements ISVGElement {
* @override
* @param attribute Attribute.
*/
- public removeAttributeNode(attribute: Attr): void {
+ public removeAttributeNode(attribute: IAttr): void {
super.removeAttributeNode(attribute);
if (attribute.name === 'style' && this._style) {
diff --git a/packages/happy-dom/src/nodes/svg-element/SVGSVGElement.ts b/packages/happy-dom/src/nodes/svg-element/SVGSVGElement.ts
index 915e13929..0123a2f1f 100644
--- a/packages/happy-dom/src/nodes/svg-element/SVGSVGElement.ts
+++ b/packages/happy-dom/src/nodes/svg-element/SVGSVGElement.ts
@@ -8,11 +8,32 @@ import SVGTransform from './SVGTransform';
import SVGAnimatedRect from './SVGAnimatedRect';
import ISVGSVGElement from './ISVGSVGElement';
import INode from '../node/INode';
+import Event from '../../event/Event';
/**
* SVGSVGElement.
*/
export default class SVGSVGElement extends SVGGraphicsElement implements ISVGSVGElement {
+ // Events
+ public onafterprint: (event: Event) => void | null = null;
+ public onbeforeprint: (event: Event) => void | null = null;
+ public onbeforeunload: (event: Event) => void | null = null;
+ public ongamepadconnected: (event: Event) => void | null = null;
+ public ongamepaddisconnected: (event: Event) => void | null = null;
+ public onhashchange: (event: Event) => void | null = null;
+ public onlanguagechange: (event: Event) => void | null = null;
+ public onmessage: (event: Event) => void | null = null;
+ public onmessageerror: (event: Event) => void | null = null;
+ public onoffline: (event: Event) => void | null = null;
+ public ononline: (event: Event) => void | null = null;
+ public onpagehide: (event: Event) => void | null = null;
+ public onpageshow: (event: Event) => void | null = null;
+ public onpopstate: (event: Event) => void | null = null;
+ public onrejectionhandled: (event: Event) => void | null = null;
+ public onstorage: (event: Event) => void | null = null;
+ public onunhandledrejection: (event: Event) => void | null = null;
+ public onunload: (event: Event) => void | null = null;
+
/**
* Returns preserveAspectRatio.
*
diff --git a/packages/happy-dom/src/query-selector/QuerySelector.ts b/packages/happy-dom/src/query-selector/QuerySelector.ts
index ceab058e7..ad0958c60 100644
--- a/packages/happy-dom/src/query-selector/QuerySelector.ts
+++ b/packages/happy-dom/src/query-selector/QuerySelector.ts
@@ -8,9 +8,6 @@ import NodeListFactory from '../nodes/node/NodeListFactory';
const SELECTOR_PART_REGEXP = /(\[[^\]]+\]|[a-zA-Z0-9-_.#"*:()\]]+)|([ ,>]+)/g;
-// The above one seem to work fine and is faster, but this one can be useful if more rules need to be added as it is more "correct".
-// Const SELECTOR_PART_REGEXP = /([a-zA-Z0-9-$.]+|\[[a-zA-Z0-9-]+\]|\[[a-zA-Z0-9$-~|^$*]+[ ]*=[ ]*"[^"]+"\])|([ ,]+)/g;
-
/**
* Utility for query selection in an HTML element.
*
@@ -57,6 +54,70 @@ export default class QuerySelector {
return null;
}
+ /**
+ * Checks if a node matches a selector and returns priority weight.
+ *
+ * @param node Node to search in.
+ * @param selector Selector.
+ * @returns Result.
+ */
+ public static match(node: INode, selector: string): { priorityWeight: number; matches: boolean } {
+ for (const parts of this.getSelectorParts(selector)) {
+ const result = this.matchesSelector(node, node, parts.reverse());
+
+ if (result.matches) {
+ return result;
+ }
+ }
+
+ return { priorityWeight: 0, matches: false };
+ }
+
+ /**
+ * Checks if a node matches a selector.
+ *
+ * @param targetNode Target node.
+ * @param currentNode Current node.
+ * @param selectorParts Selector parts.
+ * @param [priorityWeight] Priority weight.
+ * @returns Result.
+ */
+ private static matchesSelector(
+ targetNode: INode,
+ currentNode: INode,
+ selectorParts: string[],
+ priorityWeight = 0
+ ): {
+ priorityWeight: number;
+ matches: boolean;
+ } {
+ const isDirectChild = selectorParts[0] === '>';
+ if (isDirectChild) {
+ selectorParts = selectorParts.slice(1);
+ if (selectorParts.length === 0) {
+ return { priorityWeight: 0, matches: false };
+ }
+ }
+
+ if (selectorParts.length === 0) {
+ return { priorityWeight, matches: true };
+ }
+
+ const selector = new SelectorItem(selectorParts[0]);
+ const result = selector.match(currentNode);
+
+ if ((targetNode === currentNode || !currentNode.parentNode) && !result.matches) {
+ return { priorityWeight: 0, matches: false };
+ }
+
+ return this.matchesSelector(
+ isDirectChild ? currentNode.parentNode : targetNode,
+ currentNode.parentNode,
+ result.matches ? selectorParts.slice(1) : selectorParts,
+ priorityWeight + result.priorityWeight
+ );
+ }
+
/**
* Finds elements based on a query selector for a part of a list of selectors separated with comma.
*
@@ -81,7 +142,7 @@ export default class QuerySelector {
for (const node of nodes) {
if (node.nodeType === Node.ELEMENT_NODE) {
- if (selector.match(node)) {
+ if (selector.match(node).matches) {
if (selectorParts.length === 1) {
if (rootNode !== node) {
matched.push(node);
@@ -125,7 +186,7 @@ export default class QuerySelector {
const selector = selectorItem || new SelectorItem(selectorParts[0]);
for (const node of nodes) {
- if (node.nodeType === Node.ELEMENT_NODE && selector.match(node)) {
+ if (node.nodeType === Node.ELEMENT_NODE && selector.match(node).matches) {
if (selectorParts.length === 1) {
if (rootNode !== node) {
return node;
diff --git a/packages/happy-dom/src/query-selector/SelectorItem.ts b/packages/happy-dom/src/query-selector/SelectorItem.ts
index 8016fefed..5c24fda9d 100644
--- a/packages/happy-dom/src/query-selector/SelectorItem.ts
+++ b/packages/happy-dom/src/query-selector/SelectorItem.ts
@@ -1,4 +1,5 @@
import DOMException from '../exception/DOMException';
+import IElement from '../nodes/element/IElement';
import Element from '../nodes/element/Element';
const ATTRIBUTE_REGEXP =
@@ -7,17 +8,18 @@ const ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/;
const PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g;
const CLASS_REGEXP = /\.([a-zA-Z0-9-_$]+)/g;
const TAG_NAME_REGEXP = /^[a-zA-Z0-9-]+/;
+const ID_REGEXP = /#[A-Za-z][-A-Za-z0-9_]*/g;
/**
* Selector item.
*/
export default class SelectorItem {
- public isAll: boolean;
- public isID: boolean;
- public isAttribute: boolean;
- public isPseudo: boolean;
- public isClass: boolean;
- public isTagName: boolean;
+ private isAll: boolean;
+ private isID: boolean;
+ private isAttribute: boolean;
+ private isPseudo: boolean;
+ private isClass: boolean;
+ private isTagName: boolean;
private tagName = null;
private selector: string;
private id: string;
@@ -28,62 +30,86 @@ export default class SelectorItem {
* @param selector Selector.
*/
constructor(selector: string) {
- const [baseSelector, psuedoSelector] = selector.split(':');
+ const baseSelector = selector.replace(new RegExp(PSUEDO_REGEXP, 'g'), '');
this.isAll = baseSelector === '*';
- this.isID = !this.isAll ? selector.startsWith('#') : false;
- this.isAttribute = !this.isAll && !this.isID && baseSelector.includes('[');
- this.isPseudo = !this.isAll && !this.isID && psuedoSelector !== undefined;
- this.isClass = !this.isAll && !this.isID && new RegExp(CLASS_REGEXP, 'g').test(baseSelector);
- this.tagName = !this.isAll && !this.isID ? baseSelector.match(TAG_NAME_REGEXP) : null;
+ this.isID = !this.isAll ? selector.indexOf('#') !== -1 : false;
+ this.isAttribute = !this.isAll && baseSelector.includes('[');
+ // If baseSelector !== selector then some psuedo selector was replaced above
+ this.isPseudo = !this.isAll && baseSelector !== selector;
+ this.isClass = !this.isAll && new RegExp(CLASS_REGEXP, 'g').test(baseSelector);
+ this.tagName = !this.isAll ? baseSelector.match(TAG_NAME_REGEXP) : null;
this.tagName = this.tagName ? this.tagName[0].toUpperCase() : null;
this.isTagName = this.tagName !== null;
this.selector = selector;
- this.id = !this.isAll && this.isID ? baseSelector.replace('#', '') : null;
+ this.id = null;
+
+ if (!this.isAll && this.isID) {
+ const idMatches = baseSelector.match(ID_REGEXP);
+ if (idMatches) {
+ this.id = idMatches[0].replace('#', '');
+ }
+ }
}
/**
* Matches a selector against an element.
*
* @param element HTML element.
- * @returns TRUE if matching.
+ * @returns Result.
*/
- public match(element: Element): boolean {
+ public match(element: IElement): { priorityWeight: number; matches: boolean } {
const selector = this.selector;
+ let priorityWeight = 0;
+
// Is all (*)
if (this.isAll) {
- return true;
+ return { priorityWeight: 0, matches: true };
}
// ID Match
if (this.isID) {
- return this.id === element.id;
+ priorityWeight += 100;
+
+ if (this.id !== element.id) {
+ return { priorityWeight: 0, matches: false };
+ }
}
// Tag name match
if (this.isTagName) {
+ priorityWeight += 1;
+
if (this.tagName !== element.tagName) {
- return false;
+ return { priorityWeight: 0, matches: false };
}
}
// Class match
- if (this.isClass && !this.matchesClass(element, selector)) {
- return false;
+ if (this.isClass) {
+ const result = this.matchesClass(element, selector);
+ priorityWeight += result.priorityWeight;
+ if (!result.matches) {
+ return { priorityWeight: 0, matches: false };
+ }
}
// Pseudo match
if (this.isPseudo && !this.matchesPsuedo(element, selector)) {
- return false;
+ return { priorityWeight: 0, matches: false };
}
// Attribute match
- if (this.isAttribute && !this.matchesAttribute(element, selector)) {
- return false;
+ if (this.isAttribute) {
+ const result = this.matchesAttribute(element, selector);
+ priorityWeight += result.priorityWeight;
+ if (!result.matches) {
+ return { priorityWeight: 0, matches: false };
+ }
}
- return true;
+ return { priorityWeight, matches: true };
}
/**
@@ -93,7 +119,7 @@ export default class SelectorItem {
* @param selector Selector.
* @returns True if it is a match.
*/
- private matchesPsuedo(element: Element, selector: string): boolean {
+ private matchesPsuedo(element: IElement, selector: string): boolean {
const regexp = new RegExp(PSUEDO_REGEXP, 'g');
let match: RegExpMatchArray;
@@ -103,8 +129,8 @@ export default class SelectorItem {
return false;
} else if (
match[3] &&
- ((isNotClass && this.matchesClass(element, match[3])) ||
- (!isNotClass && this.matchesAttribute(element, match[3])))
+ ((isNotClass && this.matchesClass(element, match[3]).matches) ||
+ (!isNotClass && this.matchesAttribute(element, match[3])).matches)
) {
return false;
} else if (match[4] && !this.matchesPsuedoExpression(element, match[4])) {
@@ -123,8 +149,8 @@ export default class SelectorItem {
* @param place Place.
* @returns True if it is a match.
*/
- private matchesNthChild(element: Element, psuedo: string, place: string): boolean {
- let children = element.parentNode ? (element.parentNode).children : [];
+ private matchesNthChild(element: IElement, psuedo: string, place: string): boolean {
+ let children = element.parentNode ? (element.parentNode).children : [];
switch (psuedo.toLowerCase()) {
case 'nth-of-type':
@@ -178,8 +204,8 @@ export default class SelectorItem {
* @param psuedo Psuedo name.
* @returns True if it is a match.
*/
- private matchesPsuedoExpression(element: Element, psuedo: string): boolean {
- const parent = element.parentNode;
+ private matchesPsuedoExpression(element: IElement, psuedo: string): boolean {
+ const parent = element.parentNode;
if (!parent) {
return false;
@@ -230,24 +256,31 @@ export default class SelectorItem {
*
* @param element Element.
* @param selector Selector.
- * @returns True if it is a match.
+ * @returns Result.
*/
- private matchesAttribute(element: Element, selector: string): boolean {
+ private matchesAttribute(
+ element: IElement,
+ selector: string
+ ): { priorityWeight: number; matches: boolean } {
const regexp = new RegExp(ATTRIBUTE_REGEXP, 'g');
let match: RegExpMatchArray;
+ let priorityWeight = 0;
while ((match = regexp.exec(selector))) {
const isPsuedo = match.index > 0 && selector[match.index - 1] === '(';
+
+ priorityWeight += 10;
+
if (
!isPsuedo &&
((match[1] && !this.matchesAttributeName(element, match[1])) ||
(match[2] && !this.matchesAttributeNameAndValue(element, match[2], match[4], match[3])))
) {
- return false;
+ return { priorityWeight: 0, matches: false };
}
}
- return true;
+ return { priorityWeight, matches: true };
}
/**
@@ -255,20 +288,26 @@ export default class SelectorItem {
*
* @param element Element.
* @param selector Selector.
- * @returns True if it is a match.
+ * @returns Result.
*/
- private matchesClass(element: Element, selector: string): boolean {
+ private matchesClass(
+ element: IElement,
+ selector: string
+ ): { priorityWeight: number; matches: boolean } {
const regexp = new RegExp(CLASS_REGEXP, 'g');
const classList = element.className.split(' ');
+ const classSelector = selector.split(':')[0];
+ let priorityWeight = 0;
let match: RegExpMatchArray;
- while ((match = regexp.exec(selector.split(':')[0]))) {
+ while ((match = regexp.exec(classSelector))) {
+ priorityWeight += 10;
if (!classList.includes(match[1])) {
- return false;
+ return { priorityWeight: 0, matches: false };
}
}
- return true;
+ return { priorityWeight, matches: true };
}
/**
@@ -278,12 +317,12 @@ export default class SelectorItem {
* @param attributeName Attribute name.
* @returns True if it is a match.
*/
- private matchesAttributeName(element: Element, attributeName: string): boolean {
+ private matchesAttributeName(element: IElement, attributeName: string): boolean {
if (ATTRIBUTE_NAME_REGEXP.test(attributeName)) {
throw new DOMException(`The selector "${this.selector}" is not valid.`);
}
- return !!element._attributes[attributeName.toLowerCase()];
+ return !!(element)._attributes[attributeName.toLowerCase()];
}
/** .
@@ -304,12 +343,12 @@ export default class SelectorItem {
* @param matchType
*/
private matchesAttributeNameAndValue(
- element: Element,
+ element: IElement,
attributeName: string,
attributeValue: string,
matchType: string = null
): boolean {
- const attribute = element._attributes[attributeName.toLowerCase()];
+ const attribute = (element)._attributes[attributeName.toLowerCase()];
const value = attributeValue;
if (ATTRIBUTE_NAME_REGEXP.test(attributeName)) {
diff --git a/packages/happy-dom/src/tree-walker/TreeWalker.ts b/packages/happy-dom/src/tree-walker/TreeWalker.ts
index bd056bd40..6a94b8ffe 100644
--- a/packages/happy-dom/src/tree-walker/TreeWalker.ts
+++ b/packages/happy-dom/src/tree-walker/TreeWalker.ts
@@ -125,7 +125,7 @@ export default class TreeWalker {
* @returns Current node.
*/
public previousSibling(): INode {
- if (this.currentNode !== this.root && this.currentNode) {
+ if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
const siblings = this.currentNode.parentNode.childNodes;
const index = siblings.indexOf(this.currentNode);
@@ -149,7 +149,7 @@ export default class TreeWalker {
* @returns Current node.
*/
public nextSibling(): INode {
- if (this.currentNode !== this.root && this.currentNode) {
+ if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
const siblings = this.currentNode.parentNode.childNodes;
const index = siblings.indexOf(this.currentNode);
diff --git a/packages/happy-dom/src/window/IWindow.ts b/packages/happy-dom/src/window/IWindow.ts
index 4dd4c9898..1fa9a3ede 100644
--- a/packages/happy-dom/src/window/IWindow.ts
+++ b/packages/happy-dom/src/window/IWindow.ts
@@ -11,7 +11,6 @@ import Element from '../nodes/element/Element';
import HTMLTemplateElement from '../nodes/html-template-element/HTMLTemplateElement';
import HTMLFormElement from '../nodes/html-form-element/HTMLFormElement';
import HTMLElement from '../nodes/html-element/HTMLElement';
-import IHTMLElement from '../nodes/html-element/IHTMLElement';
import HTMLUnknownElement from '../nodes/html-unknown-element/HTMLUnknownElement';
import HTMLInputElement from '../nodes/html-input-element/HTMLInputElement';
import HTMLTextAreaElement from '../nodes/html-text-area-element/HTMLTextAreaElement';
@@ -20,6 +19,9 @@ import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
import HTMLLabelElement from '../nodes/html-label-element/HTMLLabelElement';
import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement';
+import HTMLMediaElement from '../nodes/html-media-element/HTMLMediaElement';
+import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement';
+import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement';
import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement';
import SVGSVGElement from '../nodes/svg-element/SVGSVGElement';
import SVGElement from '../nodes/svg-element/SVGElement';
@@ -35,6 +37,7 @@ import CustomEvent from '../event/events/CustomEvent';
import AnimationEvent from '../event/events/AnimationEvent';
import KeyboardEvent from '../event/events/KeyboardEvent';
import ProgressEvent from '../event/events/ProgressEvent';
+import MediaQueryListEvent from '../event/events/MediaQueryListEvent';
import EventTarget from '../event/EventTarget';
import { URL, URLSearchParams } from 'url';
import Location from '../location/Location';
@@ -48,9 +51,16 @@ import DOMException from '../exception/DOMException';
import FileReader from '../file/FileReader';
import History from '../history/History';
import CSSStyleSheet from '../css/CSSStyleSheet';
-import CSSStyleDeclaration from '../css/CSSStyleDeclaration';
+import CSSStyleDeclaration from '../css/declaration/CSSStyleDeclaration';
import CSS from '../css/CSS';
import CSSUnitValue from '../css/CSSUnitValue';
+import CSSRule from '../css/CSSRule';
+import CSSContainerRule from '../css/rules/CSSContainerRule';
+import CSSFontFaceRule from '../css/rules/CSSFontFaceRule';
+import CSSKeyframeRule from '../css/rules/CSSKeyframeRule';
+import CSSKeyframesRule from '../css/rules/CSSKeyframesRule';
+import CSSMediaRule from '../css/rules/CSSMediaRule';
+import CSSStyleRule from '../css/rules/CSSStyleRule';
import PointerEvent from '../event/events/PointerEvent';
import MouseEvent from '../event/events/MouseEvent';
import FocusEvent from '../event/events/FocusEvent';
@@ -87,7 +97,11 @@ import XMLHttpRequestUpload from '../xml-http-request/XMLHttpRequestUpload';
import XMLHttpRequestEventTarget from '../xml-http-request/XMLHttpRequestEventTarget';
import DOMRect from '../nodes/element/DOMRect';
import Window from './Window';
+import Attr from '../nodes/attr/Attr';
+
import { Performance } from 'perf_hooks';
+import IElement from '../nodes/element/IElement';
+import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction';
/**
* Window without dependencies to server side specific packages.
@@ -98,6 +112,8 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
whenAsyncComplete: () => Promise;
cancelAsync: () => void;
asyncTaskManager: AsyncTaskManager;
+ setInnerWidth: (width: number) => void;
+ setInnerHeight: (height: number) => void;
};
// Global classes
@@ -115,8 +131,12 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
readonly HTMLSlotElement: typeof HTMLSlotElement;
readonly HTMLLabelElement: typeof HTMLLabelElement;
readonly HTMLMetaElement: typeof HTMLMetaElement;
+ readonly HTMLMediaElement: typeof HTMLMediaElement;
+ readonly HTMLAudioElement: typeof HTMLAudioElement;
+ readonly HTMLVideoElement: typeof HTMLVideoElement;
readonly HTMLBaseElement: typeof HTMLBaseElement;
readonly HTMLDialogElement: typeof HTMLDialogElement;
+ readonly Attr: typeof Attr;
readonly SVGSVGElement: typeof SVGSVGElement;
readonly SVGElement: typeof SVGElement;
readonly Image: typeof Image;
@@ -126,6 +146,7 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
readonly Element: typeof Element;
readonly DocumentFragment: typeof DocumentFragment;
readonly CharacterData: typeof CharacterData;
+ readonly ProcessingInstruction: typeof ProcessingInstruction;
readonly NodeFilter: typeof NodeFilter;
readonly TreeWalker: typeof TreeWalker;
readonly DOMParser: typeof DOMParser;
@@ -147,6 +168,7 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
readonly ErrorEvent: typeof ErrorEvent;
readonly StorageEvent: typeof StorageEvent;
readonly ProgressEvent: typeof ProgressEvent;
+ readonly MediaQueryListEvent: typeof MediaQueryListEvent;
readonly EventTarget: typeof EventTarget;
readonly DataTransfer: typeof DataTransfer;
readonly DataTransferItem: typeof DataTransferItem;
@@ -170,6 +192,13 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
readonly NodeList: typeof NodeList;
readonly CSSUnitValue: typeof CSSUnitValue;
readonly CSS: CSS;
+ readonly CSSRule: typeof CSSRule;
+ readonly CSSContainerRule: typeof CSSContainerRule;
+ readonly CSSFontFaceRule: typeof CSSFontFaceRule;
+ readonly CSSKeyframeRule: typeof CSSKeyframeRule;
+ readonly CSSKeyframesRule: typeof CSSKeyframesRule;
+ readonly CSSMediaRule: typeof CSSMediaRule;
+ readonly CSSStyleRule: typeof CSSStyleRule;
readonly Selection: typeof Selection;
readonly Navigator: typeof Navigator;
readonly MimeType: typeof MimeType;
@@ -222,7 +251,7 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
* @param element Element.
* @returns CSS style declaration.
*/
- getComputedStyle(element: IHTMLElement): CSSStyleDeclaration;
+ getComputedStyle(element: IElement): CSSStyleDeclaration;
/**
* Returns selection.
diff --git a/packages/happy-dom/src/window/Window.ts b/packages/happy-dom/src/window/Window.ts
index 28366b2d0..8282abee3 100644
--- a/packages/happy-dom/src/window/Window.ts
+++ b/packages/happy-dom/src/window/Window.ts
@@ -20,6 +20,9 @@ import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
import HTMLLabelElement from '../nodes/html-label-element/HTMLLabelElement';
import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement';
+import HTMLMediaElement from '../nodes/html-media-element/HTMLMediaElement';
+import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement';
+import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement';
import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement';
import HTMLDialogElement from '../nodes/html-dialog-element/HTMLDialogElement';
import SVGSVGElement from '../nodes/svg-element/SVGSVGElement';
@@ -35,6 +38,7 @@ import CustomEvent from '../event/events/CustomEvent';
import AnimationEvent from '../event/events/AnimationEvent';
import KeyboardEvent from '../event/events/KeyboardEvent';
import ProgressEvent from '../event/events/ProgressEvent';
+import MediaQueryListEvent from '../event/events/MediaQueryListEvent';
import EventTarget from '../event/EventTarget';
import { URL, URLSearchParams } from 'url';
import Location from '../location/Location';
@@ -50,9 +54,16 @@ import DOMException from '../exception/DOMException';
import { default as FileReaderImplementation } from '../file/FileReader';
import History from '../history/History';
import CSSStyleSheet from '../css/CSSStyleSheet';
-import CSSStyleDeclaration from '../css/CSSStyleDeclaration';
+import CSSStyleDeclaration from '../css/declaration/CSSStyleDeclaration';
import CSS from '../css/CSS';
import CSSUnitValue from '../css/CSSUnitValue';
+import CSSRule from '../css/CSSRule';
+import CSSContainerRule from '../css/rules/CSSContainerRule';
+import CSSFontFaceRule from '../css/rules/CSSFontFaceRule';
+import CSSKeyframeRule from '../css/rules/CSSKeyframeRule';
+import CSSKeyframesRule from '../css/rules/CSSKeyframesRule';
+import CSSMediaRule from '../css/rules/CSSMediaRule';
+import CSSStyleRule from '../css/rules/CSSStyleRule';
import MouseEvent from '../event/events/MouseEvent';
import PointerEvent from '../event/events/PointerEvent';
import FocusEvent from '../event/events/FocusEvent';
@@ -98,6 +109,9 @@ import XMLHttpRequestUpload from '../xml-http-request/XMLHttpRequestUpload';
import XMLHttpRequestEventTarget from '../xml-http-request/XMLHttpRequestEventTarget';
import Base64 from '../base64/Base64';
import IDocument from '../nodes/document/IDocument';
+import Attr from '../nodes/attr/Attr';
+import IElement from '../nodes/element/IElement';
+import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction';
const ORIGINAL_SET_TIMEOUT = setTimeout;
const ORIGINAL_CLEAR_TIMEOUT = clearTimeout;
@@ -119,7 +133,19 @@ export default class Window extends EventTarget implements IWindow {
cancelAsync: (): void => {
this.happyDOM.asyncTaskManager.cancelAll();
},
- asyncTaskManager: new AsyncTaskManager()
+ asyncTaskManager: new AsyncTaskManager(),
+ setInnerWidth: (width: number): void => {
+ if (this.innerWidth !== width) {
+ (this.innerWidth) = width;
+ this.dispatchEvent(new Event('resize'));
+ }
+ },
+ setInnerHeight: (height: number): void => {
+ if (this.innerHeight !== height) {
+ (this.innerHeight) = height;
+ this.dispatchEvent(new Event('resize'));
+ }
+ }
};
// Global classes
@@ -137,13 +163,18 @@ export default class Window extends EventTarget implements IWindow {
public readonly HTMLLabelElement = HTMLLabelElement;
public readonly HTMLSlotElement = HTMLSlotElement;
public readonly HTMLMetaElement = HTMLMetaElement;
+ public readonly HTMLMediaElement = HTMLMediaElement;
+ public readonly HTMLAudioElement = HTMLAudioElement;
+ public readonly HTMLVideoElement = HTMLVideoElement;
public readonly HTMLBaseElement = HTMLBaseElement;
public readonly HTMLDialogElement = HTMLDialogElement;
+ public readonly Attr = Attr;
public readonly SVGSVGElement = SVGSVGElement;
public readonly SVGElement = SVGElement;
public readonly Text = Text;
public readonly Comment = Comment;
public readonly ShadowRoot = ShadowRoot;
+ public readonly ProcessingInstruction = ProcessingInstruction;
public readonly Element = Element;
public readonly DocumentFragment = DocumentFragment;
public readonly CharacterData = CharacterData;
@@ -167,6 +198,7 @@ export default class Window extends EventTarget implements IWindow {
public readonly ErrorEvent = ErrorEvent;
public readonly StorageEvent = StorageEvent;
public readonly ProgressEvent = ProgressEvent;
+ public readonly MediaQueryListEvent = MediaQueryListEvent;
public readonly EventTarget = EventTarget;
public readonly DataTransfer = DataTransfer;
public readonly DataTransferItem = DataTransferItem;
@@ -187,8 +219,14 @@ export default class Window extends EventTarget implements IWindow {
public readonly URLSearchParams = URLSearchParams;
public readonly HTMLCollection = HTMLCollection;
public readonly NodeList = NodeList;
- public readonly MediaQueryList = MediaQueryList;
public readonly CSSUnitValue = CSSUnitValue;
+ public readonly CSSRule = CSSRule;
+ public readonly CSSContainerRule = CSSContainerRule;
+ public readonly CSSFontFaceRule = CSSFontFaceRule;
+ public readonly CSSKeyframeRule = CSSKeyframeRule;
+ public readonly CSSKeyframesRule = CSSKeyframesRule;
+ public readonly CSSMediaRule = CSSMediaRule;
+ public readonly CSSStyleRule = CSSStyleRule;
public readonly Selection = Selection;
public readonly Navigator = Navigator;
public readonly MimeType = MimeType;
@@ -228,12 +266,12 @@ export default class Window extends EventTarget implements IWindow {
public readonly window = this;
public readonly globalThis = this;
public readonly screen = new Screen();
- public readonly innerWidth = 1024;
- public readonly innerHeight = 768;
public readonly devicePixelRatio = 1;
public readonly sessionStorage = new Storage();
public readonly localStorage = new Storage();
public readonly performance = PerfHooks.performance;
+ public readonly innerWidth: number;
+ public readonly innerHeight: number;
// Node.js Globals
public ArrayBuffer;
@@ -306,10 +344,22 @@ export default class Window extends EventTarget implements IWindow {
/**
* Constructor.
+ *
+ * @param [options] Options.
+ * @param [options.innerWidth] Inner width.
+ * @param [options.innerHeight] Inner height.
+ * @param [options.url] URL.
*/
- constructor() {
+ constructor(options?: { innerWidth?: number; innerHeight?: number; url?: string }) {
super();
+ this.innerWidth = options?.innerWidth ? options.innerWidth : 0;
+ this.innerHeight = options?.innerHeight ? options.innerHeight : 0;
+
+ if (options?.url) {
+ this.location.href = options.url;
+ }
+
this._setTimeout = ORIGINAL_SET_TIMEOUT;
this._clearTimeout = ORIGINAL_CLEAR_TIMEOUT;
this._setInterval = ORIGINAL_SET_INTERVAL;
@@ -423,8 +473,8 @@ export default class Window extends EventTarget implements IWindow {
* @param element Element.
* @returns CSS style declaration.
*/
- public getComputedStyle(element: HTMLElement): CSSStyleDeclaration {
- return new CSSStyleDeclaration(element._attributes, element);
+ public getComputedStyle(element: IElement): CSSStyleDeclaration {
+ return new CSSStyleDeclaration(element, true);
}
/**
@@ -487,9 +537,7 @@ export default class Window extends EventTarget implements IWindow {
* @returns A new MediaQueryList.
*/
public matchMedia(mediaQueryString: string): MediaQueryList {
- const mediaQueryList = new MediaQueryList();
- mediaQueryList._media = mediaQueryString;
- return mediaQueryList;
+ return new MediaQueryList(this, mediaQueryString);
}
/**
@@ -554,7 +602,7 @@ export default class Window extends EventTarget implements IWindow {
*/
public requestAnimationFrame(callback: (timestamp: number) => void): NodeJS.Timeout {
return this.setTimeout(() => {
- callback(2);
+ callback(this.performance.now());
});
}
diff --git a/packages/happy-dom/src/xml-parser/XMLParser.ts b/packages/happy-dom/src/xml-parser/XMLParser.ts
index 1268f3e91..98ed92be7 100755
--- a/packages/happy-dom/src/xml-parser/XMLParser.ts
+++ b/packages/happy-dom/src/xml-parser/XMLParser.ts
@@ -93,7 +93,7 @@ export default class XMLParser {
if (ChildLessElements.includes(tagName)) {
let childLessMatch = null;
while ((childLessMatch = markupRegexp.exec(data))) {
- if (childLessMatch[2] === match[2] && childLessMatch[1]) {
+ if (childLessMatch[2].toLowerCase() === tagName && childLessMatch[1]) {
markupRegexp.lastIndex -= childLessMatch[0].length;
break;
}
diff --git a/packages/happy-dom/test/CustomElement.ts b/packages/happy-dom/test/CustomElement.ts
index db3b3b4dd..f4c5b7b70 100644
--- a/packages/happy-dom/test/CustomElement.ts
+++ b/packages/happy-dom/test/CustomElement.ts
@@ -43,25 +43,17 @@ export default class CustomElement extends new Window().HTMLElement {
-
+
key1 is "${this.getAttribute('key1')}" and key2 is "${this.getAttribute(
'key2'
)}".
diff --git a/packages/happy-dom/test/css/CSSParser.test.ts b/packages/happy-dom/test/css/CSSParser.test.ts
index 87d740391..ea9770497 100644
--- a/packages/happy-dom/test/css/CSSParser.test.ts
+++ b/packages/happy-dom/test/css/CSSParser.test.ts
@@ -5,6 +5,7 @@ import CSSMediaRule from '../../src/css/rules/CSSMediaRule';
import CSSParserInput from './data/CSSParserInput';
import CSSKeyframeRule from '../../src/css/rules/CSSKeyframeRule';
import CSSKeyframesRule from '../../src/css/rules/CSSKeyframesRule';
+import CSSContainerRule from '../../src/css/rules/CSSContainerRule';
describe('CSSParser', () => {
describe('parseFromString()', () => {
@@ -12,7 +13,7 @@ describe('CSSParser', () => {
const cssStyleSheet = new CSSStyleSheet();
const cssRules = CSSParser.parseFromString(cssStyleSheet, CSSParserInput);
- expect(cssRules.length).toBe(5);
+ expect(cssRules.length).toBe(7);
// CSSStyleRule
expect((cssRules[0]).parentRule).toBe(null);
@@ -26,9 +27,9 @@ describe('CSSParser', () => {
expect((cssRules[0]).style[0]).toBe('display');
expect((cssRules[0]).style[1]).toBe('overflow');
expect((cssRules[0]).style[2]).toBe('width');
- expect((cssRules[0]).style['display']).toBe('flex');
- expect((cssRules[0]).style['overflow']).toBe('hidden');
- expect((cssRules[0]).style['width']).toBe('100%');
+ expect((cssRules[0]).style.display).toBe('flex');
+ expect((cssRules[0]).style.overflow).toBe('hidden');
+ expect((cssRules[0]).style.width).toBe('100%');
expect((cssRules[0]).style.cssText).toBe(
'display: flex; overflow: hidden; width: 100%;'
);
@@ -38,20 +39,22 @@ describe('CSSParser', () => {
expect((cssRules[1]).parentStyleSheet).toBe(cssStyleSheet);
expect((cssRules[1]).selectorText).toBe('.container');
expect((cssRules[1]).cssText).toBe(
- '.container { flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }'
+ '.container { flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; --css-variable: 1px; }'
);
- expect((cssRules[1]).style.length).toBe(4);
+ expect((cssRules[1]).style.length).toBe(5);
expect((cssRules[1]).style.parentRule).toBe(cssRules[1]);
expect((cssRules[1]).style[0]).toBe('flex-grow');
expect((cssRules[1]).style[1]).toBe('display');
expect((cssRules[1]).style[2]).toBe('flex-direction');
expect((cssRules[1]).style[3]).toBe('overflow');
- expect((cssRules[1]).style['flexGrow']).toBe('1');
- expect((cssRules[1]).style['display']).toBe('flex');
- expect((cssRules[1]).style['flexDirection']).toBe('column');
- expect((cssRules[1]).style['overflow']).toBe('hidden');
+ expect((cssRules[1]).style[4]).toBe('--css-variable');
+ expect((cssRules[1]).style.flexGrow).toBe('1');
+ expect((cssRules[1]).style.display).toBe('flex');
+ expect((cssRules[1]).style.flexDirection).toBe('column');
+ expect((cssRules[1]).style.overflow).toBe('hidden');
+ expect((cssRules[1]).style.getPropertyValue('--css-variable')).toBe('1px');
expect((cssRules[1]).style.cssText).toBe(
- 'flex-grow: 1; display: flex; flex-direction: column; overflow: hidden;'
+ 'flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; --css-variable: 1px;'
);
// CSSMediaRule
@@ -72,8 +75,8 @@ describe('CSSParser', () => {
expect(children1[0].style.parentRule).toBe(children1[0]);
expect(children1[0].style[0]).toBe('height');
expect(children1[0].style[1]).toBe('animation');
- expect(children1[0].style['height']).toBe('0.5rem');
- expect(children1[0].style['animation']).toBe('keyframes2 2s linear infinite');
+ expect(children1[0].style.height).toBe('0.5rem');
+ expect(children1[0].style.animation).toBe('keyframes2 2s linear infinite');
expect(children1[0].cssText).toBe(
'.container { height: 0.5rem; animation: keyframes2 2s linear infinite; }'
);
@@ -93,14 +96,14 @@ describe('CSSParser', () => {
expect(children2[0].style.length).toBe(1);
expect(children2[0].style.parentRule).toBe(children2[0]);
expect(children2[0].style[0]).toBe('transform');
- expect(children2[0].style['transform']).toBe('rotate(0deg)');
+ expect(children2[0].style.transform).toBe('rotate(0deg)');
expect(children2[0].cssText).toBe('from { transform: rotate(0deg); }');
expect(children2[1].parentRule).toBe(cssRules[3]);
expect(children2[1].parentStyleSheet).toBe(cssStyleSheet);
expect(children2[1].keyText).toBe('to');
expect(children2[1].style.length).toBe(1);
expect(children2[1].style[0]).toBe('transform');
- expect(children2[1].style['transform']).toBe('rotate(360deg)');
+ expect(children2[1].style.transform).toBe('rotate(360deg)');
expect(children2[1].cssText).toBe('to { transform: rotate(360deg); }');
// CSSKeyframesRule
@@ -118,15 +121,49 @@ describe('CSSParser', () => {
expect(children3[0].style.length).toBe(1);
expect(children3[0].style.parentRule).toBe(children3[0]);
expect(children3[0].style[0]).toBe('transform');
- expect(children3[0].style['transform']).toBe('rotate(0deg)');
+ expect(children3[0].style.transform).toBe('rotate(0deg)');
expect(children3[0].cssText).toBe('0% { transform: rotate(0deg); }');
expect(children3[1].parentRule).toBe(cssRules[4]);
expect(children3[1].parentStyleSheet).toBe(cssStyleSheet);
expect(children3[1].keyText).toBe('100%');
expect(children3[1].style.length).toBe(1);
expect(children3[1].style[0]).toBe('transform');
- expect(children3[1].style['transform']).toBe('rotate(360deg)');
+ expect(children3[1].style.transform).toBe('rotate(360deg)');
expect(children3[1].cssText).toBe('100% { transform: rotate(360deg); }');
+
+ // CSSContainerRule 1
+ expect((cssRules[5]).parentRule).toBe(null);
+ expect((cssRules[5]).parentStyleSheet).toBe(cssStyleSheet);
+ expect((cssRules[5]).cssText).toBe(
+ '@container (min-width: 36rem) { .container { color: red; } }'
+ );
+ expect((cssRules[5]).cssRules.length).toBe(1);
+ const children4 = (cssRules[5]).cssRules;
+ expect(children4[0].parentRule).toBe(cssRules[5]);
+ expect(children4[0].parentStyleSheet).toBe(cssStyleSheet);
+ expect(children4[0].selectorText).toBe('.container');
+ expect(children4[0].style.length).toBe(1);
+ expect(children4[0].style.parentRule).toBe(children4[0]);
+ expect(children4[0].style[0]).toBe('color');
+ expect(children4[0].style.color).toBe('red');
+ expect(children4[0].cssText).toBe('.container { color: red; }');
+
+ // CSSContainerRule 2
+ expect((cssRules[6]).parentRule).toBe(null);
+ expect((cssRules[6]).parentStyleSheet).toBe(cssStyleSheet);
+ expect((cssRules[6]).cssText).toBe(
+ '@container name (min-width: 36rem) { .container { color: red; } }'
+ );
+ expect((cssRules[6]).cssRules.length).toBe(1);
+ const children5 = (cssRules[6]).cssRules;
+ expect(children5[0].parentRule).toBe(cssRules[6]);
+ expect(children5[0].parentStyleSheet).toBe(cssStyleSheet);
+ expect(children5[0].selectorText).toBe('.container');
+ expect(children5[0].style.length).toBe(1);
+ expect(children5[0].style.parentRule).toBe(children5[0]);
+ expect(children5[0].style[0]).toBe('color');
+ expect(children5[0].style.color).toBe('red');
+ expect(children5[0].cssText).toBe('.container { color: red; }');
});
});
});
diff --git a/packages/happy-dom/test/css/CSSStyleDeclaration.test.ts b/packages/happy-dom/test/css/CSSStyleDeclaration.test.ts
deleted file mode 100644
index ee5a7294e..000000000
--- a/packages/happy-dom/test/css/CSSStyleDeclaration.test.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import CSSStyleDeclaration from '../../src/css/CSSStyleDeclaration';
-import CSSStyleDeclarationStyleProperties from './data/CSSStyleDeclarationStyleProperties';
-import Attr from '../../src/attribute/Attr';
-
-function CAMEL_TO_KEBAB_CASE(string): string {
- return string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();
-}
-
-describe('CSSStyleDeclaration', () => {
- let attributes: { [k: string]: Attr } = null;
- let cssStyleDeclaration: CSSStyleDeclaration = null;
-
- beforeEach(() => {
- attributes = { style: new Attr() };
- cssStyleDeclaration = new CSSStyleDeclaration(attributes);
- });
-
- for (const property of CSSStyleDeclarationStyleProperties) {
- describe(`get ${property}()`, () => {
- it('Returns style property.', () => {
- attributes.style.value = `${CAMEL_TO_KEBAB_CASE(property)}: test;`;
- expect(cssStyleDeclaration[property]).toBe('test');
- });
- });
-
- describe(`set ${property}()`, () => {
- it('Sets style property.', () => {
- cssStyleDeclaration[property] = 'test';
- expect(attributes.style.value).toBe(`${CAMEL_TO_KEBAB_CASE(property)}: test;`);
- });
- });
- }
-
- describe('get cssText()', () => {
- it('Returns CSS text.', () => {
- attributes['style'] = new Attr();
- attributes['style'].name = 'style';
- attributes['style'].value = 'background: red; color: blue;';
-
- expect(cssStyleDeclaration.cssText).toBe('background: red; color: blue;');
- });
- });
-
- describe('set cssText()', () => {
- it('Sets CSS text.', () => {
- cssStyleDeclaration.cssText = 'line-height: 2; font-size: 12px; background';
-
- // Test if setProperty() crashes when a single property is used in the style
- cssStyleDeclaration.lineHeight = '3';
-
- expect(cssStyleDeclaration.lineHeight).toBe('3');
- expect(cssStyleDeclaration.fontSize).toBe('12px');
- expect(cssStyleDeclaration.background).toBe('');
- expect(attributes['style'].value).toBe('line-height: 3; font-size: 12px; background;');
- });
- });
-
- describe('item()', () => {
- it('Returns an item by index.', () => {
- cssStyleDeclaration.setProperty('background-color', 'green');
- expect(cssStyleDeclaration.item(0)).toBe('background-color');
- });
- });
-
- describe('setProperty()', () => {
- it('Sets a style property.', () => {
- cssStyleDeclaration.setProperty('background-color', 'green');
- expect(attributes.style.value).toBe('background-color: green;');
- expect(cssStyleDeclaration.backgroundColor).toBe('green');
- expect(cssStyleDeclaration.length).toBe(1);
- expect(cssStyleDeclaration[0]).toBe('background-color');
- });
- });
-
- describe('removeProperty()', () => {
- it('Removes a style property.', () => {
- cssStyleDeclaration.setProperty('background-color', 'green');
- cssStyleDeclaration.removeProperty('background-color');
- expect(attributes.style).toBe(undefined);
- expect(cssStyleDeclaration.backgroundColor).toBe('');
- expect(cssStyleDeclaration.length).toBe(0);
- });
- });
-
- describe('getPropertyValue()', () => {
- it('Returns a style property.', () => {
- cssStyleDeclaration.setProperty('background-color', 'green');
- expect(cssStyleDeclaration.getPropertyValue('background-color')).toBe('green');
- });
- });
-});
diff --git a/packages/happy-dom/test/css/CSSStyleSheet.test.ts b/packages/happy-dom/test/css/CSSStyleSheet.test.ts
index 5aec1609a..b10f0f181 100644
--- a/packages/happy-dom/test/css/CSSStyleSheet.test.ts
+++ b/packages/happy-dom/test/css/CSSStyleSheet.test.ts
@@ -14,6 +14,9 @@ describe('CSSStyleSheet', () => {
cssStyleSheet.insertRule('div { background-color: green }');
cssStyleSheet.insertRule('span { background-color: green }');
expect(cssStyleSheet.insertRule('button { background-color: green }', 1)).toBe(1);
+ expect(cssStyleSheet.cssRules[0].cssText).toBe('div { background-color: green; }');
+ expect(cssStyleSheet.cssRules[1].cssText).toBe('button { background-color: green; }');
+ expect(cssStyleSheet.cssRules[2].cssText).toBe('span { background-color: green; }');
});
it('Inserts a rule.', () => {
diff --git a/packages/happy-dom/test/css/data/CSSParserInput.ts b/packages/happy-dom/test/css/data/CSSParserInput.ts
index bed47c0ee..25f4f8a73 100644
--- a/packages/happy-dom/test/css/data/CSSParserInput.ts
+++ b/packages/happy-dom/test/css/data/CSSParserInput.ts
@@ -10,6 +10,7 @@ export default `
display: flex;
flex-direction: column;
overflow: hidden;
+ --css-variable: 1px;
}
@media screen and (max-width: 36rem) {
@@ -38,4 +39,16 @@ export default `
transform: rotate(360deg);
}
}
+
+ @container (min-width: 36rem) {
+ .container {
+ color: red;
+ }
+ }
+
+ @container name (min-width: 36rem) {
+ .container {
+ color: red;
+ }
+ }
`.trim();
diff --git a/packages/happy-dom/test/css/data/CSSStyleDeclarationStyleProperties.ts b/packages/happy-dom/test/css/data/CSSStyleDeclarationStyleProperties.ts
deleted file mode 100644
index 60e73c3ae..000000000
--- a/packages/happy-dom/test/css/data/CSSStyleDeclarationStyleProperties.ts
+++ /dev/null
@@ -1,371 +0,0 @@
-export default [
- 'alignContent',
- 'alignItems',
- 'alignSelf',
- 'alignmentBaseline',
- 'all',
- 'animation',
- 'animationDelay',
- 'animationDirection',
- 'animationDuration',
- 'animationFillMode',
- 'animationIterationCount',
- 'animationName',
- 'animationPlayState',
- 'animationTimingFunction',
- 'appearance',
- 'backdropFilter',
- 'backfaceVisibility',
- 'background',
- 'backgroundAttachment',
- 'backgroundBlendMode',
- 'backgroundClip',
- 'backgroundColor',
- 'backgroundImage',
- 'backgroundOrigin',
- 'backgroundPosition',
- 'backgroundPositionX',
- 'backgroundPositionY',
- 'backgroundRepeat',
- 'backgroundRepeatX',
- 'backgroundRepeatY',
- 'backgroundSize',
- 'baselineShift',
- 'blockSize',
- 'border',
- 'borderBlockEnd',
- 'borderBlockEndColor',
- 'borderBlockEndStyle',
- 'borderBlockEndWidth',
- 'borderBlockStart',
- 'borderBlockStartColor',
- 'borderBlockStartStyle',
- 'borderBlockStartWidth',
- 'borderBottom',
- 'borderBottomColor',
- 'borderBottomLeftRadius',
- 'borderBottomRightRadius',
- 'borderBottomStyle',
- 'borderBottomWidth',
- 'borderCollapse',
- 'borderColor',
- 'borderImage',
- 'borderImageOutset',
- 'borderImageRepeat',
- 'borderImageSlice',
- 'borderImageSource',
- 'borderImageWidth',
- 'borderInlineEnd',
- 'borderInlineEndColor',
- 'borderInlineEndStyle',
- 'borderInlineEndWidth',
- 'borderInlineStart',
- 'borderInlineStartColor',
- 'borderInlineStartStyle',
- 'borderInlineStartWidth',
- 'borderLeft',
- 'borderLeftColor',
- 'borderLeftStyle',
- 'borderLeftWidth',
- 'borderRadius',
- 'borderRight',
- 'borderRightColor',
- 'borderRightStyle',
- 'borderRightWidth',
- 'borderSpacing',
- 'borderStyle',
- 'borderTop',
- 'borderTopColor',
- 'borderTopLeftRadius',
- 'borderTopRightRadius',
- 'borderTopStyle',
- 'borderTopWidth',
- 'borderWidth',
- 'bottom',
- 'boxShadow',
- 'boxSizing',
- 'breakAfter',
- 'breakBefore',
- 'breakInside',
- 'bufferedRendering',
- 'captionSide',
- 'caretColor',
- 'clear',
- 'clip',
- 'clipPath',
- 'clipRule',
- 'color',
- 'colorInterpolation',
- 'colorInterpolationFilters',
- 'colorRendering',
- 'colorScheme',
- 'columnCount',
- 'columnFill',
- 'columnGap',
- 'columnRule',
- 'columnRuleColor',
- 'columnRuleStyle',
- 'columnRuleWidth',
- 'columnSpan',
- 'columnWidth',
- 'columns',
- 'contain',
- 'containIntrinsicSize',
- 'content',
- 'contentVisibility',
- 'counterIncrement',
- 'counterReset',
- 'counterSet',
- 'cssFloat',
- 'cursor',
- 'cx',
- 'cy',
- 'd',
- 'direction',
- 'display',
- 'dominantBaseline',
- 'emptyCells',
- 'fill',
- 'fillOpacity',
- 'fillRule',
- 'filter',
- 'flex',
- 'flexBasis',
- 'flexDirection',
- 'flexFlow',
- 'flexGrow',
- 'flexShrink',
- 'flexWrap',
- 'float',
- 'floodColor',
- 'floodOpacity',
- 'font',
- 'fontDisplay',
- 'fontFamily',
- 'fontFeatureSettings',
- 'fontKerning',
- 'fontOpticalSizing',
- 'fontSize',
- 'fontStretch',
- 'fontStyle',
- 'fontVariant',
- 'fontVariantCaps',
- 'fontVariantEastAsian',
- 'fontVariantLigatures',
- 'fontVariantNumeric',
- 'fontVariationSettings',
- 'fontWeight',
- 'gap',
- 'grid',
- 'gridArea',
- 'gridAutoColumns',
- 'gridAutoFlow',
- 'gridAutoRows',
- 'gridColumn',
- 'gridColumnEnd',
- 'gridColumnGap',
- 'gridColumnStart',
- 'gridGap',
- 'gridRow',
- 'gridRowEnd',
- 'gridRowGap',
- 'gridRowStart',
- 'gridTemplate',
- 'gridTemplateAreas',
- 'gridTemplateColumns',
- 'gridTemplateRows',
- 'height',
- 'hyphens',
- 'imageOrientation',
- 'imageRendering',
- 'inherits',
- 'initialValue',
- 'inlineSize',
- 'isolation',
- 'justifyContent',
- 'justifyItems',
- 'justifySelf',
- 'left',
- 'letterSpacing',
- 'lightingColor',
- 'lineBreak',
- 'lineHeight',
- 'listStyle',
- 'listStyleImage',
- 'listStylePosition',
- 'listStyleType',
- 'margin',
- 'marginBlockEnd',
- 'marginBlockStart',
- 'marginBottom',
- 'marginInlineEnd',
- 'marginInlineStart',
- 'marginLeft',
- 'marginRight',
- 'marginTop',
- 'marker',
- 'markerEnd',
- 'markerMid',
- 'markerStart',
- 'mask',
- 'maskType',
- 'maxBlockSize',
- 'maxHeight',
- 'maxInlineSize',
- 'maxWidth',
- 'maxZoom',
- 'minBlockSize',
- 'minHeight',
- 'minInlineSize',
- 'minWidth',
- 'minZoom',
- 'mixBlendMode',
- 'objectFit',
- 'objectPosition',
- 'offset',
- 'offsetDistance',
- 'offsetPath',
- 'offsetRotate',
- 'opacity',
- 'order',
- 'orientation',
- 'orphans',
- 'outline',
- 'outlineColor',
- 'outlineOffset',
- 'outlineStyle',
- 'outlineWidth',
- 'overflow',
- 'overflowAnchor',
- 'overflowWrap',
- 'overflowX',
- 'overflowY',
- 'overscrollBehavior',
- 'overscrollBehaviorBlock',
- 'overscrollBehaviorInline',
- 'overscrollBehaviorX',
- 'overscrollBehaviorY',
- 'padding',
- 'paddingBlockEnd',
- 'paddingBlockStart',
- 'paddingBottom',
- 'paddingInlineEnd',
- 'paddingInlineStart',
- 'paddingLeft',
- 'paddingRight',
- 'paddingTop',
- 'page',
- 'pageBreakAfter',
- 'pageBreakBefore',
- 'pageBreakInside',
- 'pageOrientation',
- 'paintOrder',
- 'perspective',
- 'perspectiveOrigin',
- 'placeContent',
- 'placeItems',
- 'placeSelf',
- 'pointerEvents',
- 'position',
- 'quotes',
- 'r',
- 'resize',
- 'right',
- 'rowGap',
- 'rubyPosition',
- 'rx',
- 'ry',
- 'scrollBehavior',
- 'scrollMargin',
- 'scrollMarginBlock',
- 'scrollMarginBlockEnd',
- 'scrollMarginBlockStart',
- 'scrollMarginBottom',
- 'scrollMarginInline',
- 'scrollMarginInlineEnd',
- 'scrollMarginInlineStart',
- 'scrollMarginLeft',
- 'scrollMarginRight',
- 'scrollMarginTop',
- 'scrollPadding',
- 'scrollPaddingBlock',
- 'scrollPaddingBlockEnd',
- 'scrollPaddingBlockStart',
- 'scrollPaddingBottom',
- 'scrollPaddingInline',
- 'scrollPaddingInlineEnd',
- 'scrollPaddingInlineStart',
- 'scrollPaddingLeft',
- 'scrollPaddingRight',
- 'scrollPaddingTop',
- 'scrollSnapAlign',
- 'scrollSnapStop',
- 'scrollSnapType',
- 'shapeImageThreshold',
- 'shapeMargin',
- 'shapeOutside',
- 'shapeRendering',
- 'size',
- 'speak',
- 'src',
- 'stopColor',
- 'stopOpacity',
- 'stroke',
- 'strokeDasharray',
- 'strokeDashoffset',
- 'strokeLinecap',
- 'strokeLinejoin',
- 'strokeMiterlimit',
- 'strokeOpacity',
- 'strokeWidth',
- 'syntax',
- 'tabSize',
- 'tableLayout',
- 'textAlign',
- 'textAlignLast',
- 'textAnchor',
- 'textCombineUpright',
- 'textDecoration',
- 'textDecorationColor',
- 'textDecorationLine',
- 'textDecorationSkipInk',
- 'textDecorationStyle',
- 'textIndent',
- 'textOrientation',
- 'textOverflow',
- 'textRendering',
- 'textShadow',
- 'textSizeAdjust',
- 'textTransform',
- 'textUnderlinePosition',
- 'top',
- 'touchAction',
- 'transform',
- 'transformBox',
- 'transformOrigin',
- 'transformStyle',
- 'transition',
- 'transitionDelay',
- 'transitionDuration',
- 'transitionProperty',
- 'transitionTimingFunction',
- 'unicodeBidi',
- 'unicodeRange',
- 'userSelect',
- 'userZoom',
- 'vectorEffect',
- 'verticalAlign',
- 'visibility',
- 'whiteSpace',
- 'widows',
- 'width',
- 'willChange',
- 'wordBreak',
- 'wordSpacing',
- 'wordWrap',
- 'writingMode',
- 'x',
- 'y',
- 'zIndex',
- 'zoom'
-];
diff --git a/packages/happy-dom/test/css/declaration/CSSStyleDeclaration.test.ts b/packages/happy-dom/test/css/declaration/CSSStyleDeclaration.test.ts
new file mode 100644
index 000000000..1d3a13020
--- /dev/null
+++ b/packages/happy-dom/test/css/declaration/CSSStyleDeclaration.test.ts
@@ -0,0 +1,2275 @@
+import CSSStyleDeclaration from '../../../src/css/declaration/CSSStyleDeclaration';
+import Window from '../../../src/window/Window';
+import IWindow from '../../../src/window/IWindow';
+import IDocument from '../../../src/nodes/document/IDocument';
+import IElement from '../../../src/nodes/element/IElement';
+
+describe('CSSStyleDeclaration', () => {
+ let window: IWindow;
+ let document: IDocument;
+ let element: IElement;
+
+ beforeEach(() => {
+ window = new Window();
+ document = window.document;
+ element = document.createElement('div');
+ });
+
+ describe(`get {number}()`, () => {
+ it('Returns name of property when style is set on element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;font-size: 12px;`);
+
+ expect(declaration[0]).toBe('border-top-width');
+ expect(declaration[1]).toBe('border-right-width');
+ expect(declaration[2]).toBe('border-bottom-width');
+ expect(declaration[3]).toBe('border-left-width');
+ expect(declaration[4]).toBe('border-top-style');
+ expect(declaration[5]).toBe('border-right-style');
+ expect(declaration[6]).toBe('border-bottom-style');
+ expect(declaration[7]).toBe('border-left-style');
+ expect(declaration[8]).toBe('border-top-color');
+ expect(declaration[9]).toBe('border-right-color');
+ expect(declaration[10]).toBe('border-bottom-color');
+ expect(declaration[11]).toBe('border-left-color');
+ expect(declaration[12]).toBe('border-image-source');
+ expect(declaration[13]).toBe('border-image-slice');
+ expect(declaration[14]).toBe('border-image-width');
+ expect(declaration[15]).toBe('border-image-outset');
+ expect(declaration[16]).toBe('border-image-repeat');
+ expect(declaration[17]).toBe('border-top-left-radius');
+ expect(declaration[18]).toBe('border-top-right-radius');
+ expect(declaration[19]).toBe('border-bottom-right-radius');
+ expect(declaration[20]).toBe('border-bottom-left-radius');
+ expect(declaration[21]).toBe('font-size');
+ expect(declaration[22]).toBe(undefined);
+ });
+
+ it('Returns name of property without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.border = '2px solid green';
+ declaration.borderRadius = '2px';
+ declaration.fontSize = '12px';
+
+ expect(declaration[0]).toBe('border-top-width');
+ expect(declaration[1]).toBe('border-right-width');
+ expect(declaration[2]).toBe('border-bottom-width');
+ expect(declaration[3]).toBe('border-left-width');
+ expect(declaration[4]).toBe('border-top-style');
+ expect(declaration[5]).toBe('border-right-style');
+ expect(declaration[6]).toBe('border-bottom-style');
+ expect(declaration[7]).toBe('border-left-style');
+ expect(declaration[8]).toBe('border-top-color');
+ expect(declaration[9]).toBe('border-right-color');
+ expect(declaration[10]).toBe('border-bottom-color');
+ expect(declaration[11]).toBe('border-left-color');
+ expect(declaration[12]).toBe('border-image-source');
+ expect(declaration[13]).toBe('border-image-slice');
+ expect(declaration[14]).toBe('border-image-width');
+ expect(declaration[15]).toBe('border-image-outset');
+ expect(declaration[16]).toBe('border-image-repeat');
+ expect(declaration[17]).toBe('border-top-left-radius');
+ expect(declaration[18]).toBe('border-top-right-radius');
+ expect(declaration[19]).toBe('border-bottom-right-radius');
+ expect(declaration[20]).toBe('border-bottom-left-radius');
+ expect(declaration[21]).toBe('font-size');
+ expect(declaration[22]).toBe(undefined);
+ });
+ });
+
+ describe('get border()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border: inherit');
+
+ expect(declaration.border).toBe('inherit');
+ expect(declaration.borderTop).toBe('inherit');
+ expect(declaration.borderRight).toBe('inherit');
+ expect(declaration.borderBottom).toBe('inherit');
+ expect(declaration.borderLeft).toBe('inherit');
+ expect(declaration.borderTopColor).toBe('inherit');
+ expect(declaration.borderRightColor).toBe('inherit');
+ expect(declaration.borderBottomColor).toBe('inherit');
+ expect(declaration.borderLeftColor).toBe('inherit');
+ expect(declaration.borderTopWidth).toBe('inherit');
+ expect(declaration.borderRightWidth).toBe('inherit');
+ expect(declaration.borderBottomWidth).toBe('inherit');
+ expect(declaration.borderLeftWidth).toBe('inherit');
+ expect(declaration.borderTopStyle).toBe('inherit');
+ expect(declaration.borderRightStyle).toBe('inherit');
+ expect(declaration.borderBottomStyle).toBe('inherit');
+ expect(declaration.borderLeftStyle).toBe('inherit');
+ expect(declaration.borderImage).toBe('inherit');
+ expect(declaration.borderImageOutset).toBe('inherit');
+ expect(declaration.borderImageRepeat).toBe('inherit');
+ expect(declaration.borderImageSlice).toBe('inherit');
+ expect(declaration.borderImageSource).toBe('inherit');
+ expect(declaration.borderImageWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border: 2px solid green');
+
+ expect(declaration.border).toBe('2px solid green');
+
+ expect(declaration.borderTop).toBe('2px solid green');
+ expect(declaration.borderRight).toBe('2px solid green');
+ expect(declaration.borderBottom).toBe('2px solid green');
+ expect(declaration.borderLeft).toBe('2px solid green');
+
+ expect(declaration.borderTopColor).toBe('green');
+ expect(declaration.borderTopWidth).toBe('2px');
+ expect(declaration.borderTopStyle).toBe('solid');
+
+ expect(declaration.borderRightColor).toBe('green');
+ expect(declaration.borderRightWidth).toBe('2px');
+ expect(declaration.borderRightStyle).toBe('solid');
+
+ expect(declaration.borderBottomColor).toBe('green');
+ expect(declaration.borderBottomWidth).toBe('2px');
+ expect(declaration.borderBottomStyle).toBe('solid');
+
+ expect(declaration.borderLeftColor).toBe('green');
+ expect(declaration.borderLeftWidth).toBe('2px');
+ expect(declaration.borderLeftStyle).toBe('solid');
+
+ expect(declaration.borderImage).toBe('initial');
+ expect(declaration.borderImageOutset).toBe('initial');
+ expect(declaration.borderImageRepeat).toBe('initial');
+ expect(declaration.borderImageSlice).toBe('initial');
+ expect(declaration.borderImageSource).toBe('initial');
+ expect(declaration.borderImageWidth).toBe('initial');
+
+ declaration.borderRight = '1px dotted red';
+
+ expect(element.getAttribute('style')).toBe(
+ 'border-width: 2px 1px 2px 2px; border-style: solid dotted solid solid; border-color: green red green green; border-image: initial;'
+ );
+
+ declaration.borderRight = '2px solid green';
+
+ expect(declaration.border).toBe('2px solid green');
+
+ declaration.borderColor = 'red';
+ declaration.borderStyle = 'dotted';
+ declaration.borderWidth = '1px';
+
+ expect(declaration.border).toBe('1px dotted red');
+
+ element.setAttribute('style', 'border: green solid');
+
+ expect(declaration.border).toBe('solid green');
+
+ element.setAttribute('style', 'border: 2px solid rgb(255, 255, 255)');
+
+ expect(declaration.border).toBe('2px solid rgb(255, 255, 255)');
+
+ expect(declaration.borderTop).toBe('2px solid rgb(255, 255, 255)');
+ expect(declaration.borderRight).toBe('2px solid rgb(255, 255, 255)');
+ expect(declaration.borderBottom).toBe('2px solid rgb(255, 255, 255)');
+ expect(declaration.borderLeft).toBe('2px solid rgb(255, 255, 255)');
+
+ expect(declaration.borderTopColor).toBe('rgb(255, 255, 255)');
+ expect(declaration.borderTopWidth).toBe('2px');
+ expect(declaration.borderTopStyle).toBe('solid');
+
+ expect(declaration.borderRightColor).toBe('rgb(255, 255, 255)');
+ expect(declaration.borderRightWidth).toBe('2px');
+ expect(declaration.borderRightStyle).toBe('solid');
+
+ expect(declaration.borderBottomColor).toBe('rgb(255, 255, 255)');
+ expect(declaration.borderBottomWidth).toBe('2px');
+ expect(declaration.borderBottomStyle).toBe('solid');
+
+ expect(declaration.borderLeftColor).toBe('rgb(255, 255, 255)');
+ expect(declaration.borderLeftWidth).toBe('2px');
+ expect(declaration.borderLeftStyle).toBe('solid');
+ });
+ });
+
+ describe('get borderTop()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-top: inherit');
+
+ expect(declaration.borderTop).toBe('inherit');
+ expect(declaration.borderTopColor).toBe('inherit');
+ expect(declaration.borderTopWidth).toBe('inherit');
+ expect(declaration.borderTopStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-top: green 2px solid');
+
+ expect(declaration.border).toBe('');
+
+ expect(declaration.borderTop).toBe('2px solid green');
+ expect(declaration.borderRight).toBe('');
+ expect(declaration.borderBottom).toBe('');
+ expect(declaration.borderLeft).toBe('');
+ expect(declaration.borderTopColor).toBe('green');
+ expect(declaration.borderTopWidth).toBe('2px');
+ expect(declaration.borderTopStyle).toBe('solid');
+ expect(declaration.borderImage).toBe('');
+ });
+ });
+
+ describe('get borderRight()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-right: inherit');
+
+ expect(declaration.borderRight).toBe('inherit');
+ expect(declaration.borderRightColor).toBe('inherit');
+ expect(declaration.borderRightWidth).toBe('inherit');
+ expect(declaration.borderRightStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-right: green solid 2px');
+
+ expect(declaration.border).toBe('');
+
+ expect(declaration.borderTop).toBe('');
+ expect(declaration.borderRight).toBe('2px solid green');
+ expect(declaration.borderBottom).toBe('');
+ expect(declaration.borderLeft).toBe('');
+ expect(declaration.borderRightColor).toBe('green');
+ expect(declaration.borderRightWidth).toBe('2px');
+ expect(declaration.borderRightStyle).toBe('solid');
+ expect(declaration.borderImage).toBe('');
+ });
+ });
+
+ describe('get borderBottom()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-bottom: inherit');
+
+ expect(declaration.borderBottom).toBe('inherit');
+ expect(declaration.borderBottomColor).toBe('inherit');
+ expect(declaration.borderBottomWidth).toBe('inherit');
+ expect(declaration.borderBottomStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-bottom: green solid 2px');
+
+ expect(declaration.border).toBe('');
+
+ expect(declaration.borderTop).toBe('');
+ expect(declaration.borderRight).toBe('');
+ expect(declaration.borderBottom).toBe('2px solid green');
+ expect(declaration.borderLeft).toBe('');
+ expect(declaration.borderBottomColor).toBe('green');
+ expect(declaration.borderBottomWidth).toBe('2px');
+ expect(declaration.borderBottomStyle).toBe('solid');
+ expect(declaration.borderImage).toBe('');
+ });
+ });
+
+ describe('get borderLeft()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-left: inherit');
+
+ expect(declaration.borderLeft).toBe('inherit');
+ expect(declaration.borderLeftColor).toBe('inherit');
+ expect(declaration.borderLeftWidth).toBe('inherit');
+ expect(declaration.borderLeftStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-left: green solid 2px');
+
+ expect(declaration.border).toBe('');
+
+ expect(declaration.borderTop).toBe('');
+ expect(declaration.borderRight).toBe('');
+ expect(declaration.borderBottom).toBe('');
+ expect(declaration.borderLeft).toBe('2px solid green');
+ expect(declaration.borderLeftColor).toBe('green');
+ expect(declaration.borderLeftWidth).toBe('2px');
+ expect(declaration.borderLeftStyle).toBe('solid');
+ expect(declaration.borderImage).toBe('');
+ });
+ });
+
+ describe('get borderWidth()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-width: inherit');
+
+ expect(declaration.borderTopWidth).toBe('inherit');
+ expect(declaration.borderRightWidth).toBe('inherit');
+ expect(declaration.borderBottomWidth).toBe('inherit');
+ expect(declaration.borderLeftWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border-width: 1px 2px 3px 4px');
+
+ expect(declaration.borderTopWidth).toBe('1px');
+ expect(declaration.borderRightWidth).toBe('2px');
+ expect(declaration.borderBottomWidth).toBe('3px');
+ expect(declaration.borderLeftWidth).toBe('4px');
+
+ element.setAttribute('style', 'border-width: 2px');
+
+ expect(declaration.borderTopWidth).toBe('2px');
+ expect(declaration.borderRightWidth).toBe('2px');
+ expect(declaration.borderBottomWidth).toBe('2px');
+ expect(declaration.borderLeftWidth).toBe('2px');
+ });
+ });
+
+ describe('get borderStyle()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-style: inherit');
+
+ expect(declaration.borderTopStyle).toBe('inherit');
+ expect(declaration.borderRightStyle).toBe('inherit');
+ expect(declaration.borderBottomStyle).toBe('inherit');
+ expect(declaration.borderLeftStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-style: none hidden dotted dashed');
+
+ expect(declaration.borderTopStyle).toBe('none');
+ expect(declaration.borderRightStyle).toBe('hidden');
+ expect(declaration.borderBottomStyle).toBe('dotted');
+ expect(declaration.borderLeftStyle).toBe('dashed');
+
+ element.setAttribute('style', 'border-style: hidden');
+
+ expect(declaration.borderTopStyle).toBe('hidden');
+ expect(declaration.borderRightStyle).toBe('hidden');
+ expect(declaration.borderBottomStyle).toBe('hidden');
+ expect(declaration.borderLeftStyle).toBe('hidden');
+ });
+ });
+
+ describe('get borderColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-color: inherit');
+
+ expect(declaration.borderTopColor).toBe('inherit');
+ expect(declaration.borderRightColor).toBe('inherit');
+ expect(declaration.borderBottomColor).toBe('inherit');
+ expect(declaration.borderLeftColor).toBe('inherit');
+
+ element.setAttribute('style', 'border-color: #000 #ffffff rgba(135,200,150,0.5) blue');
+
+ expect(declaration.borderTopColor).toBe('#000');
+ expect(declaration.borderRightColor).toBe('#ffffff');
+ expect(declaration.borderBottomColor).toBe('rgba(135, 200, 150, 0.5)');
+ expect(declaration.borderLeftColor).toBe('blue');
+
+ element.setAttribute('style', 'border-color: rgb(135,200,150)');
+
+ expect(declaration.borderTopColor).toBe('rgb(135, 200, 150)');
+ expect(declaration.borderRightColor).toBe('rgb(135, 200, 150)');
+ expect(declaration.borderBottomColor).toBe('rgb(135, 200, 150)');
+ expect(declaration.borderLeftColor).toBe('rgb(135, 200, 150)');
+ });
+ });
+
+ describe('get borderImage()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-image: inherit');
+ expect(declaration.borderImage).toBe('inherit');
+ expect(declaration.borderImageSource).toBe('inherit');
+ expect(declaration.borderImageOutset).toBe('inherit');
+ expect(declaration.borderImageRepeat).toBe('inherit');
+ expect(declaration.borderImageSlice).toBe('inherit');
+ expect(declaration.borderImageWidth).toBe('inherit');
+
+ element.setAttribute(
+ 'style',
+ 'border-image: repeating-linear-gradient(30deg, #4d9f0c, #9198e5, #4d9f0c 20px) 60'
+ );
+
+ expect(declaration.borderImage).toBe(
+ 'repeating-linear-gradient(30deg, #4d9f0c, #9198e5, #4d9f0c 20px) 60 / 1 / 0 stretch'
+ );
+
+ element.setAttribute('style', `border-image: url('/media/examples/border-diamonds.png') 30`);
+
+ expect(declaration.borderImage).toBe(
+ `url("/media/examples/border-diamonds.png") 30 / 1 / 0 stretch`
+ );
+
+ element.setAttribute(
+ 'style',
+ `border-image: url('/media/examples/border-diamonds.png') 30 / 19px round`
+ );
+
+ expect(declaration.borderImage).toBe(
+ `url("/media/examples/border-diamonds.png") 30 / 19px / 0 round`
+ );
+
+ element.setAttribute(
+ 'style',
+ `border-image: url("/media/examples/border-diamonds.png") 10 fill / 20px / 30px space`
+ );
+
+ expect(declaration.borderImage).toBe(
+ `url("/media/examples/border-diamonds.png") 10 fill / 20px / 30px space`
+ );
+ expect(declaration.borderImageSource).toBe(`url("/media/examples/border-diamonds.png")`);
+ expect(declaration.borderImageOutset).toBe('30px');
+ expect(declaration.borderImageRepeat).toBe('space');
+ expect(declaration.borderImageSlice).toBe('10 fill');
+ expect(declaration.borderImageWidth).toBe('20px');
+
+ element.setAttribute('style', `border-image: linear-gradient(#f6b73c, #4d9f0c) 30;`);
+
+ expect(declaration.borderImage).toBe(`linear-gradient(#f6b73c, #4d9f0c) 30 / 1 / 0 stretch`);
+ });
+ });
+
+ describe('get borderImageSource()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border-image-source: inherit`);
+
+ expect(declaration.borderImageSource).toBe('inherit');
+
+ element.setAttribute(
+ 'style',
+ `border-image-source: url('/media/examples/border-diamonds.png')`
+ );
+
+ expect(declaration.borderImageSource).toBe(`url("/media/examples/border-diamonds.png")`);
+
+ element.setAttribute('style', `border-image-source: NONE`);
+
+ expect(declaration.borderImageSource).toBe(`none`);
+
+ element.setAttribute(
+ 'style',
+ `border-image-source: repeating-linear-gradient(30deg, #4d9f0c, #9198e5, #4d9f0c 20px)`
+ );
+
+ expect(declaration.borderImageSource).toBe(
+ `repeating-linear-gradient(30deg, #4d9f0c, #9198e5, #4d9f0c 20px)`
+ );
+ });
+ });
+
+ describe('get borderImageSlice()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-image-slice: inherit');
+
+ expect(declaration.borderImageSlice).toBe('inherit');
+
+ element.setAttribute('style', 'border-image-slice: 30');
+
+ expect(declaration.borderImageSlice).toBe('30');
+
+ element.setAttribute('style', 'border-image-slice: 30 fill');
+
+ expect(declaration.borderImageSlice).toBe('30 fill');
+
+ element.setAttribute(
+ 'style',
+ 'border-image-slice: calc(50 / 184 * 100%) calc(80 / 284 * 100%) fill'
+ );
+
+ expect(declaration.borderImageSlice).toBe('calc(50 / 184 * 100%) calc(80 / 284 * 100%) fill');
+ });
+ });
+
+ describe('get borderImageWidth()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-image-width: inherit');
+
+ expect(declaration.borderImageWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border-image-width: auto');
+
+ expect(declaration.borderImageWidth).toBe('auto');
+
+ element.setAttribute('style', 'border-image-width: 25%');
+
+ expect(declaration.borderImageWidth).toBe('25%');
+
+ element.setAttribute('style', 'border-image-width: 5% 2em 10% auto');
+
+ expect(declaration.borderImageWidth).toBe('5% 2em 10% auto');
+ });
+ });
+
+ describe('get borderImageOutset()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-image-outset: inherit');
+
+ expect(declaration.borderImageOutset).toBe('inherit');
+
+ element.setAttribute('style', 'border-image-outset: 1rem');
+
+ expect(declaration.borderImageOutset).toBe('1rem');
+
+ element.setAttribute('style', 'border-image-outset: 1 1.2');
+
+ expect(declaration.borderImageOutset).toBe('1 1.2');
+
+ element.setAttribute('style', 'border-image-outset: 7px 12em 14cm 5px');
+
+ expect(declaration.borderImageOutset).toBe('7px 12em 14cm 5px');
+ });
+ });
+
+ describe('get borderImageRepeat()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-image-repeat: inherit');
+
+ expect(declaration.borderImageRepeat).toBe('inherit');
+
+ element.setAttribute('style', 'border-image-repeat: stretch');
+
+ expect(declaration.borderImageRepeat).toBe('stretch');
+
+ element.setAttribute('style', 'border-image-repeat: repeat');
+
+ expect(declaration.borderImageRepeat).toBe('repeat');
+
+ element.setAttribute('style', 'border-image-repeat: round stretch');
+
+ expect(declaration.borderImageRepeat).toBe('round stretch');
+ });
+ });
+
+ describe('get borderTopWidth()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-top-width: inherit');
+
+ expect(declaration.borderTopWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border-top-width: thick');
+
+ expect(declaration.borderTopWidth).toBe('thick');
+
+ element.setAttribute('style', 'border-top-width: 2em');
+
+ expect(declaration.borderTopWidth).toBe('2em');
+ });
+ });
+
+ describe('get borderRightWidth()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-right-width: inherit');
+
+ expect(declaration.borderRightWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border-right-width: thick');
+
+ expect(declaration.borderRightWidth).toBe('thick');
+
+ element.setAttribute('style', 'border-right-width: 2em');
+
+ expect(declaration.borderRightWidth).toBe('2em');
+ });
+ });
+
+ describe('get borderBottomWidth()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-bottom-width: inherit');
+
+ expect(declaration.borderBottomWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border-bottom-width: thick');
+
+ expect(declaration.borderBottomWidth).toBe('thick');
+
+ element.setAttribute('style', 'border-bottom-width: 2em');
+
+ expect(declaration.borderBottomWidth).toBe('2em');
+ });
+ });
+
+ describe('get borderLeftWidth()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-left-width: inherit');
+
+ expect(declaration.borderLeftWidth).toBe('inherit');
+
+ element.setAttribute('style', 'border-left-width: thick');
+
+ expect(declaration.borderLeftWidth).toBe('thick');
+
+ element.setAttribute('style', 'border-left-width: 2em');
+
+ expect(declaration.borderLeftWidth).toBe('2em');
+ });
+ });
+
+ describe('get borderTopColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-top-color: inherit');
+
+ expect(declaration.borderTopColor).toBe('inherit');
+
+ element.setAttribute('style', 'border-top-color: red');
+
+ expect(declaration.borderTopColor).toBe('red');
+
+ element.setAttribute('style', 'border-top-color: rgba(100, 100, 100, 0.5)');
+
+ expect(declaration.borderTopColor).toBe('rgba(100, 100, 100, 0.5)');
+ });
+ });
+
+ describe('get borderRightColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-right-color: inherit');
+
+ expect(declaration.borderRightColor).toBe('inherit');
+
+ element.setAttribute('style', 'border-right-color: red');
+
+ expect(declaration.borderRightColor).toBe('red');
+
+ element.setAttribute('style', 'border-right-color: rgba(100, 100, 100, 0.5)');
+
+ expect(declaration.borderRightColor).toBe('rgba(100, 100, 100, 0.5)');
+ });
+ });
+
+ describe('get borderBottomColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-bottom-color: inherit');
+
+ expect(declaration.borderBottomColor).toBe('inherit');
+
+ element.setAttribute('style', 'border-bottom-color: red');
+
+ expect(declaration.borderBottomColor).toBe('red');
+
+ element.setAttribute('style', 'border-bottom-color: rgba(100, 100, 100, 0.5)');
+
+ expect(declaration.borderBottomColor).toBe('rgba(100, 100, 100, 0.5)');
+ });
+ });
+
+ describe('get borderLeftColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-left-color: inherit');
+
+ expect(declaration.borderLeftColor).toBe('inherit');
+
+ element.setAttribute('style', 'border-left-color: red');
+
+ expect(declaration.borderLeftColor).toBe('red');
+
+ element.setAttribute('style', 'border-left-color: rgba(100, 100, 100, 0.5)');
+
+ expect(declaration.borderLeftColor).toBe('rgba(100, 100, 100, 0.5)');
+ });
+ });
+
+ describe('get borderTopStyle()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-top-style: inherit');
+
+ expect(declaration.borderTopStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-top-style: dotted');
+
+ expect(declaration.borderTopStyle).toBe('dotted');
+
+ element.setAttribute('style', 'border-top-style: solid');
+
+ expect(declaration.borderTopStyle).toBe('solid');
+ });
+ });
+
+ describe('get borderRightStyle()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-right-style: inherit');
+
+ expect(declaration.borderRightStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-right-style: dotted');
+
+ expect(declaration.borderRightStyle).toBe('dotted');
+
+ element.setAttribute('style', 'border-right-style: solid');
+
+ expect(declaration.borderRightStyle).toBe('solid');
+ });
+ });
+
+ describe('get borderBottomStyle()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-bottom-style: inherit');
+
+ expect(declaration.borderBottomStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-bottom-style: dotted');
+
+ expect(declaration.borderBottomStyle).toBe('dotted');
+
+ element.setAttribute('style', 'border-bottom-style: solid');
+
+ expect(declaration.borderBottomStyle).toBe('solid');
+ });
+ });
+
+ describe('get borderLeftStyle()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-left-style: inherit');
+
+ expect(declaration.borderLeftStyle).toBe('inherit');
+
+ element.setAttribute('style', 'border-left-style: dotted');
+
+ expect(declaration.borderLeftStyle).toBe('dotted');
+
+ element.setAttribute('style', 'border-left-style: solid');
+
+ expect(declaration.borderLeftStyle).toBe('solid');
+ });
+ });
+
+ describe('get borderRadius()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-radius: inherit');
+
+ expect(declaration.borderRadius).toBe('inherit');
+ expect(declaration.borderTopLeftRadius).toBe('inherit');
+ expect(declaration.borderTopRightRadius).toBe('inherit');
+ expect(declaration.borderBottomRightRadius).toBe('inherit');
+ expect(declaration.borderBottomLeftRadius).toBe('inherit');
+
+ element.setAttribute('style', 'border-radius: 1px 2px 3px 4px');
+
+ expect(declaration.borderRadius).toBe('1px 2px 3px 4px');
+ expect(declaration.borderTopLeftRadius).toBe('1px');
+ expect(declaration.borderTopRightRadius).toBe('2px');
+ expect(declaration.borderBottomRightRadius).toBe('3px');
+ expect(declaration.borderBottomLeftRadius).toBe('4px');
+
+ element.setAttribute('style', 'border-radius: 1px 2px 3px');
+
+ expect(declaration.borderRadius).toBe('1px 2px 3px');
+
+ element.setAttribute('style', 'border-radius: 1px 2px');
+
+ expect(declaration.borderRadius).toBe('1px 2px');
+
+ element.setAttribute('style', 'border-radius: 1px');
+
+ expect(declaration.borderRadius).toBe('1px');
+ });
+ });
+
+ describe('get borderTopLeftRadius()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-top-left-radius: inherit');
+
+ expect(declaration.borderTopLeftRadius).toBe('inherit');
+
+ element.setAttribute('style', 'border-top-left-radius: 1rem');
+
+ expect(declaration.borderTopLeftRadius).toBe('1rem');
+ });
+ });
+
+ describe('get borderTopRightRadius()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-top-right-radius: inherit');
+
+ expect(declaration.borderTopRightRadius).toBe('inherit');
+
+ element.setAttribute('style', 'border-top-right-radius: 1rem');
+
+ expect(declaration.borderTopRightRadius).toBe('1rem');
+ });
+ });
+
+ describe('get borderBottomRightRadius()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-bottom-right-radius: inherit');
+
+ expect(declaration.borderBottomRightRadius).toBe('inherit');
+
+ element.setAttribute('style', 'border-bottom-right-radius: 1rem');
+
+ expect(declaration.borderBottomRightRadius).toBe('1rem');
+ });
+ });
+
+ describe('get borderBottomLeftRadius()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'border-bottom-left-radius: inherit');
+
+ expect(declaration.borderBottomLeftRadius).toBe('inherit');
+
+ element.setAttribute('style', 'border-bottom-left-radius: 1rem');
+
+ expect(declaration.borderBottomLeftRadius).toBe('1rem');
+ });
+ });
+
+ describe('get borderCollapse()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of ['collapse', 'separate', 'inherit']) {
+ element.setAttribute('style', `border-collapse: ${value}`);
+
+ expect(declaration.borderCollapse).toBe(value);
+ }
+ });
+ });
+
+ describe('get clear()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of ['inherit', 'none', 'left', 'right', 'both']) {
+ element.setAttribute('style', `clear: ${value}`);
+
+ expect(declaration.clear).toBe(value);
+ }
+ });
+ });
+
+ describe('get clip()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'clip: inherit');
+
+ expect(declaration.clip).toBe('inherit');
+
+ element.setAttribute('style', 'clip: auto');
+
+ expect(declaration.clip).toBe('auto');
+
+ element.setAttribute('style', 'clip: rect(1px, 10em, 3rem, 2ch)');
+
+ expect(declaration.clip).toBe('rect(1px, 10em, 3rem, 2ch)');
+ });
+ });
+
+ describe('get cssFloat()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of ['inherit', 'none', 'left', 'right', 'inline-start', 'inline-end']) {
+ element.setAttribute('style', `css-float: ${value}`);
+
+ expect(declaration.cssFloat).toBe(value);
+ }
+ });
+ });
+
+ describe('get float()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of ['inherit', 'none', 'left', 'right', 'inline-start', 'inline-end']) {
+ element.setAttribute('style', `float: ${value}`);
+
+ expect(declaration.float).toBe(value);
+ }
+ });
+ });
+
+ describe('get display()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of [
+ 'var(--test-variable)',
+ 'inherit',
+ 'initial',
+ 'revert',
+ 'unset',
+ 'block',
+ 'inline',
+ 'inline-block',
+ 'flex',
+ 'inline-flex',
+ 'grid',
+ 'inline-grid',
+ 'flow-root',
+ 'none',
+ 'contents',
+ 'block flow',
+ 'inline flow',
+ 'inline flow-root',
+ 'block flex',
+ 'inline flex',
+ 'block grid',
+ 'inline grid',
+ 'block flow-root',
+ 'table',
+ 'table-row',
+ 'list-item'
+ ]) {
+ element.setAttribute('style', `display: ${value}`);
+
+ expect(declaration.display).toBe(value);
+ }
+ });
+ });
+
+ describe('get direction()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of ['inherit', 'initial', 'revert', 'unset', 'ltr', 'rtl']) {
+ element.setAttribute('style', `direction: ${value}`);
+
+ expect(declaration.direction).toBe(value);
+ }
+ });
+ });
+
+ describe('get flex()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'flex: inherit');
+
+ expect(declaration.flex).toBe('inherit');
+ expect(declaration.flexGrow).toBe('inherit');
+ expect(declaration.flexShrink).toBe('inherit');
+ expect(declaration.flexBasis).toBe('inherit');
+
+ element.setAttribute('style', 'flex: none');
+
+ expect(declaration.flex).toBe('0 0 auto');
+ expect(declaration.flexGrow).toBe('0');
+ expect(declaration.flexShrink).toBe('0');
+ expect(declaration.flexBasis).toBe('auto');
+
+ element.setAttribute('style', 'flex: auto');
+
+ expect(declaration.flex).toBe('1 1 auto');
+ expect(declaration.flexGrow).toBe('1');
+ expect(declaration.flexShrink).toBe('1');
+ expect(declaration.flexBasis).toBe('auto');
+
+ element.setAttribute('style', 'flex: fit-content(10px)');
+
+ expect(declaration.flex).toBe('1 1 fit-content(10px)');
+ expect(declaration.flexGrow).toBe('1');
+ expect(declaration.flexShrink).toBe('1');
+ expect(declaration.flexBasis).toBe('fit-content(10px)');
+
+ element.setAttribute('style', 'flex: 3');
+
+ expect(declaration.flex).toBe('3 1 0%');
+ expect(declaration.flexGrow).toBe('3');
+ expect(declaration.flexShrink).toBe('1');
+ expect(declaration.flexBasis).toBe('0%');
+
+ element.setAttribute('style', 'flex: 3 2');
+
+ expect(declaration.flex).toBe('3 2 0%');
+ expect(declaration.flexGrow).toBe('3');
+ expect(declaration.flexShrink).toBe('2');
+ expect(declaration.flexBasis).toBe('0%');
+
+ element.setAttribute('style', 'flex: 3 2 min-content');
+
+ expect(declaration.flex).toBe('3 2 min-content');
+ expect(declaration.flexGrow).toBe('3');
+ expect(declaration.flexShrink).toBe('2');
+ expect(declaration.flexBasis).toBe('min-content');
+
+ element.setAttribute('style', 'flex: 3 2 50rem');
+
+ expect(declaration.flex).toBe('3 2 50rem');
+ expect(declaration.flexGrow).toBe('3');
+ expect(declaration.flexShrink).toBe('2');
+ expect(declaration.flexBasis).toBe('50rem');
+ });
+ });
+
+ describe('get flexShrink()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'flex-shrink: inherit');
+
+ expect(declaration.flexShrink).toBe('inherit');
+
+ element.setAttribute('style', 'flex-shrink: 2');
+
+ expect(declaration.flexShrink).toBe('2');
+
+ element.setAttribute('style', 'flex-shrink: 0.6');
+
+ expect(declaration.flexShrink).toBe('0.6');
+ });
+ });
+
+ describe('get flexGrow()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'flex-grow: inherit');
+
+ expect(declaration.flexGrow).toBe('inherit');
+
+ element.setAttribute('style', 'flex-grow: 2');
+
+ expect(declaration.flexGrow).toBe('2');
+
+ element.setAttribute('style', 'flex-grow: 0.6');
+
+ expect(declaration.flexGrow).toBe('0.6');
+ });
+ });
+
+ describe('get flexBasis()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'flex-basis: 10em');
+
+ expect(declaration.flexBasis).toBe('10em');
+
+ element.setAttribute('style', 'flex-basis: fit-content(10px)');
+
+ expect(declaration.flexBasis).toBe('fit-content(10px)');
+
+ for (const value of [
+ 'inherit',
+ 'initial',
+ 'revert',
+ 'unset',
+ 'auto',
+ 'fill',
+ 'content',
+ 'max-content',
+ 'min-content',
+ 'fit-content'
+ ]) {
+ element.setAttribute('style', `flex-basis: ${value}`);
+
+ expect(declaration.flexBasis).toBe(value);
+ }
+ });
+ });
+
+ describe('get padding()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'padding: inherit');
+
+ expect(declaration.padding).toBe('inherit');
+
+ element.setAttribute('style', 'padding: 1px 2px 3px 4px');
+
+ expect(declaration.padding).toBe('1px 2px 3px 4px');
+
+ element.setAttribute('style', 'padding: 1px 2px 3px');
+
+ expect(declaration.padding).toBe('1px 2px 3px');
+
+ element.setAttribute('style', 'padding: 1px 2px');
+
+ expect(declaration.padding).toBe('1px 2px');
+
+ element.setAttribute('style', 'padding: 1px');
+
+ expect(declaration.padding).toBe('1px');
+
+ element.setAttribute('style', 'padding: auto');
+
+ expect(declaration.padding).toBe('');
+ });
+ });
+
+ describe('get paddingTop()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'padding-top: inherit');
+
+ expect(declaration.paddingTop).toBe('inherit');
+
+ element.setAttribute('style', 'padding-top: 1px');
+
+ expect(declaration.paddingTop).toBe('1px');
+
+ element.setAttribute('style', 'padding-top: 1%');
+
+ expect(declaration.paddingTop).toBe('1%');
+ });
+ });
+
+ describe('get paddingRight()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'padding-right: inherit');
+
+ expect(declaration.paddingRight).toBe('inherit');
+
+ element.setAttribute('style', 'padding-right: 1px');
+
+ expect(declaration.paddingRight).toBe('1px');
+
+ element.setAttribute('style', 'padding-right: 1%');
+
+ expect(declaration.paddingRight).toBe('1%');
+ });
+ });
+
+ describe('get paddingBottom()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'padding-bottom: inherit');
+
+ expect(declaration.paddingBottom).toBe('inherit');
+
+ element.setAttribute('style', 'padding-bottom: 1px');
+
+ expect(declaration.paddingBottom).toBe('1px');
+
+ element.setAttribute('style', 'padding-bottom: 1%');
+
+ expect(declaration.paddingBottom).toBe('1%');
+ });
+ });
+
+ describe('get paddingLeft()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'padding-left: inherit');
+
+ expect(declaration.paddingLeft).toBe('inherit');
+
+ element.setAttribute('style', 'padding-left: 1px');
+
+ expect(declaration.paddingLeft).toBe('1px');
+
+ element.setAttribute('style', 'padding-left: 1%');
+
+ expect(declaration.paddingLeft).toBe('1%');
+ });
+ });
+
+ describe('get margin()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'margin: inherit');
+
+ expect(declaration.margin).toBe('inherit');
+
+ element.setAttribute('style', 'margin: 1px 2px 3px 4px');
+
+ expect(declaration.margin).toBe('1px 2px 3px 4px');
+
+ element.setAttribute('style', 'margin: 1px 2px 3px');
+
+ expect(declaration.margin).toBe('1px 2px 3px');
+
+ element.setAttribute('style', 'margin: 1px 2px');
+
+ expect(declaration.margin).toBe('1px 2px');
+
+ element.setAttribute('style', 'margin: 1px');
+
+ expect(declaration.margin).toBe('1px');
+
+ element.setAttribute('style', 'margin: auto');
+
+ expect(declaration.margin).toBe('auto');
+ });
+ });
+
+ describe('get marginTop()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'margin-top: inherit');
+
+ expect(declaration.marginTop).toBe('inherit');
+
+ element.setAttribute('style', 'margin-top: 1px');
+
+ expect(declaration.marginTop).toBe('1px');
+
+ element.setAttribute('style', 'margin-top: 1%');
+
+ expect(declaration.marginTop).toBe('1%');
+
+ element.setAttribute('style', 'margin-top: auto');
+
+ expect(declaration.marginTop).toBe('auto');
+ });
+ });
+
+ describe('get marginRight()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'margin-right: inherit');
+
+ expect(declaration.marginRight).toBe('inherit');
+
+ element.setAttribute('style', 'margin-right: 1px');
+
+ expect(declaration.marginRight).toBe('1px');
+
+ element.setAttribute('style', 'margin-right: 1%');
+
+ expect(declaration.marginRight).toBe('1%');
+
+ element.setAttribute('style', 'margin-right: auto');
+
+ expect(declaration.marginRight).toBe('auto');
+ });
+ });
+
+ describe('get marginBottom()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'margin-bottom: inherit');
+
+ expect(declaration.marginBottom).toBe('inherit');
+
+ element.setAttribute('style', 'margin-bottom: 1px');
+
+ expect(declaration.marginBottom).toBe('1px');
+
+ element.setAttribute('style', 'margin-bottom: 1%');
+
+ expect(declaration.marginBottom).toBe('1%');
+
+ element.setAttribute('style', 'margin-bottom: auto');
+
+ expect(declaration.marginBottom).toBe('auto');
+ });
+ });
+
+ describe('get marginLeft()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'margin-left: inherit');
+
+ expect(declaration.marginLeft).toBe('inherit');
+
+ element.setAttribute('style', 'margin-left: 1px');
+
+ expect(declaration.marginLeft).toBe('1px');
+
+ element.setAttribute('style', 'margin-left: 1%');
+
+ expect(declaration.marginLeft).toBe('1%');
+
+ element.setAttribute('style', 'margin-left: auto');
+
+ expect(declaration.marginLeft).toBe('auto');
+ });
+ });
+
+ describe('get background()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'background: inherit');
+
+ expect(declaration.background).toBe('inherit');
+ expect(declaration.backgroundAttachment).toBe('inherit');
+ expect(declaration.backgroundClip).toBe('inherit');
+ expect(declaration.backgroundColor).toBe('inherit');
+ expect(declaration.backgroundImage).toBe('inherit');
+ expect(declaration.backgroundPosition).toBe('inherit');
+ expect(declaration.backgroundRepeat).toBe('inherit');
+ expect(declaration.backgroundSize).toBe('inherit');
+
+ element.setAttribute('style', 'background: green');
+
+ expect(declaration.background).toBe('green');
+
+ element.setAttribute('style', 'background: rgb(255, 255, 255)');
+
+ expect(declaration.background).toBe('rgb(255, 255, 255)');
+
+ element.setAttribute('style', 'background: url("test.jpg") repeat-y');
+
+ expect(declaration.background).toBe('url("test.jpg") repeat-y');
+
+ element.setAttribute('style', 'background: border-box red');
+
+ expect(declaration.background).toBe('border-box border-box red');
+
+ element.setAttribute('style', 'background: no-repeat center/80% url("../img/image.png")');
+
+ expect(declaration.background).toBe('url("../img/image.png") center center / 80% no-repeat');
+
+ element.setAttribute(
+ 'style',
+ 'background: scroll no-repeat top center / 80% url("../img/image.png")'
+ );
+
+ expect(declaration.background).toBe(
+ 'url("../img/image.png") center top / 80% no-repeat scroll'
+ );
+ });
+ });
+
+ describe('get backgroundImage()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'background-image: inherit');
+
+ expect(declaration.backgroundImage).toBe('inherit');
+
+ element.setAttribute('style', 'background-image: url("test.jpg")');
+
+ expect(declaration.backgroundImage).toBe('url("test.jpg")');
+
+ element.setAttribute('style', 'background-image: url(test.jpg)');
+
+ expect(declaration.backgroundImage).toBe('url("test.jpg")');
+
+ element.setAttribute('style', 'background-image: url(test.jpg), url(test2.jpg)');
+
+ expect(declaration.backgroundImage).toBe('url("test.jpg"), url("test2.jpg")');
+ });
+ });
+
+ describe('get backgroundColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'background-color: inherit');
+
+ expect(declaration.backgroundColor).toBe('inherit');
+
+ element.setAttribute('style', 'background-color: red');
+
+ expect(declaration.backgroundColor).toBe('red');
+
+ element.setAttribute('style', 'background-color: rgba(0, 55, 1,0.5)');
+
+ expect(declaration.backgroundColor).toBe('rgba(0, 55, 1, 0.5)');
+ });
+ });
+
+ describe('get backgroundRepeat()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const repeat of [
+ 'inherit',
+ 'initial',
+ 'revert',
+ 'unset',
+ 'repeat',
+ 'repeat-x',
+ 'repeat-y',
+ 'no-repeat'
+ ]) {
+ element.setAttribute('style', `background-repeat: ${repeat}`);
+ expect(declaration.backgroundRepeat).toBe(repeat);
+ }
+ });
+ });
+
+ describe('get backgroundAttachment()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const repeat of ['inherit', 'initial', 'revert', 'unset', 'scroll', 'fixed']) {
+ element.setAttribute('style', `background-attachment: ${repeat}`);
+ expect(declaration.backgroundAttachment).toBe(repeat);
+ }
+ });
+ });
+
+ describe('get backgroundPosition()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'background-position: inherit');
+
+ expect(declaration.backgroundPosition).toBe('inherit');
+
+ element.setAttribute('style', 'background-position: top');
+
+ expect(declaration.backgroundPosition).toBe('center top');
+ expect(declaration.backgroundPositionX).toBe('center');
+ expect(declaration.backgroundPositionY).toBe('top');
+
+ element.setAttribute('style', 'background-position: bottom');
+
+ expect(declaration.backgroundPosition).toBe('center bottom');
+ expect(declaration.backgroundPositionX).toBe('center');
+ expect(declaration.backgroundPositionY).toBe('bottom');
+
+ element.setAttribute('style', 'background-position: left');
+
+ expect(declaration.backgroundPosition).toBe('left center');
+ expect(declaration.backgroundPositionX).toBe('left');
+ expect(declaration.backgroundPositionY).toBe('center');
+
+ element.setAttribute('style', 'background-position: right');
+
+ expect(declaration.backgroundPosition).toBe('right center');
+ expect(declaration.backgroundPositionX).toBe('right');
+ expect(declaration.backgroundPositionY).toBe('center');
+
+ element.setAttribute('style', 'background-position: center');
+
+ expect(declaration.backgroundPosition).toBe('center center');
+ expect(declaration.backgroundPositionX).toBe('center');
+ expect(declaration.backgroundPositionY).toBe('center');
+
+ element.setAttribute('style', 'background-position: 25% 75%');
+
+ expect(declaration.backgroundPosition).toBe('25% 75%');
+ expect(declaration.backgroundPositionX).toBe('25%');
+ expect(declaration.backgroundPositionY).toBe('75%');
+
+ element.setAttribute('style', 'background-position: 0 0');
+
+ expect(declaration.backgroundPosition).toBe('0px 0px');
+ expect(declaration.backgroundPositionX).toBe('0px');
+ expect(declaration.backgroundPositionY).toBe('0px');
+
+ element.setAttribute('style', 'background-position: 1cm 2cm');
+
+ expect(declaration.backgroundPosition).toBe('1cm 2cm');
+ expect(declaration.backgroundPositionX).toBe('1cm');
+ expect(declaration.backgroundPositionY).toBe('2cm');
+
+ element.setAttribute('style', 'background-position: 10ch 8em');
+
+ expect(declaration.backgroundPosition).toBe('10ch 8em');
+ expect(declaration.backgroundPositionX).toBe('10ch');
+ expect(declaration.backgroundPositionY).toBe('8em');
+
+ element.setAttribute('style', 'background-position: 0 0, center');
+
+ expect(declaration.backgroundPosition).toBe('0px 0px, center center');
+ expect(declaration.backgroundPositionX).toBe('0px, center');
+ expect(declaration.backgroundPositionY).toBe('0px, center');
+
+ element.setAttribute('style', 'background-position: bottom 10px right 20px');
+
+ expect(declaration.backgroundPosition).toBe('right 20px bottom 10px');
+ expect(declaration.backgroundPositionX).toBe('right 20px');
+ expect(declaration.backgroundPositionY).toBe('bottom 10px');
+
+ element.setAttribute('style', 'background-position: right 20px bottom 10px');
+
+ expect(declaration.backgroundPosition).toBe('right 20px bottom 10px');
+ expect(declaration.backgroundPositionX).toBe('right 20px');
+ expect(declaration.backgroundPositionY).toBe('bottom 10px');
+
+ element.setAttribute('style', 'background-position: bottom 10px right');
+
+ expect(declaration.backgroundPosition).toBe('right bottom 10px');
+ expect(declaration.backgroundPositionX).toBe('right');
+ expect(declaration.backgroundPositionY).toBe('bottom 10px');
+
+ element.setAttribute('style', 'background-position: top right 10px');
+
+ expect(declaration.backgroundPosition).toBe('right 10px top');
+ expect(declaration.backgroundPositionX).toBe('right 10px');
+ expect(declaration.backgroundPositionY).toBe('top');
+
+ element.setAttribute('style', 'background-position: right 10px top');
+
+ expect(declaration.backgroundPosition).toBe('right 10px top');
+ expect(declaration.backgroundPositionX).toBe('right 10px');
+ expect(declaration.backgroundPositionY).toBe('top');
+
+ element.setAttribute('style', 'background-position: right top 10px');
+
+ expect(declaration.backgroundPosition).toBe('right top 10px');
+ expect(declaration.backgroundPositionX).toBe('right');
+ expect(declaration.backgroundPositionY).toBe('top 10px');
+ });
+ });
+
+ describe('get width()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'width: inherit');
+
+ expect(declaration.width).toBe('inherit');
+
+ element.setAttribute('style', 'width: 75%');
+
+ expect(declaration.width).toBe('75%');
+
+ element.setAttribute('style', 'width: 75px');
+
+ expect(declaration.width).toBe('75px');
+
+ element.setAttribute('style', 'width: fit-content(20em)');
+
+ expect(declaration.width).toBe('fit-content(20em)');
+ });
+ });
+
+ describe('get top()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'top: inherit');
+
+ expect(declaration.top).toBe('inherit');
+
+ element.setAttribute('style', 'top: 75%');
+
+ expect(declaration.top).toBe('75%');
+
+ element.setAttribute('style', 'top: 75px');
+
+ expect(declaration.top).toBe('75px');
+
+ element.setAttribute('style', 'top: fit-content(20em)');
+
+ expect(declaration.top).toBe('fit-content(20em)');
+
+ ((declaration.top)) = 0;
+
+ expect(declaration.top).toBe('0px');
+ });
+ });
+
+ describe('get right()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'right: inherit');
+
+ expect(declaration.right).toBe('inherit');
+
+ element.setAttribute('style', 'right: 75%');
+
+ expect(declaration.right).toBe('75%');
+
+ element.setAttribute('style', 'right: 75px');
+
+ expect(declaration.right).toBe('75px');
+
+ element.setAttribute('style', 'right: fit-content(20em)');
+
+ expect(declaration.right).toBe('fit-content(20em)');
+ });
+ });
+
+ describe('get bottom()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'bottom: inherit');
+
+ expect(declaration.bottom).toBe('inherit');
+
+ element.setAttribute('style', 'bottom: 75%');
+
+ expect(declaration.bottom).toBe('75%');
+
+ element.setAttribute('style', 'bottom: 75px');
+
+ expect(declaration.bottom).toBe('75px');
+
+ element.setAttribute('style', 'bottom: fit-content(20em)');
+
+ expect(declaration.bottom).toBe('fit-content(20em)');
+ });
+ });
+
+ describe('get left()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'left: inherit');
+
+ expect(declaration.left).toBe('inherit');
+
+ element.setAttribute('style', 'left: 75%');
+
+ expect(declaration.left).toBe('75%');
+
+ element.setAttribute('style', 'left: 75px');
+
+ expect(declaration.left).toBe('75px');
+
+ element.setAttribute('style', 'left: fit-content(20em)');
+
+ expect(declaration.left).toBe('fit-content(20em)');
+ });
+ });
+
+ describe('get font()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', 'font: inherit');
+
+ expect(declaration.font).toBe('inherit');
+
+ element.setAttribute('style', 'font: 1.2em "Fira Sans", sans-serif');
+
+ expect(declaration.font).toBe('1.2em "Fira Sans", sans-serif');
+ expect(declaration.fontFamily).toBe('"Fira Sans", sans-serif');
+ expect(declaration.fontSize).toBe('1.2em');
+ expect(declaration.fontStretch).toBe('normal');
+ expect(declaration.fontStyle).toBe('normal');
+ expect(declaration.fontVariant).toBe('normal');
+ expect(declaration.fontWeight).toBe('normal');
+ expect(declaration.lineHeight).toBe('normal');
+
+ element.setAttribute('style', 'font: italic 1.2em "Fira Sans", sans-serif');
+ expect(declaration.font).toBe('italic 1.2em "Fira Sans", sans-serif');
+
+ element.setAttribute('style', 'font: 1.2em Fira Sans, sans-serif');
+ expect(declaration.font).toBe('1.2em "Fira Sans", sans-serif');
+
+ element.setAttribute('style', 'font: 1.2em "Fira Sans, sans-serif');
+ expect(declaration.font).toBe('1.2em "Fira Sans, sans-serif"');
+
+ element.setAttribute('style', 'font: 1.2em Fira "Sans, sans-serif');
+ expect(declaration.font).toBe('');
+
+ element.setAttribute('style', 'font: italic small-caps bold 16px/2 cursive');
+ expect(declaration.font).toBe('italic small-caps bold 16px / 2 cursive');
+
+ element.setAttribute('style', 'font: small-caps bold 24px/1 sans-serif');
+ expect(declaration.font).toBe('small-caps bold 24px / 1 sans-serif');
+
+ element.setAttribute('style', 'font: caption');
+
+ expect(declaration.font).toBe('caption');
+ });
+ });
+
+ describe('get fontStyle()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of ['inherit', 'normal', 'italic', 'oblique', 'oblique 10deg']) {
+ element.setAttribute('style', `font-style: ${property}`);
+ expect(declaration.fontStyle).toBe(property);
+ }
+ });
+ });
+
+ describe('get fontVariant()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of ['inherit', 'normal', 'small-caps']) {
+ element.setAttribute('style', `font-variant: ${property}`);
+ expect(declaration.fontVariant).toBe(property);
+ }
+ });
+ });
+
+ describe('get fontWeight()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of [
+ 'inherit',
+ 'normal',
+ 'bold',
+ 'bolder',
+ 'lighter',
+ '100',
+ '200',
+ '300',
+ '400',
+ '500',
+ '600',
+ '700',
+ '800',
+ '900'
+ ]) {
+ element.setAttribute('style', `font-weight: ${property}`);
+ expect(declaration.fontWeight).toBe(property);
+ }
+ });
+ });
+
+ describe('get fontStretch()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of [
+ 'inherit',
+ 'normal',
+ 'ultra-condensed',
+ 'extra-condensed',
+ 'condensed',
+ 'semi-condensed',
+ 'semi-expanded',
+ 'expanded',
+ 'extra-expanded',
+ 'ultra-expanded'
+ ]) {
+ element.setAttribute('style', `font-stretch: ${property}`);
+ expect(declaration.fontStretch).toBe(property);
+ }
+ });
+ });
+
+ describe('get fontSize()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of [
+ 'inherit',
+ 'medium',
+ 'xx-small',
+ 'x-small',
+ 'small',
+ 'large',
+ 'x-large',
+ 'xx-large',
+ 'smaller',
+ 'larger',
+ '10px',
+ '10em',
+ '10%'
+ ]) {
+ element.setAttribute('style', `font-size: ${property}`);
+ expect(declaration.fontSize).toBe(property);
+ }
+ });
+ });
+
+ describe('get lineHeight()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of ['inherit', 'normal', '10px', '10em', '10%', '10']) {
+ element.setAttribute('style', `line-height: ${property}`);
+ expect(declaration.lineHeight).toBe(property);
+ }
+ });
+ });
+
+ describe('get fontFamily()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of [
+ 'inherit',
+ 'serif',
+ 'sans-serif',
+ 'cursive',
+ 'fantasy',
+ 'monospace'
+ ]) {
+ element.setAttribute('style', `font-family: ${property}`);
+ expect(declaration.fontFamily).toBe(property);
+ }
+
+ element.setAttribute('style', 'font-family: "Fira Sans", sans-serif');
+ expect(declaration.fontFamily).toBe('"Fira Sans", sans-serif');
+
+ element.setAttribute('style', 'font-family: Fira Sans, sans-serif');
+ expect(declaration.fontFamily).toBe('"Fira Sans", sans-serif');
+
+ element.setAttribute('style', 'font-family: "Fira Sans, sans-serif');
+ expect(declaration.fontFamily).toBe('"Fira Sans, sans-serif"');
+
+ element.setAttribute('style', 'font-family: Fira "Sans, sans-serif');
+ expect(declaration.fontFamily).toBe('');
+ });
+ });
+
+ describe('get color()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of ['inherit', 'red', 'rgb(255, 0, 0)', '#ff0000']) {
+ element.setAttribute('style', `color: ${property}`);
+ expect(declaration.color).toBe(property);
+ }
+ });
+ });
+
+ describe('get floodColor()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const property of ['inherit', 'red', 'rgb(255, 0, 0)', '#ff0000']) {
+ element.setAttribute('style', `flood-color: ${property}`);
+ expect(declaration.floodColor).toBe(property);
+ }
+ });
+ });
+
+ describe('get textTransform()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of [
+ 'var(--test-variable)',
+ 'inherit',
+ 'initial',
+ 'revert',
+ 'unset',
+ 'capitalize',
+ 'uppercase',
+ 'lowercase',
+ 'none',
+ 'full-width',
+ 'full-size-kana'
+ ]) {
+ element.setAttribute('style', `text-transform: ${value}`);
+
+ expect(declaration.textTransform).toBe(value);
+ }
+ });
+ });
+
+ describe('get visibility()', () => {
+ it('Returns style property.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ for (const value of [
+ 'var(--test-variable)',
+ 'inherit',
+ 'initial',
+ 'revert',
+ 'unset',
+ 'visible',
+ 'hidden',
+ 'collapse'
+ ]) {
+ element.setAttribute('style', `visibility: ${value}`);
+
+ expect(declaration.visibility).toBe(value);
+ }
+ });
+ });
+
+ describe('get length()', () => {
+ it('Returns length when of styles on element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;font-size: 12px;`);
+
+ expect(declaration.length).toBe(22);
+ });
+
+ it('Returns length without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.border = '2px solid green';
+ declaration.borderRadius = '2px';
+ declaration.fontSize = '12px';
+
+ expect(declaration.length).toBe(22);
+ });
+ });
+
+ describe('get cssText()', () => {
+ it('Returns CSS text when using element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute(
+ 'style',
+ `border: green 2px solid; border-radius: 2px;font-size: 12px;`
+ );
+
+ expect(declaration.cssText).toBe(
+ 'border: 2px solid green; border-radius: 2px; font-size: 12px;'
+ );
+ });
+
+ it('Returns CSS without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.border = '2px solid green';
+ declaration.borderRadius = '2px';
+ declaration.fontSize = '12px';
+
+ expect(declaration.cssText).toBe(
+ 'border: 2px solid green; border-radius: 2px; font-size: 12px;'
+ );
+ });
+ });
+
+ describe('set cssText()', () => {
+ it('Sets CSS text when using element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ declaration.cssText = 'border: 2px solid green; border-radius: 2px;font-size: 12px;';
+
+ expect(element.getAttribute('style')).toBe(
+ 'border: 2px solid green; border-radius: 2px; font-size: 12px;'
+ );
+ });
+
+ it('Sets CSS text without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.cssText = 'border: 2px solid green; border-radius: 2px;font-size: 12px;';
+
+ expect(declaration.border).toBe('2px solid green');
+ expect(declaration.borderRadius).toBe('2px');
+ expect(declaration.fontSize).toBe('12px');
+ });
+
+ it('Removes style property on element if empty value is sent.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ declaration.cssText = '';
+
+ expect(element.getAttribute('style')).toBe(null);
+ });
+ });
+
+ describe('item()', () => {
+ it('Returns an item by index when using element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;font-size: 12px;`);
+
+ expect(declaration.item(0)).toBe('border-top-width');
+ expect(declaration.item(1)).toBe('border-right-width');
+ expect(declaration.item(2)).toBe('border-bottom-width');
+ expect(declaration.item(3)).toBe('border-left-width');
+ expect(declaration.item(4)).toBe('border-top-style');
+ expect(declaration.item(5)).toBe('border-right-style');
+ expect(declaration.item(6)).toBe('border-bottom-style');
+ expect(declaration.item(7)).toBe('border-left-style');
+ expect(declaration.item(8)).toBe('border-top-color');
+ expect(declaration.item(9)).toBe('border-right-color');
+ expect(declaration.item(10)).toBe('border-bottom-color');
+ expect(declaration.item(11)).toBe('border-left-color');
+ expect(declaration.item(12)).toBe('border-image-source');
+ expect(declaration.item(13)).toBe('border-image-slice');
+ expect(declaration.item(14)).toBe('border-image-width');
+ expect(declaration.item(15)).toBe('border-image-outset');
+ expect(declaration.item(16)).toBe('border-image-repeat');
+ expect(declaration.item(17)).toBe('border-top-left-radius');
+ expect(declaration.item(18)).toBe('border-top-right-radius');
+ expect(declaration.item(19)).toBe('border-bottom-right-radius');
+ expect(declaration.item(20)).toBe('border-bottom-left-radius');
+ expect(declaration.item(21)).toBe('font-size');
+ expect(declaration.item(22)).toBe('');
+ });
+
+ it('Returns an item by index without element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ declaration.cssText = 'border: 2px solid green;border-radius: 2px;font-size: 12px;';
+
+ expect(declaration.item(0)).toBe('border-top-width');
+ expect(declaration.item(1)).toBe('border-right-width');
+ expect(declaration.item(2)).toBe('border-bottom-width');
+ expect(declaration.item(3)).toBe('border-left-width');
+ expect(declaration.item(4)).toBe('border-top-style');
+ expect(declaration.item(5)).toBe('border-right-style');
+ expect(declaration.item(6)).toBe('border-bottom-style');
+ expect(declaration.item(7)).toBe('border-left-style');
+ expect(declaration.item(8)).toBe('border-top-color');
+ expect(declaration.item(9)).toBe('border-right-color');
+ expect(declaration.item(10)).toBe('border-bottom-color');
+ expect(declaration.item(11)).toBe('border-left-color');
+ expect(declaration.item(12)).toBe('border-image-source');
+ expect(declaration.item(13)).toBe('border-image-slice');
+ expect(declaration.item(14)).toBe('border-image-width');
+ expect(declaration.item(15)).toBe('border-image-outset');
+ expect(declaration.item(16)).toBe('border-image-repeat');
+ expect(declaration.item(17)).toBe('border-top-left-radius');
+ expect(declaration.item(18)).toBe('border-top-right-radius');
+ expect(declaration.item(19)).toBe('border-bottom-right-radius');
+ expect(declaration.item(20)).toBe('border-bottom-left-radius');
+ expect(declaration.item(21)).toBe('font-size');
+ expect(declaration.item(22)).toBe('');
+ });
+ });
+
+ describe('setProperty()', () => {
+ it('Sets a CSS property when using element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;font-size: 12px;`);
+
+ declaration.setProperty('background-color', 'green');
+ declaration.setProperty('border-radius', '4px', 'important');
+
+ expect(element.getAttribute('style')).toBe(
+ 'border: 2px solid green; border-radius: 4px !important; font-size: 12px; background-color: green;'
+ );
+ });
+
+ it('Sets a CSS property without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.cssText = `border: 2px solid green;border-radius: 2px;font-size: 12px;`;
+ declaration.setProperty('background-color', 'green');
+
+ expect(declaration.cssText).toBe(
+ 'border: 2px solid green; border-radius: 2px; font-size: 12px; background-color: green;'
+ );
+ });
+
+ it('Handles when value is a number.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ declaration.setProperty('top', (1));
+
+ expect(element.getAttribute('style')).toBe('');
+
+ declaration.setProperty('top', (0));
+
+ expect(element.getAttribute('style')).toBe('top: 0px;');
+ });
+
+ it('Removes style attribute on element if empty value is sent', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;`);
+
+ declaration.setProperty('border', '');
+
+ expect(element.getAttribute('style')).toBe(null);
+ });
+
+ it('Can set a CSS variable.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;`);
+
+ declaration.setProperty('--test-key', 'value');
+
+ expect(element.getAttribute('style')).toBe('border: 2px solid green; --test-key: value;');
+ expect(declaration.getPropertyValue('--test-key')).toBe('value');
+ });
+ });
+
+ describe('removeProperty()', () => {
+ it('Removes a CSS property when using element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid blue; color: red;`);
+ declaration.removeProperty('border');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-top: 2px solid blue; color: red;`);
+ declaration.removeProperty('border-top');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-right: 2px solid blue; color: red;`);
+ declaration.removeProperty('border-right');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-bottom: 2px solid blue; color: red;`);
+ declaration.removeProperty('border-bottom');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-left: 2px solid blue; color: red;`);
+ declaration.removeProperty('border-left');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-width: 2px; color: red;`);
+ declaration.removeProperty('border-width');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-style: solid; color: red;`);
+ declaration.removeProperty('border-style');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-color: blue; color: red;`);
+ declaration.removeProperty('border-color');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute(
+ 'style',
+ `border-image: url('/media/examples/border-diamonds.png') 30; color: red;`
+ );
+ declaration.removeProperty('border-image');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `border-radius: 2px;color: red;`);
+ declaration.removeProperty('border-radius');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute(
+ 'style',
+ `background: no-repeat center/80% url("../img/image.png");color: red;`
+ );
+ declaration.removeProperty('background');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `background-position: 25% 75%;color: red;`);
+ declaration.removeProperty('background-position');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `flex: 3 2 min-content;color: red;`);
+ declaration.removeProperty('flex');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `font: 1.2em "Fira Sans", sans-serif;color: red;`);
+ declaration.removeProperty('font');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `padding: 1px 2px 3px 4px;color: red;`);
+ declaration.removeProperty('padding');
+ expect(element.getAttribute('style')).toBe('color: red;');
+
+ element.setAttribute('style', `margin: 1px 2px 3px 4px;color: red;`);
+ declaration.removeProperty('margin');
+ expect(element.getAttribute('style')).toBe('color: red;');
+ });
+
+ it('Removes a CSS property without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.cssText = `border: 2px solid green;border-radius: 2px;font-size: 12px;`;
+ declaration.removeProperty('border-radius');
+
+ expect(declaration.cssText).toBe('border: 2px solid green; font-size: 12px;');
+ });
+
+ it('Removes style attribute on element if there are no CSS properties left.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;`);
+
+ declaration.removeProperty('border');
+ declaration.removeProperty('border-radius');
+
+ expect(element.getAttribute('style')).toBe(null);
+ });
+ });
+
+ describe('getPropertyValue()', () => {
+ it('Returns a CSS property value when using element.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;font-size: 12px;`);
+
+ expect(declaration.getPropertyValue('border')).toBe('2px solid green');
+ expect(declaration.getPropertyValue('border-radius')).toBe('2px');
+ expect(declaration.getPropertyValue('font-size')).toBe('12px');
+ expect(declaration.getPropertyValue('background')).toBe('');
+ });
+
+ it('Returns a CSS property without element.', () => {
+ const declaration = new CSSStyleDeclaration();
+
+ declaration.cssText = `border: 2px solid green;border-radius: 2px;font-size: 12px;`;
+
+ expect(declaration.getPropertyValue('border')).toBe('2px solid green');
+ expect(declaration.getPropertyValue('border-radius')).toBe('2px');
+ expect(declaration.getPropertyValue('font-size')).toBe('12px');
+ expect(declaration.getPropertyValue('background')).toBe('');
+ });
+
+ it('Does not override important values when defined multiple times.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute(
+ 'style',
+ `text-transform: uppercase !important; text-transform: capitalize;`
+ );
+
+ expect(declaration.getPropertyValue('text-transform')).toBe('uppercase');
+ expect(declaration.getPropertyPriority('text-transform')).toBe('important');
+ });
+
+ it('Is using a cache.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ document.body.appendChild(element);
+ element.setAttribute('style', `border: 2px solid green;border-radius: 2px;font-size: 12px;`);
+
+ declaration.getPropertyValue('border');
+ const elementStyle = declaration['_elementStyle'].getElementStyle();
+ declaration.getPropertyValue('border');
+ expect(elementStyle).toBe(declaration['_elementStyle'].getElementStyle());
+
+ const computedDeclaration = new CSSStyleDeclaration(element, true);
+
+ computedDeclaration.getPropertyValue('border');
+ const computedElementStyle = declaration['_elementStyle'].getElementStyle();
+ computedDeclaration.getPropertyValue('border');
+ expect(computedElementStyle).toBe(declaration['_elementStyle'].getElementStyle());
+
+ element.setAttribute('style', `border: 2px solid green;`);
+
+ expect(elementStyle).not.toBe(declaration['_elementStyle'].getElementStyle());
+ expect(computedElementStyle).not.toBe(declaration['_elementStyle'].getElementStyle());
+ });
+ });
+
+ describe('getPropertyPriority()', () => {
+ it('Returns property priority.', () => {
+ const declaration = new CSSStyleDeclaration(element);
+
+ element.setAttribute('style', `text-transform: uppercase`);
+
+ expect(declaration.getPropertyPriority('text-transform')).toBe('');
+
+ element.setAttribute('style', `text-transform: uppercase !important`);
+
+ expect(declaration.getPropertyPriority('text-transform')).toBe('important');
+ });
+ });
+});
diff --git a/packages/happy-dom/test/event/EventTarget.test.ts b/packages/happy-dom/test/event/EventTarget.test.ts
index 4cbe81756..5031d0f17 100644
--- a/packages/happy-dom/test/event/EventTarget.test.ts
+++ b/packages/happy-dom/test/event/EventTarget.test.ts
@@ -99,4 +99,34 @@ describe('EventTarget', () => {
expect(recievedEvent.currentTarget).toBe(eventTarget);
});
});
+
+ describe('attachEvent()', () => {
+ it('Adds an event listener in older browsers for backward compatibility.', () => {
+ let recievedEvent: Event = null;
+ const listener = (event: Event): void => {
+ recievedEvent = event;
+ };
+ const dispatchedEvent = new Event(EVENT_TYPE);
+ eventTarget.attachEvent(`on${EVENT_TYPE}`, listener);
+ eventTarget.dispatchEvent(dispatchedEvent);
+ expect(recievedEvent).toBe(dispatchedEvent);
+ expect(recievedEvent.type).toBe(EVENT_TYPE);
+ expect(recievedEvent.target).toBe(eventTarget);
+ expect(recievedEvent.currentTarget).toBe(eventTarget);
+ });
+ });
+
+ describe('detachEvent()', () => {
+ it('Removes an event listener in older browsers for backward compatibility.', () => {
+ let recievedEvent: Event = null;
+ const listener = (event: Event): void => {
+ recievedEvent = event;
+ };
+ const dispatchedEvent = new Event('click');
+ eventTarget.attachEvent('onclick', listener);
+ eventTarget.detachEvent('onclick', listener);
+ eventTarget.dispatchEvent(dispatchedEvent);
+ expect(recievedEvent).toBe(null);
+ });
+ });
});
diff --git a/packages/happy-dom/test/fetch/Response.test.ts b/packages/happy-dom/test/fetch/Response.test.ts
new file mode 100644
index 000000000..008629896
--- /dev/null
+++ b/packages/happy-dom/test/fetch/Response.test.ts
@@ -0,0 +1,22 @@
+import Response from '../../src/fetch/Response';
+import Window from '../../src/window/Window';
+
+jest.unmock('node-fetch');
+
+beforeAll(() => {
+ const window = new Window();
+ Response._ownerDocument = window.document;
+});
+
+afterAll(() => {
+ Response._ownerDocument = null;
+});
+
+describe('Response', () => {
+ it('Forwards constructor arguments to base implementation.', async () => {
+ const response = new Response('hello there', { status: 404 });
+
+ expect(response.status).toBe(404);
+ expect(await response.text()).toBe('hello there');
+ });
+});
diff --git a/packages/happy-dom/test/file/Blob.test.ts b/packages/happy-dom/test/file/Blob.test.ts
index 50f300ce8..de5d205b6 100644
--- a/packages/happy-dom/test/file/Blob.test.ts
+++ b/packages/happy-dom/test/file/Blob.test.ts
@@ -22,6 +22,20 @@ describe('Blob', () => {
});
});
+ // Reference:
+ // https://github.com/web-std/io/blob/c88170bf24f064adfbb3586a21fb76650ca5a9ab/packages/blob/test/blob.spec.js#L35-L44
+ describe('arrayBuffer()', () => {
+ it('Returns "Promise".', async () => {
+ const str = 'TEST';
+ const blob = new Blob([str]);
+ const buffer = await blob.arrayBuffer();
+ const result = new Uint8Array(buffer);
+ for (let i = 0; i < result.length; ++i) {
+ expect(result[i]).toBe(str[i].charCodeAt(0));
+ }
+ });
+ });
+
describe('toString()', () => {
it('Returns "[object Blob]".', () => {
const blob = new Blob(['TEST']);
diff --git a/packages/happy-dom/test/match-media/MediaQueryList.test.ts b/packages/happy-dom/test/match-media/MediaQueryList.test.ts
new file mode 100644
index 000000000..c9b6cb3bf
--- /dev/null
+++ b/packages/happy-dom/test/match-media/MediaQueryList.test.ts
@@ -0,0 +1,77 @@
+import IWindow from '../../src/window/IWindow';
+import Window from '../../src/window/Window';
+import MediaQueryList from '../../src/match-media/MediaQueryList';
+import MediaQueryListEvent from '../../src/event/events/MediaQueryListEvent';
+
+describe('MediaQueryList', () => {
+ let window: IWindow;
+
+ beforeEach(() => {
+ window = new Window({ innerWidth: 1024, innerHeight: 1024 });
+ });
+
+ describe('get matches()', () => {
+ it('Handles "min-width".', () => {
+ expect(new MediaQueryList(window, '(min-width: 1025px)').matches).toBe(false);
+ expect(new MediaQueryList(window, '(min-width: 1024px)').matches).toBe(true);
+ });
+
+ it('Handles "max-width".', () => {
+ expect(new MediaQueryList(window, '(max-width: 1023px)').matches).toBe(false);
+ expect(new MediaQueryList(window, '(max-width: 1024px)').matches).toBe(true);
+ });
+
+ it('Handles "min-height".', () => {
+ expect(new MediaQueryList(window, '(min-height: 1025px)').matches).toBe(false);
+ expect(new MediaQueryList(window, '(min-height: 1024px)').matches).toBe(true);
+ });
+
+ it('Handles "max-height".', () => {
+ expect(new MediaQueryList(window, '(max-height: 1023px)').matches).toBe(false);
+ expect(new MediaQueryList(window, '(max-height: 1024px)').matches).toBe(true);
+ });
+ });
+
+ describe('get media()', () => {
+ it('Returns media string.', () => {
+ const media = '(min-width: 1023px)';
+ expect(new MediaQueryList(window, media).media).toBe(media);
+ });
+ });
+
+ describe('addEventListener()', () => {
+ it('Listens for window "resize" event when sending in a "change" event.', () => {
+ let triggeredEvent = null;
+ const media = '(min-width: 1025px)';
+ const mediaQueryList = new MediaQueryList(window, media);
+
+ mediaQueryList.addEventListener('change', (event: MediaQueryListEvent): void => {
+ triggeredEvent = event;
+ });
+
+ expect(mediaQueryList.matches).toBe(false);
+
+ window.happyDOM.setInnerWidth(1025);
+
+ expect(triggeredEvent.matches).toBe(true);
+ expect(triggeredEvent.media).toBe(media);
+ });
+ });
+
+ describe('removeEventListener()', () => {
+ it('Removes listener for window "resize" event when sending in a "change" event.', () => {
+ let triggeredEvent = null;
+ const mediaQueryList = new MediaQueryList(window, '(min-width: 1025px)');
+ const listener = (event: MediaQueryListEvent): void => {
+ triggeredEvent = event;
+ };
+
+ mediaQueryList.addEventListener('change', listener);
+ mediaQueryList.removeEventListener('change', listener);
+
+ window.happyDOM.setInnerWidth(1025);
+
+ expect(triggeredEvent).toBe(null);
+ });
+ });
+});
diff --git a/packages/happy-dom/test/nodes/document/Document.test.ts b/packages/happy-dom/test/nodes/document/Document.test.ts
index 551c07ac9..ce9730d17 100644
--- a/packages/happy-dom/test/nodes/document/Document.test.ts
+++ b/packages/happy-dom/test/nodes/document/Document.test.ts
@@ -12,7 +12,7 @@ import Element from '../../../src/nodes/element/Element';
import Event from '../../../src/event/Event';
import SVGSVGElement from '../../../src/nodes/svg-element/SVGSVGElement';
import NamespaceURI from '../../../src/config/NamespaceURI';
-import Attr from '../../../src/attribute/Attr';
+import Attr from '../../../src/nodes/attr/Attr';
import ParentNodeUtility from '../../../src/nodes/parent-node/ParentNodeUtility';
import QuerySelector from '../../../src/query-selector/QuerySelector';
import NodeFilter from '../../../src/tree-walker/NodeFilter';
@@ -30,6 +30,8 @@ import ISVGElement from '../../../src/nodes/svg-element/ISVGElement';
import CustomEvent from '../../../src/event/events/CustomEvent';
import Selection from '../../../src/selection/Selection';
import Range from '../../../src/range/Range';
+import ProcessingInstruction from '../../../src/nodes/processing-instruction/ProcessingInstruction';
+import DOMException from '../../../src/exception/DOMException';
/* eslint-disable jsdoc/require-jsdoc */
@@ -69,7 +71,8 @@ describe('Document', () => {
describe('get children()', () => {
it('Returns Element child nodes.', () => {
document.appendChild(document.createTextNode('test'));
- expect(document.children).toEqual([document.documentElement]);
+ expect(document.children.length).toEqual(1);
+ expect(document.children[0] === document.documentElement).toBe(true);
});
});
@@ -89,7 +92,11 @@ describe('Document', () => {
document.body.appendChild(div);
- expect(Array.from(document.scripts)).toEqual([script1, script2]);
+ const scripts = Array.from(document.scripts);
+
+ expect(scripts.length).toBe(2);
+ expect(scripts[0]).toBe(script1);
+ expect(scripts[1]).toBe(script2);
});
});
@@ -118,7 +125,7 @@ describe('Document', () => {
div.appendChild(span2);
div.appendChild(text2);
- expect(div.firstElementChild).toBe(span1);
+ expect(div.firstElementChild === span1).toBe(true);
});
});
@@ -139,7 +146,7 @@ describe('Document', () => {
div.appendChild(span2);
div.appendChild(text2);
- expect(div.lastElementChild).toBe(span2);
+ expect(div.lastElementChild === span2).toBe(true);
});
});
@@ -223,25 +230,25 @@ describe('Document', () => {
describe('get body()', () => {
it('Returns element.', () => {
- expect(document.body).toBe(document.children[0].children[1]);
+ expect(document.body === document.children[0].children[1]).toBe(true);
});
});
describe('get head()', () => {
it('Returns element.', () => {
- expect(document.head).toBe(document.children[0].children[0]);
+ expect(document.head === document.children[0].children[0]).toBe(true);
});
});
describe('get documentElement()', () => {
it('Returns element.', () => {
- expect(document.documentElement).toBe(document.children[0]);
+ expect(document.documentElement === document.children[0]).toBe(true);
});
});
describe('get doctype()', () => {
it('Returns DocumentType element.', () => {
- expect(document.doctype).toBe(document.childNodes[0]);
+ expect(document.doctype === document.childNodes[0]).toBe(true);
});
});
@@ -313,8 +320,24 @@ describe('Document', () => {
expect(document.activeElement === document.body).toBe(true);
});
+ it('Unsets the active element when it gets disconnected.', () => {
+ const div = document.createElement('div');
+
+ document.appendChild(div);
+
+ expect(document.activeElement === document.body).toBe(true);
+
+ div.focus();
+
+ expect(document.activeElement === div).toBe(true);
+
+ div.remove();
+
+ expect(document.activeElement === document.body).toBe(true);
+ });
+
it('Returns the first custom element that has document as root node when the focused element is nestled in multiple shadow roots.', () => {
- class CustomElementA extends window.HTMLElement {
+ class CustomElementA extends (window).HTMLElement {
constructor() {
super();
this.attachShadow({ mode: 'open' });
@@ -328,7 +351,7 @@ describe('Document', () => {
`;
}
}
- class CustomElementB extends window.HTMLElement {
+ class CustomElementB extends (window).HTMLElement {
constructor() {
super();
this.attachShadow({ mode: 'open' });
@@ -363,7 +386,7 @@ describe('Document', () => {
button.focus();
button.focus();
- expect(document.activeElement).toBe(customElementA);
+ expect(document.activeElement === customElementA).toBe(true);
expect(focusCalls).toBe(1);
});
});
@@ -418,8 +441,10 @@ describe('Document', () => {
let isCalled = false;
jest.spyOn(ParentNodeUtility, 'append').mockImplementation((parentNode, ...nodes) => {
- expect(parentNode).toBe(document);
- expect(nodes).toEqual([node1, node2]);
+ expect(parentNode === document).toBe(true);
+ expect(nodes.length).toBe(2);
+ expect(nodes[0] === node1).toBe(true);
+ expect(nodes[1] === node2).toBe(true);
isCalled = true;
});
@@ -435,8 +460,10 @@ describe('Document', () => {
let isCalled = false;
jest.spyOn(ParentNodeUtility, 'prepend').mockImplementation((parentNode, ...nodes) => {
- expect(parentNode).toBe(document);
- expect(nodes).toEqual([node1, node2]);
+ expect(parentNode === document).toBe(true);
+ expect(nodes.length).toBe(2);
+ expect(nodes[0] === node1).toBe(true);
+ expect(nodes[1] === node2).toBe(true);
isCalled = true;
});
@@ -454,8 +481,10 @@ describe('Document', () => {
jest
.spyOn(ParentNodeUtility, 'replaceChildren')
.mockImplementation((parentNode, ...nodes) => {
- expect(parentNode).toBe(document);
- expect(nodes).toEqual([node1, node2]);
+ expect(parentNode === document).toBe(true);
+ expect(nodes.length).toBe(2);
+ expect(nodes[0] === node1).toBe(true);
+ expect(nodes[1] === node2).toBe(true);
isCalled = true;
});
@@ -470,12 +499,15 @@ describe('Document', () => {
const expectedSelector = 'selector';
jest.spyOn(QuerySelector, 'querySelectorAll').mockImplementation((parentNode, selector) => {
- expect(parentNode).toBe(document);
+ expect(parentNode === document).toBe(true);
expect(selector).toEqual(expectedSelector);
return >[element];
});
- expect(document.querySelectorAll(expectedSelector)).toEqual([element]);
+ const result = document.querySelectorAll(expectedSelector);
+
+ expect(result.length).toBe(1);
+ expect(result[0] === element).toBe(true);
});
});
@@ -485,12 +517,12 @@ describe('Document', () => {
const expectedSelector = 'selector';
jest.spyOn(QuerySelector, 'querySelector').mockImplementation((parentNode, selector) => {
- expect(parentNode).toBe(document);
+ expect(parentNode === document).toBe(true);
expect(selector).toEqual(expectedSelector);
return element;
});
- expect(document.querySelector(expectedSelector)).toEqual(element);
+ expect(document.querySelector(expectedSelector) === element).toBe(true);
});
});
@@ -502,12 +534,14 @@ describe('Document', () => {
jest
.spyOn(ParentNodeUtility, 'getElementsByClassName')
.mockImplementation((parentNode, requestedClassName) => {
- expect(parentNode).toBe(document);
+ expect(parentNode === document).toBe(true);
expect(requestedClassName).toEqual(className);
return >[element];
});
- expect(document.getElementsByClassName(className)).toEqual([element]);
+ const result = document.getElementsByClassName(className);
+ expect(result.length).toBe(1);
+ expect(result[0] === element).toBe(true);
});
});
@@ -519,12 +553,14 @@ describe('Document', () => {
jest
.spyOn(ParentNodeUtility, 'getElementsByTagName')
.mockImplementation((parentNode, requestedTagName) => {
- expect(parentNode).toBe(document);
+ expect(parentNode === document).toBe(true);
expect(requestedTagName).toEqual(tagName);
return >[element];
});
- expect(document.getElementsByTagName(tagName)).toEqual([element]);
+ const result = document.getElementsByTagName(tagName);
+ expect(result.length).toBe(1);
+ expect(result[0] === element).toBe(true);
});
});
@@ -537,13 +573,16 @@ describe('Document', () => {
jest
.spyOn(ParentNodeUtility, 'getElementsByTagNameNS')
.mockImplementation((parentNode, requestedNamespaceURI, requestedTagName) => {
- expect(parentNode).toBe(document);
+ expect(parentNode === document).toBe(true);
expect(requestedNamespaceURI).toEqual(namespaceURI);
expect(requestedTagName).toEqual(tagName);
return >[element];
});
- expect(document.getElementsByTagNameNS(namespaceURI, tagName)).toEqual([element]);
+ const result = document.getElementsByTagNameNS(namespaceURI, tagName);
+
+ expect(result.length).toBe(1);
+ expect(result[0] === element).toBe(true);
});
});
@@ -555,12 +594,12 @@ describe('Document', () => {
jest
.spyOn(ParentNodeUtility, 'getElementById')
.mockImplementation((parentNode, requestedID) => {
- expect(parentNode).toBe(document);
+ expect(parentNode === document).toBe(true);
expect(requestedID).toEqual(id);
return element;
});
- expect(document.getElementById(id)).toEqual(element);
+ expect(document.getElementById(id) === element).toBe(true);
});
});
@@ -588,7 +627,9 @@ describe('Document', () => {
document.appendChild(document.createComment('test'));
document.appendChild(span);
- expect(document.children).toEqual([div, span]);
+ expect(document.children.length).toBe(2);
+ expect(document.children[0]).toBe(div);
+ expect(document.children[1]).toBe(span);
});
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
@@ -605,8 +646,8 @@ describe('Document', () => {
document.appendChild(clone);
- expect(clone.childNodes).toEqual([]);
- expect(clone.children).toEqual([]);
+ expect(clone.childNodes.length).toBe(0);
+ expect(clone.children.length).toBe(0);
expect(document.children.map((child) => child.outerHTML).join('')).toBe(
'Div
Span'
);
@@ -629,7 +670,8 @@ describe('Document', () => {
document.removeChild(div);
- expect(document.children).toEqual([span]);
+ expect(document.children.length).toBe(1);
+ expect(document.children[0]).toBe(span);
});
});
@@ -649,7 +691,10 @@ describe('Document', () => {
document.appendChild(span);
document.insertBefore(div2, div1);
- expect(document.children).toEqual([div2, div1, span]);
+ expect(document.children.length).toBe(3);
+ expect(document.children[0]).toBe(div2);
+ expect(document.children[1]).toBe(div1);
+ expect(document.children[2]).toBe(span);
});
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
@@ -835,43 +880,42 @@ describe('Document', () => {
describe('createAttribute()', () => {
it('Creates an Attr node.', () => {
const attribute = document.createAttribute('KEY1');
+
expect(attribute instanceof Attr).toBe(true);
- expect(attribute).toEqual({
- value: null,
- name: 'key1',
- namespaceURI: null,
- specified: true,
- ownerElement: null,
- ownerDocument: document
- });
+
+ expect(attribute.value).toBe(null);
+ expect(attribute.name).toBe('key1');
+ expect(attribute.namespaceURI).toBe(null);
+ expect(attribute.specified).toBe(true);
+ expect(attribute.ownerElement === null).toBe(true);
+ expect(attribute.ownerDocument === document).toBe(true);
});
});
describe('createAttributeNS()', () => {
it('Creates an Attr node with namespace set to HTML.', () => {
const attribute = document.createAttributeNS(NamespaceURI.html, 'KEY1');
+
expect(attribute instanceof Attr).toBe(true);
- expect(attribute).toEqual({
- value: null,
- name: 'KEY1',
- namespaceURI: NamespaceURI.html,
- specified: true,
- ownerElement: null,
- ownerDocument: document
- });
+
+ expect(attribute.value).toBe(null);
+ expect(attribute.name).toBe('KEY1');
+ expect(attribute.namespaceURI).toBe(NamespaceURI.html);
+ expect(attribute.specified).toBe(true);
+ expect(attribute.ownerElement === null).toBe(true);
+ expect(attribute.ownerDocument === document).toBe(true);
});
it('Creates an Attr node with namespace set to SVG.', () => {
const attribute = document.createAttributeNS(NamespaceURI.svg, 'KEY1');
expect(attribute instanceof Attr).toBe(true);
- expect(attribute).toEqual({
- value: null,
- name: 'KEY1',
- namespaceURI: NamespaceURI.svg,
- specified: true,
- ownerElement: null,
- ownerDocument: document
- });
+
+ expect(attribute.value).toBe(null);
+ expect(attribute.name).toBe('KEY1');
+ expect(attribute.namespaceURI).toBe(NamespaceURI.svg);
+ expect(attribute.specified).toBe(true);
+ expect(attribute.ownerElement === null).toBe(true);
+ expect(attribute.ownerDocument === document).toBe(true);
});
});
@@ -924,7 +968,7 @@ describe('Document', () => {
}
};
const treeWalker = document.createTreeWalker(root, whatToShow, filter);
- expect(treeWalker.root).toBe(root);
+ expect(treeWalker.root === root).toBe(true);
expect(treeWalker.whatToShow).toBe(whatToShow);
expect(treeWalker.filter).toBe(filter);
expect(treeWalker instanceof TreeWalker).toBe(true);
@@ -958,7 +1002,7 @@ describe('Document', () => {
const node = new Window().document.createElement('div');
const clone = document.importNode(node);
expect(clone.tagName).toBe('DIV');
- expect(clone.ownerDocument).toBe(document);
+ expect(clone.ownerDocument === document).toBe(true);
expect(clone instanceof HTMLElement).toBe(true);
});
});
@@ -976,8 +1020,8 @@ describe('Document', () => {
const clone = document.cloneNode(false);
const clone2 = document.cloneNode(true);
- expect(clone.defaultView).toBe(window);
- expect(clone.children).toEqual([]);
+ expect(clone.defaultView === window).toBe(true);
+ expect(clone.children.length).toBe(0);
expect(clone2.children.length).toBe(1);
expect(clone2.children[0].outerHTML).toBe('');
});
@@ -992,7 +1036,7 @@ describe('Document', () => {
expect(adopted.tagName).toBe('DIV');
expect(adopted instanceof HTMLElement).toBe(true);
- expect(adopted.ownerDocument).toBe(document);
+ expect(adopted.ownerDocument === document).toBe(true);
expect(originalDocument.querySelector('div')).toBe(null);
});
@@ -1002,7 +1046,7 @@ describe('Document', () => {
expect(adopted.tagName).toBe('DIV');
expect(adopted instanceof HTMLElement).toBe(true);
- expect(adopted.ownerDocument).toBe(document);
+ expect(adopted.ownerDocument === document).toBe(true);
});
});
@@ -1121,4 +1165,44 @@ describe('Document', () => {
expect(emittedEvent).toBe(event);
});
});
+
+ describe('createProcessingInstruction()', () => {
+ it('Creates a Processing Instruction node with target & data.', () => {
+ const instruction = document.createProcessingInstruction('foo', 'bar');
+ expect(instruction instanceof ProcessingInstruction).toBe(true);
+ expect(instruction).toEqual(
+ expect.objectContaining({
+ target: 'foo',
+ data: 'bar',
+ ownerDocument: document
+ })
+ );
+ });
+
+ it('Throws an exception if target is invalid".', () => {
+ expect.assertions(1);
+ try {
+ document.createProcessingInstruction('-foo', 'bar');
+ } catch (e) {
+ expect(e).toEqual(
+ new DOMException(
+ `Failed to execute 'createProcessingInstruction' on 'Document': The target provided ('-foo') is not a valid name.`
+ )
+ );
+ }
+ });
+
+ it('Throws an exception if data contains "?>".', () => {
+ expect.assertions(1);
+ try {
+ document.createProcessingInstruction('foo', 'bar?>');
+ } catch (e) {
+ expect(e).toEqual(
+ new DOMException(
+ `Failed to execute 'createProcessingInstruction' on 'Document': The data provided ('?>') contains '?>'`
+ )
+ );
+ }
+ });
+ });
});
diff --git a/packages/happy-dom/test/nodes/element/Element.test.ts b/packages/happy-dom/test/nodes/element/Element.test.ts
index 2779c2e21..3d0489872 100644
--- a/packages/happy-dom/test/nodes/element/Element.test.ts
+++ b/packages/happy-dom/test/nodes/element/Element.test.ts
@@ -17,6 +17,7 @@ import Node from '../../../src/nodes/node/Node';
import IHTMLCollection from '../../../src/nodes/element/IHTMLCollection';
import IElement from '../../../src/nodes/element/IElement';
import INodeList from '../../../src/nodes/node/INodeList';
+import IAttr from '../../../src/nodes/attr/IAttr';
const NAMESPACE_URI = 'https://test.test';
@@ -44,7 +45,9 @@ describe('Element', () => {
element.appendChild(div1);
element.appendChild(textNode);
element.appendChild(div2);
- expect(element.children).toEqual([div1, div2]);
+ expect(element.children.length).toBe(2);
+ expect(element.children[0] === div1).toBe(true);
+ expect(element.children[1] === div2).toBe(true);
});
});
@@ -241,57 +244,49 @@ describe('Element', () => {
element.setAttribute('key2', 'value2');
element.setAttribute('key3', 'value3');
- expect(element.attributes).toEqual({
- '0': {
- name: 'key1',
- value: 'value1',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- '1': {
- name: 'key2',
- value: 'value2',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- '2': {
- name: 'key3',
- value: 'value3',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key1: {
- name: 'key1',
- value: 'value1',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key2: {
- name: 'key2',
- value: 'value2',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key3: {
- name: 'key3',
- value: 'value3',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- length: 3
- });
+ expect(element.attributes.length).toBe(3);
+
+ expect(element.attributes[0].name).toBe('key1');
+ expect(element.attributes[0].value).toBe('value1');
+ expect(element.attributes[0].namespaceURI).toBe(null);
+ expect(element.attributes[0].specified).toBe(true);
+ expect(element.attributes[0].ownerElement === element).toBe(true);
+ expect(element.attributes[0].ownerDocument === document).toBe(true);
+
+ expect(element.attributes[1].name).toBe('key2');
+ expect(element.attributes[1].value).toBe('value2');
+ expect(element.attributes[1].namespaceURI).toBe(null);
+ expect(element.attributes[1].specified).toBe(true);
+ expect(element.attributes[1].ownerElement === element).toBe(true);
+ expect(element.attributes[1].ownerDocument === document).toBe(true);
+
+ expect(element.attributes[2].name).toBe('key3');
+ expect(element.attributes[2].value).toBe('value3');
+ expect(element.attributes[2].namespaceURI).toBe(null);
+ expect(element.attributes[2].specified).toBe(true);
+ expect(element.attributes[2].ownerElement === element).toBe(true);
+ expect(element.attributes[2].ownerDocument === document).toBe(true);
+
+ expect(element.attributes.key1.name).toBe('key1');
+ expect(element.attributes.key1.value).toBe('value1');
+ expect(element.attributes.key1.namespaceURI).toBe(null);
+ expect(element.attributes.key1.specified).toBe(true);
+ expect(element.attributes.key1.ownerElement === element).toBe(true);
+ expect(element.attributes.key1.ownerDocument === document).toBe(true);
+
+ expect(element.attributes.key2.name).toBe('key2');
+ expect(element.attributes.key2.value).toBe('value2');
+ expect(element.attributes.key2.namespaceURI).toBe(null);
+ expect(element.attributes.key2.specified).toBe(true);
+ expect(element.attributes.key2.ownerElement === element).toBe(true);
+ expect(element.attributes.key2.ownerDocument === document).toBe(true);
+
+ expect(element.attributes.key3.name).toBe('key3');
+ expect(element.attributes.key3.value).toBe('value3');
+ expect(element.attributes.key3.namespaceURI).toBe(null);
+ expect(element.attributes.key3.specified).toBe(true);
+ expect(element.attributes.key3.ownerElement === element).toBe(true);
+ expect(element.attributes.key3.ownerDocument === document).toBe(true);
});
});
@@ -320,7 +315,7 @@ describe('Element', () => {
div.appendChild(span2);
div.appendChild(text2);
- expect(div.firstElementChild).toBe(span1);
+ expect(div.firstElementChild === span1).toBe(true);
});
});
@@ -341,7 +336,7 @@ describe('Element', () => {
div.appendChild(span2);
div.appendChild(text2);
- expect(div.lastElementChild).toBe(span2);
+ expect(div.lastElementChild === span2).toBe(true);
});
});
@@ -352,7 +347,7 @@ describe('Element', () => {
element.appendChild(div);
jest.spyOn(XMLSerializer.prototype, 'serializeToString').mockImplementation((rootElement) => {
- expect(rootElement).toBe(div);
+ expect(rootElement === div).toBe(true);
return 'EXPECTED_HTML';
});
@@ -367,7 +362,7 @@ describe('Element', () => {
jest
.spyOn(XMLSerializer.prototype, 'serializeToString')
.mockImplementation((rootElement, options) => {
- expect(rootElement).toBe(div);
+ expect(rootElement === div).toBe(true);
expect(options).toEqual({ includeShadowRoots: true });
return 'EXPECTED_HTML';
});
@@ -383,8 +378,10 @@ describe('Element', () => {
let isCalled = false;
jest.spyOn(ParentNodeUtility, 'append').mockImplementation((parentNode, ...nodes) => {
- expect(parentNode).toBe(document);
- expect(nodes).toEqual([node1, node2]);
+ expect(parentNode === document).toBe(true);
+ expect(nodes.length).toBe(2);
+ expect(nodes[0] === node1).toBe(true);
+ expect(nodes[1] === node2).toBe(true);
isCalled = true;
});
@@ -400,8 +397,10 @@ describe('Element', () => {
let isCalled = false;
jest.spyOn(ParentNodeUtility, 'prepend').mockImplementation((parentNode, ...nodes) => {
- expect(parentNode).toBe(document);
- expect(nodes).toEqual([node1, node2]);
+ expect(parentNode === document).toBe(true);
+ expect(nodes.length).toBe(2);
+ expect(nodes[0] === node1).toBe(true);
+ expect(nodes[1] === node2).toBe(true);
isCalled = true;
});
@@ -419,10 +418,10 @@ describe('Element', () => {
const insertedNode = parent.insertAdjacentElement('beforebegin', newNode);
- expect(insertedNode).toBe(newNode);
- expect(parent.childNodes).toEqual([]);
+ expect(insertedNode === newNode).toBe(true);
+ expect(parent.childNodes.length).toEqual(0);
expect(insertedNode.isConnected).toBe(true);
- expect(document.body.childNodes[0]).toBe(newNode);
+ expect(document.body.childNodes[0] === newNode).toBe(true);
});
it('Returns with null if cannot insert with "beforebegin".', () => {
@@ -430,7 +429,7 @@ describe('Element', () => {
const newNode = document.createElement('span');
const insertedNode = parent.insertAdjacentElement('beforebegin', newNode);
- expect(insertedNode).toBe(null);
+ expect(insertedNode === null).toBe(true);
expect(newNode.isConnected).toBe(false);
});
@@ -445,8 +444,8 @@ describe('Element', () => {
const insertedNode = parent.insertAdjacentElement('afterbegin', newNode);
- expect(insertedNode).toBe(newNode);
- expect(parent.childNodes[0]).toBe(insertedNode);
+ expect(insertedNode === newNode).toBe(true);
+ expect(parent.childNodes[0] === insertedNode).toBe(true);
expect(insertedNode.isConnected).toBe(true);
});
@@ -460,8 +459,8 @@ describe('Element', () => {
const insertedNode = parent.insertAdjacentElement('beforeend', newNode);
- expect(insertedNode).toBe(newNode);
- expect(parent.childNodes[1]).toBe(insertedNode);
+ expect(insertedNode === newNode).toBe(true);
+ expect(parent.childNodes[1] === insertedNode).toBe(true);
expect(insertedNode.isConnected).toBe(true);
});
@@ -473,12 +472,12 @@ describe('Element', () => {
const insertedNode = parent.insertAdjacentElement('afterend', newNode);
- expect(insertedNode).toBe(newNode);
- expect(parent.childNodes).toEqual([]);
+ expect(insertedNode === newNode).toBe(true);
+ expect(parent.childNodes.length).toEqual(0);
expect(insertedNode.isConnected).toBe(true);
- expect(document.body.childNodes[0]).toBe(parent);
- expect(document.body.childNodes[1]).toBe(insertedNode);
+ expect(document.body.childNodes[0] === parent).toBe(true);
+ expect(document.body.childNodes[1] === insertedNode).toBe(true);
});
it('Inserts a Node right after the reference element and returns with it.', () => {
@@ -491,13 +490,13 @@ describe('Element', () => {
const insertedNode = parent.insertAdjacentElement('afterend', newNode);
- expect(insertedNode).toBe(newNode);
- expect(parent.childNodes).toEqual([]);
+ expect(insertedNode === newNode).toBe(true);
+ expect(parent.childNodes.length).toBe(0);
expect(newNode.isConnected).toBe(true);
- expect(document.body.childNodes[0]).toBe(parent);
- expect(document.body.childNodes[1]).toBe(insertedNode);
- expect(document.body.childNodes[2]).toBe(sibling);
+ expect(document.body.childNodes[0] === parent).toBe(true);
+ expect(document.body.childNodes[1] === insertedNode).toBe(true);
+ expect(document.body.childNodes[2] === sibling).toBe(true);
});
it('Returns with null if cannot insert with "afterend".', () => {
@@ -518,7 +517,7 @@ describe('Element', () => {
document.body.appendChild(parent);
parent.insertAdjacentHTML('beforebegin', markup);
- expect(parent.childNodes).toEqual([]);
+ expect(parent.childNodes.length).toBe(0);
expect((document.body.childNodes[0]).outerHTML).toEqual(markup);
});
@@ -532,7 +531,7 @@ describe('Element', () => {
parent.insertAdjacentHTML('afterbegin', markup);
expect((parent.childNodes[0]).outerHTML).toEqual(markup);
- expect(parent.childNodes[1]).toBe(child);
+ expect(parent.childNodes[1] === child).toBe(true);
});
it('Inserts the given HTML inside the reference element after the last child.', () => {
@@ -544,7 +543,7 @@ describe('Element', () => {
document.body.appendChild(parent);
parent.insertAdjacentHTML('beforeend', markup);
- expect(parent.childNodes[0]).toBe(child);
+ expect(parent.childNodes[0] === child).toBe(true);
expect((parent.childNodes[1]).outerHTML).toEqual(markup);
});
@@ -555,8 +554,8 @@ describe('Element', () => {
document.body.appendChild(parent);
parent.insertAdjacentHTML('afterend', markup);
- expect(parent.childNodes).toEqual([]);
- expect(document.body.childNodes[0]).toBe(parent);
+ expect(parent.childNodes.length).toEqual(0);
+ expect(document.body.childNodes[0] === parent).toBe(true);
expect((document.body.childNodes[1]).outerHTML).toEqual(markup);
});
@@ -569,10 +568,10 @@ describe('Element', () => {
document.body.appendChild(sibling);
parent.insertAdjacentHTML('afterend', markup);
- expect(parent.childNodes).toEqual([]);
- expect(document.body.childNodes[0]).toBe(parent);
+ expect(parent.childNodes.length).toBe(0);
+ expect(document.body.childNodes[0] === parent).toBe(true);
expect((document.body.childNodes[1]).outerHTML).toEqual(markup);
- expect(document.body.childNodes[2]).toBe(sibling);
+ expect(document.body.childNodes[2] === sibling).toBe(true);
});
});
@@ -584,7 +583,7 @@ describe('Element', () => {
document.body.appendChild(parent);
parent.insertAdjacentText('beforebegin', text);
- expect(parent.childNodes).toEqual([]);
+ expect(parent.childNodes.length).toEqual(0);
expect(document.body.childNodes[0].nodeType).toBe(Node.TEXT_NODE);
expect(document.body.childNodes[0].textContent).toEqual(text);
});
@@ -612,7 +611,7 @@ describe('Element', () => {
document.body.appendChild(parent);
parent.insertAdjacentText('beforeend', text);
- expect(parent.childNodes[0]).toBe(child);
+ expect(parent.childNodes[0] === child).toBe(true);
expect(parent.childNodes[1].nodeType).toBe(Node.TEXT_NODE);
expect(parent.childNodes[1].textContent).toEqual(text);
});
@@ -624,8 +623,8 @@ describe('Element', () => {
document.body.appendChild(parent);
parent.insertAdjacentText('afterend', text);
- expect(parent.childNodes).toEqual([]);
- expect(document.body.childNodes[0]).toBe(parent);
+ expect(parent.childNodes.length).toBe(0);
+ expect(document.body.childNodes[0] === parent).toBe(true);
expect(document.body.childNodes[1].nodeType).toBe(Node.TEXT_NODE);
expect(document.body.childNodes[1].textContent).toEqual(text);
});
@@ -639,11 +638,11 @@ describe('Element', () => {
document.body.appendChild(sibling);
parent.insertAdjacentText('afterend', text);
- expect(parent.childNodes).toEqual([]);
- expect(document.body.childNodes[0]).toBe(parent);
+ expect(parent.childNodes.length).toBe(0);
+ expect(document.body.childNodes[0] === parent).toBe(true);
expect(document.body.childNodes[1].nodeType).toBe(Node.TEXT_NODE);
expect(document.body.childNodes[1].textContent).toEqual(text);
- expect(document.body.childNodes[2]).toBe(sibling);
+ expect(document.body.childNodes[2] === sibling).toBe(true);
});
it('Does nothing is an emptry string is sent.', () => {
@@ -654,9 +653,9 @@ describe('Element', () => {
document.body.appendChild(sibling);
parent.insertAdjacentText('afterend', '');
- expect(parent.childNodes).toEqual([]);
- expect(document.body.childNodes[0]).toBe(parent);
- expect(document.body.childNodes[1]).toBe(sibling);
+ expect(parent.childNodes.length).toBe(0);
+ expect(document.body.childNodes[0] === parent).toBe(true);
+ expect(document.body.childNodes[1] === sibling).toBe(true);
});
});
@@ -695,6 +694,38 @@ describe('Element', () => {
expect(element.matches('.container, .active')).toBe(true);
});
+
+ it('Checks if the element matches with a descendant combinator', () => {
+ const grandparentElement = document.createElement('div');
+ grandparentElement.setAttribute('role', 'alert');
+
+ const parentElement = document.createElement('div');
+ parentElement.setAttribute('role', 'status');
+ grandparentElement.appendChild(parentElement);
+
+ const element = document.createElement('div');
+ element.className = 'active';
+ parentElement.appendChild(element);
+
+ expect(element.matches('div[role="alert"] div.active')).toBe(true);
+ expect(element.matches('div[role="article"] div.active')).toBe(false);
+ });
+
+ it('Checks if the element matches with a child combinator', () => {
+ const grandparentElement = document.createElement('div');
+ grandparentElement.setAttribute('role', 'alert');
+
+ const parentElement = document.createElement('div');
+ grandparentElement.setAttribute('role', 'status');
+ grandparentElement.appendChild(parentElement);
+
+ const element = document.createElement('div');
+ element.className = 'active';
+ parentElement.appendChild(element);
+
+ expect(element.matches('div[role="status"] > div.active')).toBe(true);
+ expect(element.matches('div[role="alert"] > div.active')).toBe(false);
+ });
});
describe('closest()', () => {
@@ -750,7 +781,9 @@ describe('Element', () => {
return >[element];
});
- expect(document.querySelectorAll(expectedSelector)).toEqual([element]);
+ const result = document.querySelectorAll(expectedSelector);
+ expect(result.length).toBe(1);
+ expect(result[0] === element).toBe(true);
});
});
@@ -765,7 +798,7 @@ describe('Element', () => {
return element;
});
- expect(document.querySelector(expectedSelector)).toEqual(element);
+ expect(document.querySelector(expectedSelector) === element).toEqual(true);
});
});
@@ -782,7 +815,9 @@ describe('Element', () => {
return >[child];
});
- expect(element.getElementsByClassName(className)).toEqual([child]);
+ const result = element.getElementsByClassName(className);
+ expect(result.length).toBe(1);
+ expect(result[0] === child).toBe(true);
});
});
@@ -799,7 +834,9 @@ describe('Element', () => {
return >[child];
});
- expect(element.getElementsByTagName(tagName)).toEqual([child]);
+ const result = element.getElementsByTagName(tagName);
+ expect(result.length).toBe(1);
+ expect(result[0] === child).toBe(true);
});
});
@@ -818,7 +855,9 @@ describe('Element', () => {
return >[child];
});
- expect(element.getElementsByTagNameNS(namespaceURI, tagName)).toEqual([child]);
+ const result = element.getElementsByTagNameNS(namespaceURI, tagName);
+ expect(result.length).toBe(1);
+ expect(result[0] === child).toBe(true);
});
});
@@ -898,7 +937,9 @@ describe('Element', () => {
element.appendChild(document.createComment('test'));
element.appendChild(span);
- expect(element.children).toEqual([div, span]);
+ expect(element.children.length).toBe(2);
+ expect(element.children[0] === div).toBe(true);
+ expect(element.children[1] === span).toBe(true);
});
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
@@ -911,8 +952,8 @@ describe('Element', () => {
element.appendChild(clone);
- expect(clone.childNodes).toEqual([]);
- expect(clone.children).toEqual([]);
+ expect(clone.childNodes.length).toBe(0);
+ expect(clone.children.length).toBe(0);
expect(element.innerHTML).toBe('Div
Span');
});
});
@@ -945,7 +986,10 @@ describe('Element', () => {
element.appendChild(span);
element.insertBefore(div2, div1);
- expect(element.children).toEqual([div2, div1, span]);
+ expect(element.children.length).toBe(3);
+ expect(element.children[0] === div2).toBe(true);
+ expect(element.children[1] === div1).toBe(true);
+ expect(element.children[2] === span).toBe(true);
});
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
@@ -981,7 +1025,7 @@ describe('Element', () => {
return previousElementSibling;
});
- expect(node.previousElementSibling).toBe(previousElementSibling);
+ expect(node.previousElementSibling === previousElementSibling).toBe(true);
});
});
@@ -996,7 +1040,7 @@ describe('Element', () => {
return nextElementSibling;
});
- expect(node.nextElementSibling).toBe(nextElementSibling);
+ expect(node.nextElementSibling === nextElementSibling).toBe(true);
});
});
@@ -1011,23 +1055,19 @@ describe('Element', () => {
customElement.setAttribute('key2', 'value2');
customElement.setAttribute('KEY1', 'newValue');
- expect(customElement.changedAttributes).toEqual([
- {
- name: 'key1',
- newValue: 'value1',
- oldValue: null
- },
- {
- name: 'key2',
- newValue: 'value2',
- oldValue: null
- },
- {
- name: 'key1',
- newValue: 'newValue',
- oldValue: 'value1'
- }
- ]);
+ expect(customElement.changedAttributes.length).toBe(3);
+
+ expect(customElement.changedAttributes[0].name).toBe('key1');
+ expect(customElement.changedAttributes[0].newValue).toBe('value1');
+ expect(customElement.changedAttributes[0].oldValue).toBe(null);
+
+ expect(customElement.changedAttributes[1].name).toBe('key2');
+ expect(customElement.changedAttributes[1].newValue).toBe('value2');
+ expect(customElement.changedAttributes[1].oldValue).toBe(null);
+
+ expect(customElement.changedAttributes[2].name).toBe('key1');
+ expect(customElement.changedAttributes[2].newValue).toBe('newValue');
+ expect(customElement.changedAttributes[2].oldValue).toBe('value1');
});
it('Does not call the attribute changed callback when the attribute name is not available in the observedAttributes() getter method.', () => {
@@ -1039,7 +1079,7 @@ describe('Element', () => {
customElement.setAttribute('k1', 'value1');
customElement.setAttribute('k2', 'value2');
- expect(customElement.changedAttributes).toEqual([]);
+ expect(customElement.changedAttributes.length).toBe(0);
});
});
@@ -1047,41 +1087,36 @@ describe('Element', () => {
it('Sets an attribute on an element.', () => {
element.setAttribute('key1', 'value1');
element.setAttribute('key2', '');
- expect(element.attributes).toEqual({
- '0': {
- name: 'key1',
- value: 'value1',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- '1': {
- name: 'key2',
- value: '',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key1: {
- name: 'key1',
- value: 'value1',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key2: {
- name: 'key2',
- value: '',
- namespaceURI: null,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- length: 2
- });
+
+ expect(element.attributes.length).toBe(2);
+
+ expect(element.attributes[0].name).toBe('key1');
+ expect(element.attributes[0].value).toBe('value1');
+ expect(element.attributes[0].namespaceURI).toBe(null);
+ expect(element.attributes[0].specified).toBe(true);
+ expect(element.attributes[0].ownerElement === element).toBe(true);
+ expect(element.attributes[0].ownerDocument === document).toBe(true);
+
+ expect(element.attributes[1].name).toBe('key2');
+ expect(element.attributes[1].value).toBe('');
+ expect(element.attributes[1].namespaceURI).toBe(null);
+ expect(element.attributes[1].specified).toBe(true);
+ expect(element.attributes[1].ownerElement === element).toBe(true);
+ expect(element.attributes[1].ownerDocument === document).toBe(true);
+
+ expect(element.attributes.key1.name).toBe('key1');
+ expect(element.attributes.key1.value).toBe('value1');
+ expect(element.attributes.key1.namespaceURI).toBe(null);
+ expect(element.attributes.key1.specified).toBe(true);
+ expect(element.attributes.key1.ownerElement === element).toBe(true);
+ expect(element.attributes.key1.ownerDocument === document).toBe(true);
+
+ expect(element.attributes.key2.name).toBe('key2');
+ expect(element.attributes.key2.value).toBe('');
+ expect(element.attributes.key2.namespaceURI).toBe(null);
+ expect(element.attributes.key2.specified).toBe(true);
+ expect(element.attributes.key2.ownerElement === element).toBe(true);
+ expect(element.attributes.key2.ownerDocument === document).toBe(true);
});
});
@@ -1089,41 +1124,36 @@ describe('Element', () => {
it('Sets a namespace attribute on an element.', () => {
element.setAttributeNS(NAMESPACE_URI, 'global:local1', 'value1');
element.setAttributeNS(NAMESPACE_URI, 'global:local2', '');
- expect(element.attributes).toEqual({
- '0': {
- name: 'global:local1',
- value: 'value1',
- namespaceURI: NAMESPACE_URI,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- '1': {
- name: 'global:local2',
- value: '',
- namespaceURI: NAMESPACE_URI,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- 'global:local1': {
- name: 'global:local1',
- value: 'value1',
- namespaceURI: NAMESPACE_URI,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- 'global:local2': {
- name: 'global:local2',
- value: '',
- namespaceURI: NAMESPACE_URI,
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- length: 2
- });
+
+ expect(element.attributes.length).toBe(2);
+
+ expect(element.attributes[0].name).toBe('global:local1');
+ expect(element.attributes[0].value).toBe('value1');
+ expect(element.attributes[0].namespaceURI).toBe(NAMESPACE_URI);
+ expect(element.attributes[0].specified).toBe(true);
+ expect(element.attributes[0].ownerElement === element).toBe(true);
+ expect(element.attributes[0].ownerDocument === document).toBe(true);
+
+ expect(element.attributes[1].name).toBe('global:local2');
+ expect(element.attributes[1].value).toBe('');
+ expect(element.attributes[1].namespaceURI).toBe(NAMESPACE_URI);
+ expect(element.attributes[1].specified).toBe(true);
+ expect(element.attributes[1].ownerElement === element).toBe(true);
+ expect(element.attributes[1].ownerDocument === document).toBe(true);
+
+ expect(element.attributes['global:local1'].name).toBe('global:local1');
+ expect(element.attributes['global:local1'].value).toBe('value1');
+ expect(element.attributes['global:local1'].namespaceURI).toBe(NAMESPACE_URI);
+ expect(element.attributes['global:local1'].specified).toBe(true);
+ expect(element.attributes['global:local1'].ownerElement === element).toBe(true);
+ expect(element.attributes['global:local1'].ownerDocument === document).toBe(true);
+
+ expect(element.attributes['global:local2'].name).toBe('global:local2');
+ expect(element.attributes['global:local2'].value).toBe('');
+ expect(element.attributes['global:local2'].namespaceURI).toBe(NAMESPACE_URI);
+ expect(element.attributes['global:local2'].specified).toBe(true);
+ expect(element.attributes['global:local2'].ownerElement === element).toBe(true);
+ expect(element.attributes['global:local2'].ownerDocument === document).toBe(true);
});
});
@@ -1187,7 +1217,7 @@ describe('Element', () => {
element.attachShadow({ mode: 'open' });
expect(element['_shadowRoot'] instanceof ShadowRoot).toBe(true);
expect(element.shadowRoot instanceof ShadowRoot).toBe(true);
- expect(element.shadowRoot.ownerDocument).toBe(document);
+ expect(element.shadowRoot.ownerDocument === document).toBe(true);
expect(element.shadowRoot.isConnected).toBe(false);
document.appendChild(element);
expect(element.shadowRoot.isConnected).toBe(true);
@@ -1197,7 +1227,7 @@ describe('Element', () => {
element.attachShadow({ mode: 'closed' });
expect(element.shadowRoot).toBe(null);
expect(element['_shadowRoot'] instanceof ShadowRoot).toBe(true);
- expect(element['_shadowRoot'].ownerDocument).toBe(document);
+ expect(element['_shadowRoot'].ownerDocument === document).toBe(true);
expect(element['_shadowRoot'].isConnected).toBe(false);
document.appendChild(element);
expect(element['_shadowRoot'].isConnected).toBe(true);
@@ -1283,7 +1313,7 @@ describe('Element', () => {
expect(clone.scrollLeft).toBe(10);
expect(clone.scrollTop).toBe(10);
expect(clone.namespaceURI).toBe('namespaceURI');
- expect(clone.children).toEqual([]);
+ expect(clone.children.length).toEqual(0);
expect(clone2.children.length).toBe(1);
expect(clone2.children[0].outerHTML).toBe('');
});
@@ -1301,41 +1331,35 @@ describe('Element', () => {
element[method](attribute1);
element[method](attribute2);
- expect(element.attributes).toEqual({
- '0': {
- name: 'key1',
- namespaceURI: NamespaceURI.svg,
- value: 'value1',
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- '1': {
- name: 'key2',
- namespaceURI: null,
- value: 'value2',
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key1: {
- name: 'key1',
- namespaceURI: NamespaceURI.svg,
- value: 'value1',
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- key2: {
- name: 'key2',
- namespaceURI: null,
- value: 'value2',
- specified: true,
- ownerElement: element,
- ownerDocument: document
- },
- length: 2
- });
+ expect(element.attributes.length).toBe(2);
+
+ expect((element.attributes[0]).name).toBe('key1');
+ expect((element.attributes[0]).namespaceURI).toBe(NamespaceURI.svg);
+ expect((element.attributes[0]).value).toBe('value1');
+ expect((element.attributes[0]).specified).toBe(true);
+ expect((element.attributes[0]).ownerElement).toBe(element);
+ expect((element.attributes[0]).ownerDocument).toBe(document);
+
+ expect((element.attributes[1]).name).toBe('key2');
+ expect((element.attributes[1]).namespaceURI).toBe(null);
+ expect((element.attributes[1]).value).toBe('value2');
+ expect((element.attributes[1]).specified).toBe(true);
+ expect((element.attributes[1]).ownerElement).toBe(element);
+ expect((element.attributes[1]).ownerDocument).toBe(document);
+
+ expect((element.attributes.key1).name).toBe('key1');
+ expect((element.attributes.key1).namespaceURI).toBe(NamespaceURI.svg);
+ expect((element.attributes.key1).value).toBe('value1');
+ expect((element.attributes.key1).specified).toBe(true);
+ expect((element.attributes.key1).ownerElement).toBe(element);
+ expect((element.attributes.key1).ownerDocument).toBe(document);
+
+ expect((element.attributes.key2).name).toBe('key2');
+ expect((element.attributes.key2).namespaceURI).toBe(null);
+ expect((element.attributes.key2).value).toBe('value2');
+ expect((element.attributes.key2).specified).toBe(true);
+ expect((element.attributes.key2).ownerElement).toBe(element);
+ expect((element.attributes.key2).ownerDocument).toBe(document);
});
it('Sets an Attr node on an