diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 3563f85e..0cd23540 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -44,7 +44,7 @@ When submitting a new issue, please supply the following information:
**Node Version**: Make sure it's version 14 or later (recommended is 16).
-**MagicMirror Version**: Please let us know which version of MagicMirror you are running. It can be found in the `package.json` file.
+**MagicMirror² Version**: Please let us know which version of MagicMirror² you are running. It can be found in the `package.json` file.
**Description**: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem.
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index b441c20a..cc60558d 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -10,16 +10,16 @@ If you're not sure if it's a real bug or if it's just you, please open a topic o
Problems installing or configuring your MagicMirror? Check out: [https://forum.magicmirror.builders/category/10/troubleshooting](https://forum.magicmirror.builders/category/10/troubleshooting)
-A common problem is that your config file could be invalid. Please run in your MagicMirror directory: `npm run config:check` and see if it reports an error.
+A common problem is that your config file could be invalid. Please run in your MagicMirror² directory: `npm run config:check` and see if it reports an error.
-## I found a bug in the MagicMirror installer
+## I found a bug in the MagicMirror² installer
-If you are facing an issue or found a bug while trying to install MagicMirror via the installer please report it in the respective GitHub repository:
+If you are facing an issue or found a bug while trying to install MagicMirror² via the installer please report it in the respective GitHub repository:
[https://github.com/sdetweil/MagicMirror_scripts](https://github.com/sdetweil/MagicMirror_scripts)
-## I found a bug in the MagicMirror Docker image
+## I found a bug in the MagicMirror² Docker image
-If you are facing an issue or found a bug while running MagicMirror inside a Docker container please create an issue in the corresponding repository:
+If you are facing an issue or found a bug while running MagicMirror² inside a Docker container please create an issue in the corresponding repository:
- karsten13/magicmirror: [https://gitlab.com/khassel/magicmirror](https://gitlab.com/khassel/magicmirror)
- (deprecated) bastilimbach/docker-magicmirror: [https://github.com/bastilimbach/docker-MagicMirror](https://github.com/bastilimbach/docker-MagicMirror)
@@ -35,7 +35,7 @@ When submitting a new issue, please supply the following information:
**Node Version**: Make sure it's version 14 or later (recommended is 16).
-**MagicMirror Version**: Please let us know which version of MagicMirror you are running. It can be found in the `package.json` file.
+**MagicMirror² Version**: Please let us know which version of MagicMirror² you are running. It can be found in the `package.json` file.
**Description**: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index b1d5833f..da43f700 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,4 +1,4 @@
-Hello and thank you for wanting to contribute to the MagicMirror project
+Hello and thank you for wanting to contribute to the MagicMirror² project
**Please make sure that you have followed these 4 rules before submitting your Pull Request:**
diff --git a/.github/workflows/automated-tests.yml b/.github/workflows/automated-tests.yml
index cdd86e6a..ce359589 100644
--- a/.github/workflows/automated-tests.yml
+++ b/.github/workflows/automated-tests.yml
@@ -33,6 +33,4 @@ jobs:
npm run test:prettier
npm run test:js
npm run test:css
- npm run test:unit
- npm run test:e2e
- npm run test:electron
+ npm run test
diff --git a/.husky/pre-commit b/.husky/pre-commit
index 3199e8e0..7ee201c6 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,7 @@
#!/bin/sh
-. "$(dirname "$0")/_/husky.sh"
-npm run lint:staged
+[ -f "$(dirname "$0")/_/husky.sh" ] && . "$(dirname "$0")/_/husky.sh"
+
+if command -v npm &> /dev/null; then
+ npm run lint:staged
+fi
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8202fa22..570951ab 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,41 @@ This project adheres to [Semantic Versioning](https://semver.org/).
❤️ **Donate:** Enjoying MagicMirror²? [Please consider a donation!](https://magicmirror.builders/donate) With your help we can continue to improve the MagicMirror².
+## [2.19.0] - 2022-04-01
+
+Special thanks to the following contributors: @10bias, @CFenner, @JHWelch, @k1rd3rf, @khassel, @kolbyjack, @krekos, @KristjanESPERANTO, @Nerfzooka, @oraclesean, @oscarb, @philnagel, @rejas, @sdetweil, @shin10, @SiderealArt and @Tom-Hirschberger.
+
+### Added
+
+- Added a config option under the weather module, `absoluteDates`, providing an option to format weather forecast date output with either absolute or relative dates.
+- Added test for new weather forecast `absoluteDates` porperty.
+- The modules get a class hidden added/removed if they get hidden/shown which will also toggle pointer-events.
+- Added new config option `showTitleAsUrl` to newsfeed module. If set, the diplayed title is a link to the article which is useful when running in a browser and you want to read this article.
+- Added internal cors proxy to get weather providers working without public proxies (fixes #2714). The new url `http(s)://address:port/cors?url=https://whatever-to-proxy` can be used in other modules too.
+- Added a WeatherProvider for Weatherflow.
+- Added new env var `ELECTRON_DISABLE_GPU` which disable gpu under electron if set (fixes #2831).
+- Added missing Czech translations.
+
+### Updated
+
+- Deprecated roboto fonts package `roboto-fontface-bower` replaced with `fontsource`.
+- Update `electron` to v17, `helmet` to v5 (use defaults of v4) and other dependencies
+- Updates Font Awesome css class to new default style (fixes #2768)
+- Replaced deprecated modules `currentweather` and `weatherforecast` with dummy modules only displaying that they have to be replaced.
+- Include all calendar events from the configured date range when broadcasting.
+- Update Danish and German translation.
+- Update `node-ical` to v0.15 and added `luxon` as dependency for not breaking the "no-optional" install (see #2718 and #2824).
+
+### Fixed
+
+- Improved and speedup e2e tests, artificial wait after mm start removed.
+- Improved husky setup not blocking `git commit` if `husky` or `npm` is not installed.
+- Using a consistent spelling of MagicMirror².
+- Fix minor console output issue for loading translations (#2814).
+- Don't adjust startDate for full day events if endDate is in the past.
+- Fix windspeed conversion error in openweathermap provider. (#2812)
+- Fix conflicting parms turning off showEnd for full day events. (#2629)
+
## [2.18.0] - 2022-01-01
Special thanks to the following contributors: @AmpioRosso, @eouia, @fewieden, @jupadin, @khassel, @kolbyjack, @KristjanESPERANTO, @MariusVaice, @rejas, @rico24 and @sdetweil.
@@ -29,6 +64,7 @@ Special thanks to the following contributors: @AmpioRosso, @eouia, @fewieden, @j
- Added dangerouslyDisableAutoEscaping config option for newsfeed templates (fixes #2712).
- Added missing shebang to `installers/mm.sh`.
- Node versions in templates and github workflows.
+- Updated translations for Traditional Chinese (Taiwan) (zh-tw.json).
### Fixed
@@ -252,7 +288,7 @@ Special thanks to the following contributors: @Alvinger, @AndyPoms, @ashishtank,
- Rename Greek translation to correct ISO 639-1 alpha-2 code (gr > el). (#2155)
- Add a space after icons of sunrise and sunset. (#2169)
- Fix calendar when no DTEND record found in event, startDate overlay when endDate set. (#2177)
-- Fix windspeed convertion error in ukmetoffice weather provider. (#2189)
+- Fix windspeed conversion error in ukmetoffice weather provider. (#2189)
- Fix console.debug not having timestamps. (#2199)
- Fix calendar full day event east of UTC start time. (#2200)
- Fix non-fullday recurring rule processing. (#2216)
@@ -275,8 +311,8 @@ Special thanks to the following contributors: @bryanzzhu, @bugsounet, @chamakura
### Added
- `--dry-run` Added option in fetch call within updatenotification node_helper. This is to prevent
- MagicMirror from consuming any fetch result. Causes conflict with MMPM when attempting to check
- for updates to MagicMirror and/or MagicMirror modules.
+ MagicMirror² from consuming any fetch result. Causes conflict with MMPM when attempting to check
+ for updates to MagicMirror² and/or MagicMirror² modules.
- Test coverage with Istanbul, run it with `npm run test:coverage`.
- Added lithuanian language.
- Added support in weatherforecast for OpenWeather onecall API.
@@ -349,7 +385,7 @@ Special thanks to the following contributors: @AndreKoepke, @andrezibaia, @bryan
🚨 READ THIS BEFORE UPDATING 🚨
-In the past years the project has grown a lot. This came with a huge downside: poor maintainability. If I let the project continue the way it was, it would eventually crash and burn. More important: I would completely lose the drive and interest to continue the project. Because of this the decision was made to simplify the core by removing all side features like automatic installers and support for exotic platforms. This release (2.11.0) is the first real release that will reflect (parts) of these changes. As a result of this, some things might break. So before you continue make sure to backup your installation. Your config, your modules or better yet: your full MagicMirror folder. In other words: update at your own risk.
+In the past years the project has grown a lot. This came with a huge downside: poor maintainability. If I let the project continue the way it was, it would eventually crash and burn. More important: I would completely lose the drive and interest to continue the project. Because of this the decision was made to simplify the core by removing all side features like automatic installers and support for exotic platforms. This release (2.11.0) is the first real release that will reflect (parts) of these changes. As a result of this, some things might break. So before you continue make sure to backup your installation. Your config, your modules or better yet: your full MagicMirror² folder. In other words: update at your own risk.
For more information regarding this major change, please check issue [#1860](https://github.com/MichMich/MagicMirror/issues/1860).
@@ -550,7 +586,7 @@ Fixed `package.json` version number.
- Fixed unhandled error on bad git data in updatenotification module [#1285](https://github.com/MichMich/MagicMirror/issues/1285).
- Weather forecast now works with openweathermap in new weather module. Daily data are displayed, see issue [#1504](https://github.com/MichMich/MagicMirror/issues/1504).
- Fixed analogue clock border display issue where non-black backgrounds used (previous fix for issue 611)
-- Fixed compatibility issues caused when modules request different versions of Font Awesome, see issue [#1522](https://github.com/MichMich/MagicMirror/issues/1522). MagicMirror now uses [Font Awesome 5 with v4 shims included for backwards compatibility](https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#shims).
+- Fixed compatibility issues caused when modules request different versions of Font Awesome, see issue [#1522](https://github.com/MichMich/MagicMirror/issues/1522). MagicMirror² now uses [Font Awesome 5 with v4 shims included for backwards compatibility](https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#shims).
- Installation script problems with raspbian
- Calendar: only show repeating count if the event is actually repeating [#1534](https://github.com/MichMich/MagicMirror/pull/1534)
- Calendar: Fix exdate handling when multiple values are specified (comma separated)
@@ -662,7 +698,7 @@ A huge, huge, huge thanks to user @fewieden for all his hard work on the new `we
## [2.4.0] - 2018-07-01
-⚠️ **Warning:** This release includes an updated version of Electron. This requires a Raspberry Pi configuration change to allow the best performance and prevent the CPU from overheating. Please read the information on the [MagicMirror Wiki](https://github.com/michmich/magicmirror/wiki/configuring-the-raspberry-pi#enable-the-open-gl-driver-to-decrease-electrons-cpu-usage).
+⚠️ **Warning:** This release includes an updated version of Electron. This requires a Raspberry Pi configuration change to allow the best performance and prevent the CPU from overheating. Please read the information on the [MagicMirror² Wiki](https://github.com/michmich/magicmirror/wiki/configuring-the-raspberry-pi#enable-the-open-gl-driver-to-decrease-electrons-cpu-usage).
ℹ️ **Note:** This update uses new dependencies. Please update using the following command: `git pull && npm install`
@@ -903,7 +939,7 @@ A huge, huge, huge thanks to user @fewieden for all his hard work on the new `we
- Add use pm2 for manager process into Installer RaspberryPi script.
- Russian Translation.
- Afrikaans Translation.
-- Add postinstall script to notify user that MagicMirror installed successfully despite warnings from NPM.
+- Add postinstall script to notify user that MagicMirror² installed successfully despite warnings from NPM.
- Init tests using mocha.
- Option to use RegExp in Calendar's titleReplace.
- Hungarian Translation.
@@ -966,7 +1002,7 @@ A huge, huge, huge thanks to user @fewieden for all his hard work on the new `we
- Add VSCode IntelliSense support.
- Module API: Add Visibility locking to module system. [See documentation](https://github.com/MichMich/MagicMirror/tree/develop/modules#visibility-locking) for more information.
- Module API: Method to overwrite the module's header. [See documentation](https://github.com/MichMich/MagicMirror/tree/develop/modules#getheader) for more information.
-- Module API: Option to define the minimum MagicMirror version to run a module. [See documentation](https://github.com/MichMich/MagicMirror/tree/develop/modules#requiresversion) for more information.
+- Module API: Option to define the minimum MagicMirror² version to run a module. [See documentation](https://github.com/MichMich/MagicMirror/tree/develop/modules#requiresversion) for more information.
- Calendar module now broadcasts the event list to all other modules using the notification system. [See documentation](https://github.com/MichMich/MagicMirror/tree/develop/modules/default/calendar) for more information.
- Possibility to use the calendar feed as the source for the weather (currentweather & weatherforecast) location data. [See documentation](https://github.com/MichMich/MagicMirror/tree/develop/modules/default/weatherforecast) for more information.
- Added option to show rain amount in the weatherforecast default module
@@ -1113,6 +1149,6 @@ It includes (but is not limited to) the following features:
## [1.0.0] - 2014-02-16
-### Initial release of MagicMirror.
+### Initial release of MagicMirror
This was part of the blogpost: [https://michaelteeuw.nl/post/83916869600/magic-mirror-part-vi-production-of-the](https://michaelteeuw.nl/post/83916869600/magic-mirror-part-vi-production-of-the)
diff --git a/README.md b/README.md
index 6fe93019..e64bb9ba 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ Contributions of all kinds are welcome, not only in the form of code but also wi
- documentation
- translations
-For the full contribution guidelines, check out: [https://docs.magicmirror.builders/getting-started/contributing.html](https://docs.magicmirror.builders/getting-started/contributing.html)
+For the full contribution guidelines, check out: [https://docs.magicmirror.builders/about/contributing.html](https://docs.magicmirror.builders/about/contributing.html)
## Enjoying MagicMirror? Consider a donation!
diff --git a/config/config.js.sample b/config/config.js.sample
index 2edef29b..a3460d6f 100644
--- a/config/config.js.sample
+++ b/config/config.js.sample
@@ -1,10 +1,10 @@
-/* Magic Mirror Config Sample
+/* MagicMirror² Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
- * see https://docs.magicmirror.builders/getting-started/configuration.html#general
+ * see https://docs.magicmirror.builders/configuration/introduction.html
* and https://docs.magicmirror.builders/modules/configuration.html
*/
let config = {
@@ -14,7 +14,7 @@ let config = {
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
- basePath: "/", // The URL path where MagicMirror is hosted. If you are using a Reverse proxy
+ basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
diff --git a/css/custom.css.sample b/css/custom.css.sample
index ac5b5e2e..48cc17a0 100644
--- a/css/custom.css.sample
+++ b/css/custom.css.sample
@@ -1,4 +1,4 @@
-/* Magic Mirror Custom CSS Sample
+/* MagicMirror² Custom CSS Sample
*
* Change color and fonts here.
*
diff --git a/css/main.css b/css/main.css
index a36ca5e4..7ad90763 100644
--- a/css/main.css
+++ b/css/main.css
@@ -138,6 +138,14 @@ sup {
margin-bottom: var(--gap-modules);
}
+.module.hidden {
+ pointer-events: none;
+}
+
+.module:not(.hidden) {
+ pointer-events: auto;
+}
+
.region.bottom .module {
margin-top: var(--gap-modules);
margin-bottom: 0;
@@ -170,10 +178,6 @@ sup {
pointer-events: none;
}
-.region.fullscreen * {
- pointer-events: auto;
-}
-
.region.right {
right: 0;
text-align: right;
diff --git a/fonts/package-lock.json b/fonts/package-lock.json
index 8dcd7119..eedd1815 100644
--- a/fonts/package-lock.json
+++ b/fonts/package-lock.json
@@ -7,20 +7,31 @@
"name": "magicmirror-fonts",
"license": "MIT",
"dependencies": {
- "roboto-fontface": "^0.10.0"
+ "@fontsource/roboto": "^4.5.5",
+ "@fontsource/roboto-condensed": "^4.5.6"
}
},
- "node_modules/roboto-fontface": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz",
- "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
+ "node_modules/@fontsource/roboto": {
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.5.tgz",
+ "integrity": "sha512-Pe1p+gAO6K0aLxBXlLoJRHVx352tVc/v/7DOnvM3t+FYXb+KUga9aCD1NpnDfd0kKnWXqrZyAXguyyFWDDuphw=="
+ },
+ "node_modules/@fontsource/roboto-condensed": {
+ "version": "4.5.6",
+ "resolved": "https://registry.npmjs.org/@fontsource/roboto-condensed/-/roboto-condensed-4.5.6.tgz",
+ "integrity": "sha512-WDN0RlwXa3ADUDJxrB9HEIhrwYdJFLTNw4YemEYSeIPURU5DAHSx2VFXFv69PbM7kV8At5yMTp8bQkL5TBUP3w=="
}
},
"dependencies": {
- "roboto-fontface": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz",
- "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
+ "@fontsource/roboto": {
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.5.tgz",
+ "integrity": "sha512-Pe1p+gAO6K0aLxBXlLoJRHVx352tVc/v/7DOnvM3t+FYXb+KUga9aCD1NpnDfd0kKnWXqrZyAXguyyFWDDuphw=="
+ },
+ "@fontsource/roboto-condensed": {
+ "version": "4.5.6",
+ "resolved": "https://registry.npmjs.org/@fontsource/roboto-condensed/-/roboto-condensed-4.5.6.tgz",
+ "integrity": "sha512-WDN0RlwXa3ADUDJxrB9HEIhrwYdJFLTNw4YemEYSeIPURU5DAHSx2VFXFv69PbM7kV8At5yMTp8bQkL5TBUP3w=="
}
}
}
diff --git a/fonts/package.json b/fonts/package.json
index 7cea509b..445828cf 100644
--- a/fonts/package.json
+++ b/fonts/package.json
@@ -1,6 +1,6 @@
{
"name": "magicmirror-fonts",
- "description": "Package for fonts use by MagicMirror Core.",
+ "description": "Package for fonts use by MagicMirror² Core.",
"repository": {
"type": "git",
"url": "git+https://github.com/MichMich/MagicMirror.git"
@@ -10,6 +10,7 @@
"url": "https://github.com/MichMich/MagicMirror/issues"
},
"dependencies": {
- "roboto-fontface": "^0.10.0"
+ "@fontsource/roboto": "^4.5.5",
+ "@fontsource/roboto-condensed": "^4.5.6"
}
}
diff --git a/fonts/roboto.css b/fonts/roboto.css
index 9bf4fbc9..c3e67ff8 100644
--- a/fonts/roboto.css
+++ b/fonts/roboto.css
@@ -2,57 +2,57 @@
font-family: Roboto;
font-style: normal;
font-weight: 100;
- src: local("Roboto Thin"), local("Roboto-Thin"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.woff") format("woff");
+ src: local("Roboto Thin"), local("Roboto-Thin"), url("node_modules/@fontsource/roboto/files/roboto-latin-100-normal.woff2") format("woff2"), url("node_modules/@fontsource/roboto/files/roboto-latin-100-normal.woff") format("woff");
}
@font-face {
font-family: "Roboto Condensed";
font-style: normal;
font-weight: 300;
- src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.woff2") format("woff2"),
- url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.woff") format("woff");
+ src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), url("node_modules/@fontsource/roboto-condensed/files/roboto-condensed-latin-300-normal.woff2") format("woff2"),
+ url("node_modules/@fontsource/roboto-condensed/files/roboto-condensed-latin-300-normal.woff") format("woff");
}
@font-face {
font-family: "Roboto Condensed";
font-style: normal;
font-weight: 400;
- src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff2") format("woff2"),
- url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff") format("woff");
+ src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), url("node_modules/@fontsource/roboto-condensed/files/roboto-condensed-latin-400-normal.woff2") format("woff2"),
+ url("node_modules/@fontsource/roboto-condensed/files/roboto-condensed-latin-400-normal.woff") format("woff");
}
@font-face {
font-family: "Roboto Condensed";
font-style: normal;
font-weight: 700;
- src: local("Roboto Condensed Bold"), local("RobotoCondensed-Bold"), url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.woff2") format("woff2"),
- url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.woff") format("woff");
+ src: local("Roboto Condensed Bold"), local("RobotoCondensed-Bold"), url("node_modules/@fontsource/roboto-condensed/files/roboto-condensed-latin-700-normal.woff2") format("woff2"),
+ url("node_modules/@fontsource/roboto-condensed/files/roboto-condensed-latin-700-normal.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 400;
- src: local("Roboto"), local("Roboto-Regular"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Regular.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Regular.woff") format("woff");
+ src: local("Roboto"), local("Roboto-Regular"), url("node_modules/@fontsource/roboto/files/roboto-latin-400-normal.woff2") format("woff2"), url("node_modules/@fontsource/roboto/files/roboto-latin-400-normal.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 500;
- src: local("Roboto Medium"), local("Roboto-Medium"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Medium.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Medium.woff") format("woff");
+ src: local("Roboto Medium"), local("Roboto-Medium"), url("node_modules/@fontsource/roboto/files/roboto-latin-500-normal.woff2") format("woff2"), url("node_modules/@fontsource/roboto/files/roboto-latin-500-normal.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 700;
- src: local("Roboto Bold"), local("Roboto-Bold"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Bold.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Bold.woff") format("woff");
+ src: local("Roboto Bold"), local("Roboto-Bold"), url("node_modules/@fontsource/roboto/files/roboto-latin-700-normal.woff2") format("woff2"), url("node_modules/@fontsource/roboto/files/roboto-latin-700-normal.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 300;
- src: local("Roboto Light"), local("Roboto-Light"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Light.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Light.woff") format("woff");
+ src: local("Roboto Light"), local("Roboto-Light"), url("node_modules/@fontsource/roboto/files/roboto-latin-300-normal.woff2") format("woff2"), url("node_modules/@fontsource/roboto/files/roboto-latin-300-normal.woff") format("woff");
}
diff --git a/js/app.js b/js/app.js
index 9ead45b2..c3d6b214 100644
--- a/js/app.js
+++ b/js/app.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* The Core App (Server)
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -37,7 +37,7 @@ if (process.env.MM_PORT) {
process.on("uncaughtException", function (err) {
Log.error("Whoops! There was an uncaught exception...");
Log.error(err);
- Log.error("MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?");
+ Log.error("MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?");
Log.error("If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues");
});
@@ -128,7 +128,7 @@ function App() {
let m = new Module();
if (m.requiresVersion) {
- Log.log(`Check MagicMirror version for node helper '${moduleName}' - Minimum version: ${m.requiresVersion} - Current version: ${global.version}`);
+ Log.log(`Check MagicMirror² version for node helper '${moduleName}' - Minimum version: ${m.requiresVersion} - Current version: ${global.version}`);
if (cmpVersions(global.version, m.requiresVersion) >= 0) {
Log.log("Version is ok!");
} else {
diff --git a/js/check_config.js b/js/check_config.js
index 60b4cdf3..abc0940b 100644
--- a/js/check_config.js
+++ b/js/check_config.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
*
* Check the configuration file for errors
*
diff --git a/js/defaults.js b/js/defaults.js
index 0173a594..a897077a 100644
--- a/js/defaults.js
+++ b/js/defaults.js
@@ -1,6 +1,6 @@
/* global mmPort */
-/* Magic Mirror
+/* MagicMirror²
* Config Defaults
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -36,7 +36,7 @@ const defaults = {
position: "upper_third",
classes: "large thin",
config: {
- text: "Magic Mirror2"
+ text: "MagicMirror²"
}
},
{
@@ -59,7 +59,7 @@ const defaults = {
position: "middle_center",
classes: "xsmall",
config: {
- text: "If you get this message while your config file is already created,
" + "it probably contains an error. To validate your config file run in your MagicMirror directory
" + "
npm run config:check
"
+ text: "If you get this message while your config file is already created,
" + "it probably contains an error. To validate your config file run in your MagicMirror² directory
" + "npm run config:check
"
}
},
{
diff --git a/js/deprecated.js b/js/deprecated.js
index 6bf4a626..e2c70322 100644
--- a/js/deprecated.js
+++ b/js/deprecated.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Deprecated Config Options List
+/* MagicMirror² Deprecated Config Options List
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
diff --git a/js/electron.js b/js/electron.js
index 509b5474..7ecb97e0 100644
--- a/js/electron.js
+++ b/js/electron.js
@@ -8,6 +8,12 @@ const Log = require("logger");
let config = process.env.config ? JSON.parse(process.env.config) : {};
// Module to control application life.
const app = electron.app;
+// If ELECTRON_DISABLE_GPU is set electron is startet with --disable-gpu flag.
+// See https://www.electronjs.org/docs/latest/tutorial/offscreen-rendering for more info.
+if (process.env.ELECTRON_DISABLE_GPU !== undefined) {
+ app.disableHardwareAcceleration();
+}
+
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow;
diff --git a/js/loader.js b/js/loader.js
index e3c88be4..70ed32c5 100644
--- a/js/loader.js
+++ b/js/loader.js
@@ -1,6 +1,6 @@
/* global defaultModules, vendor */
-/* Magic Mirror
+/* MagicMirror²
* Module and File loaders.
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/js/logger.js b/js/logger.js
index 0ea523d7..e6a244cb 100644
--- a/js/logger.js
+++ b/js/logger.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Log
*
* This logger is very simple, but needs to be extended.
diff --git a/js/main.js b/js/main.js
index bc128194..9d3a50b3 100644
--- a/js/main.js
+++ b/js/main.js
@@ -1,6 +1,6 @@
/* global Loader, defaults, Translator */
-/* Magic Mirror
+/* MagicMirror²
* Main System
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -245,6 +245,7 @@ const MM = (function () {
if (moduleWrapper !== null) {
moduleWrapper.style.transition = "opacity " + speed / 1000 + "s";
moduleWrapper.style.opacity = 0;
+ moduleWrapper.classList.add("hidden");
clearTimeout(module.showHideTimer);
module.showHideTimer = setTimeout(function () {
@@ -310,6 +311,7 @@ const MM = (function () {
moduleWrapper.style.transition = "opacity " + speed / 1000 + "s";
// Restore the position. See hideModule() for more info.
moduleWrapper.style.position = "static";
+ moduleWrapper.classList.remove("hidden");
updateWrapperStates();
@@ -478,7 +480,7 @@ const MM = (function () {
* Main init method.
*/
init: function () {
- Log.info("Initializing MagicMirror.");
+ Log.info("Initializing MagicMirror².");
loadConfig();
Log.setLogLevel(config.logLevel);
diff --git a/js/module.js b/js/module.js
index 84222fa3..6d154529 100644
--- a/js/module.js
+++ b/js/module.js
@@ -1,6 +1,6 @@
/* global Class, cloneObject, Loader, MMSocket, nunjucks, Translator */
-/* Magic Mirror
+/* MagicMirror²
* Module Blueprint.
* @typedef {Object} Module
*
@@ -12,7 +12,7 @@ const Module = Class.extend({
* All methods (and properties) below can be subclassed. *
*********************************************************/
- // Set the minimum MagicMirror module version for this module.
+ // Set the minimum MagicMirror² module version for this module.
requiresVersion: "2.0.0",
// Module config defaults.
@@ -74,7 +74,7 @@ const Module = Class.extend({
},
/**
- * Generates the dom which needs to be displayed. This method is called by the Magic Mirror core.
+ * Generates the dom which needs to be displayed. This method is called by the MagicMirror² core.
* This method can to be subclassed if the module wants to display info on the mirror.
* Alternatively, the getTemplate method could be subclassed.
*
@@ -109,7 +109,7 @@ const Module = Class.extend({
/**
* Generates the header string which needs to be displayed if a user has a header configured for this module.
- * This method is called by the Magic Mirror core, but only if the user has configured a default header for the module.
+ * This method is called by the MagicMirror² core, but only if the user has configured a default header for the module.
* This method needs to be subclassed if the module wants to display modified headers on the mirror.
*
* @returns {string} The header to display above the header.
@@ -141,7 +141,7 @@ const Module = Class.extend({
},
/**
- * Called by the Magic Mirror core when a notification arrives.
+ * Called by the MagicMirror² core when a notification arrives.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
@@ -434,7 +434,7 @@ const Module = Class.extend({
});
/**
- * Merging MagicMirror (or other) default/config script by @bugsounet
+ * Merging MagicMirror² (or other) default/config script by @bugsounet
* Merge 2 objects or/with array
*
* Usage:
@@ -498,7 +498,7 @@ Module.create = function (name) {
Module.register = function (name, moduleDefinition) {
if (moduleDefinition.requiresVersion) {
- Log.log("Check MagicMirror version for module '" + name + "' - Minimum version: " + moduleDefinition.requiresVersion + " - Current version: " + window.mmVersion);
+ Log.log("Check MagicMirror² version for module '" + name + "' - Minimum version: " + moduleDefinition.requiresVersion + " - Current version: " + window.mmVersion);
if (cmpVersions(window.mmVersion, moduleDefinition.requiresVersion) >= 0) {
Log.log("Version is ok!");
} else {
diff --git a/js/node_helper.js b/js/node_helper.js
index 86ad3aa4..8c2e2b90 100644
--- a/js/node_helper.js
+++ b/js/node_helper.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Node Helper Superclass
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -23,7 +23,7 @@ const NodeHelper = Class.extend({
},
/* stop()
- * Called when the MagicMirror server receives a `SIGINT`
+ * Called when the MagicMirror² server receives a `SIGINT`
* Close any open connections, stop any sub-processes and
* gracefully exit the module.
*
diff --git a/js/server.js b/js/server.js
index 92607d39..7a298cdb 100644
--- a/js/server.js
+++ b/js/server.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Server
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -10,6 +10,7 @@ const path = require("path");
const ipfilter = require("express-ipfilter").IpFilter;
const fs = require("fs");
const helmet = require("helmet");
+const fetch = require("node-fetch");
const Log = require("logger");
const Utils = require("./utils.js");
@@ -61,13 +62,14 @@ function Server(config, callback) {
app.use(function (req, res, next) {
ipfilter(config.ipWhitelist, { mode: config.ipWhitelist.length === 0 ? "deny" : "allow", log: false })(req, res, function (err) {
if (err === undefined) {
+ res.header("Access-Control-Allow-Origin", "*");
return next();
}
Log.log(err.message);
res.status(403).send("This device is not allowed to access your mirror.
Please check your config.js or config.js.sample to change this.");
});
});
- app.use(helmet({ contentSecurityPolicy: false }));
+ app.use(helmet({ contentSecurityPolicy: false, crossOriginOpenerPolicy: false, crossOriginEmbedderPolicy: false, crossOriginResourcePolicy: false, originAgentCluster: false }));
app.use("/js", express.static(__dirname));
@@ -76,6 +78,33 @@ function Server(config, callback) {
app.use(directory, express.static(path.resolve(global.root_path + directory)));
}
+ app.get("/cors", async function (req, res) {
+ // example: http://localhost:8080/cors?url=https://google.de
+
+ try {
+ const reg = "^/cors.+url=(.*)";
+ let url = "";
+
+ let match = new RegExp(reg, "g").exec(req.url);
+ if (!match) {
+ url = "invalid url: " + req.url;
+ Log.error(url);
+ res.send(url);
+ } else {
+ url = match[1];
+ Log.log("cors url: " + url);
+ const response = await fetch(url, { headers: { "User-Agent": "Mozilla/5.0 MagicMirror/" + global.version } });
+ const header = response.headers.get("Content-Type");
+ const data = await response.text();
+ if (header) res.set("Content-Type", header);
+ res.send(data);
+ }
+ } catch (error) {
+ Log.error(error);
+ res.send(error);
+ }
+ });
+
app.get("/version", function (req, res) {
res.send(global.version);
});
diff --git a/js/socketclient.js b/js/socketclient.js
index acb8cfdc..8b3aec82 100644
--- a/js/socketclient.js
+++ b/js/socketclient.js
@@ -1,6 +1,6 @@
/* global io */
-/* Magic Mirror
+/* MagicMirror²
* TODO add description
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/js/translator.js b/js/translator.js
index d69a9a1a..77d4b8f0 100644
--- a/js/translator.js
+++ b/js/translator.js
@@ -1,6 +1,6 @@
/* global translations */
-/* Magic Mirror
+/* MagicMirror²
* Translator (l10n)
*
* By Christopher Fenner https://github.com/CFenner
@@ -104,7 +104,7 @@ const Translator = (function () {
* @param {Function} callback Function called when done.
*/
load(module, file, isFallback, callback) {
- Log.log(`${module.name} - Load translation${isFallback && " fallback"}: ${file}`);
+ Log.log(`${module.name} - Load translation${isFallback ? " fallback" : ""}: ${file}`);
if (this.translationsFallback[module.name]) {
callback();
diff --git a/js/utils.js b/js/utils.js
index 1043ae3e..d111afca 100644
--- a/js/utils.js
+++ b/js/utils.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Utils
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
diff --git a/modules/default/alert/README.md b/modules/default/alert/README.md
index 2e7973a3..720adae3 100644
--- a/modules/default/alert/README.md
+++ b/modules/default/alert/README.md
@@ -1,5 +1,5 @@
# Module: Alert
-The alert module is one of the default modules of the MagicMirror. This module displays notifications from other modules.
+The alert module is one of the default modules of the MagicMirror². This module displays notifications from other modules.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/alert.html).
diff --git a/modules/default/alert/alert.js b/modules/default/alert/alert.js
index 0ed34fb0..76bacc02 100644
--- a/modules/default/alert/alert.js
+++ b/modules/default/alert/alert.js
@@ -1,6 +1,6 @@
/* global NotificationFx */
-/* Magic Mirror
+/* MagicMirror²
* Module: alert
*
* By Paul-Vincent Roll https://paulvincentroll.com/
diff --git a/modules/default/alert/notificationFx.js b/modules/default/alert/notificationFx.js
index 317fa75a..3957abe8 100644
--- a/modules/default/alert/notificationFx.js
+++ b/modules/default/alert/notificationFx.js
@@ -9,6 +9,8 @@
*
* Copyright 2014, Codrops
* https://tympanus.net/codrops/
+ *
+ * @param {object} window The window object
*/
(function (window) {
/**
diff --git a/modules/default/alert/templates/alert.njk b/modules/default/alert/templates/alert.njk
index 5592ea35..a748d268 100644
--- a/modules/default/alert/templates/alert.njk
+++ b/modules/default/alert/templates/alert.njk
@@ -3,7 +3,7 @@
{% if imageUrl %}
{% else %}
-
+
{% endif %}
{% endif %}
diff --git a/modules/default/alert/translations/bg.json b/modules/default/alert/translations/bg.json
index e97844c8..102a0b19 100644
--- a/modules/default/alert/translations/bg.json
+++ b/modules/default/alert/translations/bg.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror нотификация",
+ "sysTitle": "MagicMirror² нотификация",
"welcome": "Добре дошли, стартирането беше успешно"
}
diff --git a/modules/default/alert/translations/da.json b/modules/default/alert/translations/da.json
index f79a5011..406d2ff6 100644
--- a/modules/default/alert/translations/da.json
+++ b/modules/default/alert/translations/da.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Notifikation",
+ "sysTitle": "MagicMirror² Notifikation",
"welcome": "Velkommen, modulet er succesfuldt startet!"
}
diff --git a/modules/default/alert/translations/de.json b/modules/default/alert/translations/de.json
index 6a0340f2..3ae5238c 100644
--- a/modules/default/alert/translations/de.json
+++ b/modules/default/alert/translations/de.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Benachrichtigung",
+ "sysTitle": "MagicMirror² Benachrichtigung",
"welcome": "Willkommen, Start war erfolgreich!"
}
diff --git a/modules/default/alert/translations/en.json b/modules/default/alert/translations/en.json
index 9854d518..ea3319b9 100644
--- a/modules/default/alert/translations/en.json
+++ b/modules/default/alert/translations/en.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Notification",
+ "sysTitle": "MagicMirror² Notification",
"welcome": "Welcome, start was successful!"
}
diff --git a/modules/default/alert/translations/es.json b/modules/default/alert/translations/es.json
index 84339233..a2f74722 100644
--- a/modules/default/alert/translations/es.json
+++ b/modules/default/alert/translations/es.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Notificaciones",
+ "sysTitle": "MagicMirror² Notificaciones",
"welcome": "Bienvenido, ¡se iniciado correctamente!"
}
diff --git a/modules/default/alert/translations/fr.json b/modules/default/alert/translations/fr.json
index 6ed40c62..a6d3c105 100644
--- a/modules/default/alert/translations/fr.json
+++ b/modules/default/alert/translations/fr.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Notification",
+ "sysTitle": "MagicMirror² Notification",
"welcome": "Bienvenue, le démarrage a été un succès!"
}
diff --git a/modules/default/alert/translations/hu.json b/modules/default/alert/translations/hu.json
index 332458b5..90ab35da 100644
--- a/modules/default/alert/translations/hu.json
+++ b/modules/default/alert/translations/hu.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror értesítés",
+ "sysTitle": "MagicMirror² értesítés",
"welcome": "Üdvözöljük, indulás sikeres!"
}
diff --git a/modules/default/alert/translations/nl.json b/modules/default/alert/translations/nl.json
index 39978191..59a480bd 100644
--- a/modules/default/alert/translations/nl.json
+++ b/modules/default/alert/translations/nl.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Notificatie",
+ "sysTitle": "MagicMirror² Notificatie",
"welcome": "Welkom, Succesvol gestart!"
}
diff --git a/modules/default/alert/translations/ru.json b/modules/default/alert/translations/ru.json
index fe535c2d..4ddc86cb 100644
--- a/modules/default/alert/translations/ru.json
+++ b/modules/default/alert/translations/ru.json
@@ -1,4 +1,4 @@
{
- "sysTitle": "MagicMirror Уведомление",
+ "sysTitle": "MagicMirror² Уведомление",
"welcome": "Добро пожаловать, старт был успешным!"
}
diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md
index 3583aa18..15275958 100755
--- a/modules/default/calendar/README.md
+++ b/modules/default/calendar/README.md
@@ -1,6 +1,6 @@
# Module: Calendar
-The `calendar` module is one of the default modules of the MagicMirror.
+The `calendar` module is one of the default modules of the MagicMirror².
This module displays events from a public .ical calendar. It can combine multiple calendars.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/calendar.html).
diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js
index 52bb87da..4a003daa 100755
--- a/modules/default/calendar/calendar.js
+++ b/modules/default/calendar/calendar.js
@@ -1,6 +1,6 @@
/* global cloneObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Calendar
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -13,7 +13,7 @@ Module.register("calendar", {
maximumNumberOfDays: 365,
limitDays: 0, // Limit the number of days shown, 0 = no limit
displaySymbol: true,
- defaultSymbol: "calendar", // Fontawesome Symbol see https://fontawesome.com/cheatsheet?from=io
+ defaultSymbol: "calendar-alt", // Fontawesome Symbol see https://fontawesome.com/cheatsheet?from=io
showLocation: false,
displayRepeatingCountTitle: false,
defaultRepeatingCountTitle: "",
@@ -43,7 +43,7 @@ Module.register("calendar", {
tableClass: "small",
calendars: [
{
- symbol: "calendar",
+ symbol: "calendar-alt",
url: "https://www.calendarlabs.com/templates/ical/US-Holidays.ics"
}
],
@@ -164,7 +164,7 @@ Module.register("calendar", {
const oneHour = oneMinute * 60;
const oneDay = oneHour * 24;
- const events = this.createEventList();
+ const events = this.createEventList(true);
const wrapper = document.createElement("table");
wrapper.className = this.config.tableClass;
@@ -239,7 +239,7 @@ Module.register("calendar", {
const symbols = this.symbolsForEvent(event);
symbols.forEach((s, index) => {
const symbol = document.createElement("span");
- symbol.className = "fa fa-fw fa-" + s;
+ symbol.className = "fas fa-fw fa-" + s;
if (index > 0) {
symbol.style.paddingLeft = "5px";
}
@@ -329,8 +329,7 @@ Module.register("calendar", {
//subtract one second so that fullDayEvents end at 23:59:59, and not at 0:00:00 one the next day
event.endDate -= oneSecond;
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").format(this.config.fullDayEventDateFormat));
- }
- if (this.config.getRelative > 0 && event.startDate < now) {
+ } else if (this.config.getRelative > 0 && event.startDate < now) {
// Ongoing and getRelative is set
timeWrapper.innerHTML = this.capFirst(
this.translate("RUNNING", {
@@ -477,9 +476,10 @@ Module.register("calendar", {
/**
* Creates the sorted list of all events.
*
+ * @param {boolean} limitNumberOfEntries Whether to filter returned events for display.
* @returns {object[]} Array with events.
*/
- createEventList: function () {
+ createEventList: function (limitNumberOfEntries) {
const now = new Date();
const today = moment().startOf("day");
const future = moment().startOf("day").add(this.config.maximumNumberOfDays, "days").toDate();
@@ -490,7 +490,7 @@ Module.register("calendar", {
for (const e in calendar) {
const event = JSON.parse(JSON.stringify(calendar[e])); // clone object
- if (event.endDate < now) {
+ if (event.endDate < now && limitNumberOfEntries) {
continue;
}
if (this.config.hidePrivate) {
@@ -499,7 +499,7 @@ Module.register("calendar", {
continue;
}
}
- if (this.config.hideOngoing) {
+ if (this.config.hideOngoing && limitNumberOfEntries) {
if (event.startDate < now) {
continue;
}
@@ -548,6 +548,10 @@ Module.register("calendar", {
return a.startDate - b.startDate;
});
+ if (!limitNumberOfEntries) {
+ return events;
+ }
+
// Limit the number of days displayed
// If limitDays is set > 0, limit display to that number of days
if (this.config.limitDays > 0) {
@@ -835,22 +839,14 @@ Module.register("calendar", {
* The all events available in one array, sorted on startdate.
*/
broadcastEvents: function () {
- const eventList = [];
- for (const url in this.calendarData) {
- for (const ev of this.calendarData[url]) {
- const event = cloneObject(ev);
- event.symbol = this.symbolsForEvent(event);
- event.calendarName = this.calendarNameForUrl(url);
- event.color = this.colorForUrl(url);
- delete event.url;
- eventList.push(event);
- }
+ const eventList = this.createEventList(false);
+ for (const event of eventList) {
+ event.symbol = this.symbolsForEvent(event);
+ event.calendarName = this.calendarNameForUrl(event.url);
+ event.color = this.colorForUrl(event.url);
+ delete event.url;
}
- eventList.sort(function (a, b) {
- return a.startDate - b.startDate;
- });
-
this.sendNotification("CALENDAR_EVENTS", eventList);
}
});
diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js
index 16f1db90..f27025d7 100644
--- a/modules/default/calendar/calendarfetcher.js
+++ b/modules/default/calendar/calendarfetcher.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Node Helper: Calendar - CalendarFetcher
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/calendar/calendarutils.js b/modules/default/calendar/calendarutils.js
index a3bfaeab..58e05d64 100644
--- a/modules/default/calendar/calendarutils.js
+++ b/modules/default/calendar/calendarutils.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Calendar Util Methods
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -470,7 +470,7 @@ const CalendarUtils = {
}
// Adjust start date so multiple day events will be displayed as happening today even though they started some days ago already
- if (fullDayEvent && startDate <= today) {
+ if (fullDayEvent && startDate <= today && endDate > today) {
startDate = moment(today);
}
// if the start and end are the same, then make end the 'end of day' value (start is at 00:00:00)
@@ -498,23 +498,7 @@ const CalendarUtils = {
return a.startDate - b.startDate;
});
- // include up to maximumEntries current or upcoming events
- // If past events should be included, include all past events
- const now = moment();
- let entries = 0;
- let events = [];
- for (let ne of newEvents) {
- if (moment(ne.endDate, "x").isBefore(now)) {
- if (config.includePastEvents) events.push(ne);
- continue;
- }
- entries++;
- // If max events has been saved, skip the rest
- if (entries > config.maximumEntries) break;
- events.push(ne);
- }
-
- return events;
+ return newEvents;
},
/**
diff --git a/modules/default/calendar/debug.js b/modules/default/calendar/debug.js
index f2d3a48e..08cd3770 100644
--- a/modules/default/calendar/debug.js
+++ b/modules/default/calendar/debug.js
@@ -1,6 +1,6 @@
/* CalendarFetcher Tester
* use this script with `node debug.js` to test the fetcher without the need
- * of starting the MagicMirror core. Adjust the values below to your desire.
+ * of starting the MagicMirror² core. Adjust the values below to your desire.
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
diff --git a/modules/default/calendar/node_helper.js b/modules/default/calendar/node_helper.js
index 5b1a8bad..21fa7e0e 100644
--- a/modules/default/calendar/node_helper.js
+++ b/modules/default/calendar/node_helper.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Node Helper: Calendar
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/clock/README.md b/modules/default/clock/README.md
index 30019e00..16703eb0 100644
--- a/modules/default/clock/README.md
+++ b/modules/default/clock/README.md
@@ -1,6 +1,6 @@
# Module: Clock
-The `clock` module is one of the default modules of the MagicMirror.
+The `clock` module is one of the default modules of the MagicMirror².
This module displays the current date and time. The information will be updated realtime.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/clock.html).
diff --git a/modules/default/clock/clock.js b/modules/default/clock/clock.js
index 52cdb7e0..7c9310f0 100644
--- a/modules/default/clock/clock.js
+++ b/modules/default/clock/clock.js
@@ -1,6 +1,6 @@
/* global SunCalc */
-/* Magic Mirror
+/* MagicMirror²
* Module: Clock
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -199,13 +199,13 @@ Module.register("clock", {
sunWrapper.innerHTML =
' ' +
+ '"> ' +
untilNextEventString +
"" +
- ' ' +
+ ' ' +
formatTime(this.config, sunTimes.sunrise) +
"" +
- ' ' +
+ ' ' +
formatTime(this.config, sunTimes.sunset) +
"";
digitalWrapper.appendChild(sunWrapper);
@@ -230,13 +230,13 @@ Module.register("clock", {
moonWrapper.innerHTML =
' ' +
+ '"> ' +
illuminatedFractionString +
"" +
- ' ' +
+ ' ' +
(moonRise ? formatTime(this.config, moonRise) : "...") +
"" +
- ' ' +
+ ' ' +
(moonSet ? formatTime(this.config, moonSet) : "...") +
"";
digitalWrapper.appendChild(moonWrapper);
diff --git a/modules/default/compliments/README.md b/modules/default/compliments/README.md
index e1360f2e..57e105ff 100644
--- a/modules/default/compliments/README.md
+++ b/modules/default/compliments/README.md
@@ -1,6 +1,6 @@
# Module: Compliments
-The `compliments` module is one of the default modules of the MagicMirror.
+The `compliments` module is one of the default modules of the MagicMirror².
This module displays a random compliment.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/compliments.html).
diff --git a/modules/default/compliments/compliments.js b/modules/default/compliments/compliments.js
index 054a409f..c1168295 100644
--- a/modules/default/compliments/compliments.js
+++ b/modules/default/compliments/compliments.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Module: Compliments
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/currentweather/README.md b/modules/default/currentweather/README.md
deleted file mode 100644
index d2df6d2a..00000000
--- a/modules/default/currentweather/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Module: Current Weather
-
-> :warning: **This module is deprecated in favor of the [weather](https://docs.magicmirror.builders/modules/weather.html) module.**
-
-The `currentweather` module is one of the default modules of the MagicMirror.
-This module displays the current weather, including the windspeed, the sunset or sunrise time, the temperature and an icon to display the current conditions.
-
-For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/currentweather.html).
diff --git a/modules/default/currentweather/currentweather.css b/modules/default/currentweather/currentweather.css
deleted file mode 100644
index 3930c885..00000000
--- a/modules/default/currentweather/currentweather.css
+++ /dev/null
@@ -1,15 +0,0 @@
-.currentweather .weathericon,
-.currentweather .fa-home {
- font-size: 75%;
- line-height: 65px;
- display: inline-block;
- transform: translate(0, -3px);
-}
-
-.currentweather .humidityIcon {
- padding-right: 4px;
-}
-
-.currentweather .humidity-padding {
- padding-bottom: 6px;
-}
diff --git a/modules/default/currentweather/currentweather.js b/modules/default/currentweather/currentweather.js
index 5a00fb99..60f584e0 100644
--- a/modules/default/currentweather/currentweather.js
+++ b/modules/default/currentweather/currentweather.js
@@ -1,6 +1,6 @@
/* eslint-disable */
-/* Magic Mirror
+/* MagicMirror²
* Module: CurrentWeather
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -9,592 +9,25 @@
* This module is deprecated. Any additional feature will no longer be merged.
*/
Module.register("currentweather", {
- // Default module config.
- defaults: {
- location: false,
- locationID: false,
- appid: "",
- units: config.units,
- updateInterval: 10 * 60 * 1000, // every 10 minutes
- animationSpeed: 1000,
- timeFormat: config.timeFormat,
- showPeriod: true,
- showPeriodUpper: false,
- showWindDirection: true,
- showWindDirectionAsArrow: false,
- useBeaufort: true,
- useKMPHwind: false,
- lang: config.language,
- decimalSymbol: ".",
- showHumidity: false,
- showSun: true,
- degreeLabel: false,
- showIndoorTemperature: false,
- showIndoorHumidity: false,
- showFeelsLike: true,
-
- initialLoadDelay: 0, // 0 seconds delay
- retryDelay: 2500,
-
- apiVersion: "2.5",
- apiBase: "https://api.openweathermap.org/data/",
- weatherEndpoint: "weather",
-
- appendLocationNameToHeader: true,
- useLocationAsHeader: false,
-
- calendarClass: "calendar",
- tableClass: "large",
-
- onlyTemp: false,
- hideTemp: false,
- roundTemp: false,
-
- iconTable: {
- "01d": "day-sunny",
- "02d": "day-cloudy",
- "03d": "cloudy",
- "04d": "cloudy-windy",
- "09d": "showers",
- "10d": "rain",
- "11d": "thunderstorm",
- "13d": "snow",
- "50d": "fog",
- "01n": "night-clear",
- "02n": "night-cloudy",
- "03n": "night-cloudy",
- "04n": "night-cloudy",
- "09n": "night-showers",
- "10n": "night-rain",
- "11n": "night-thunderstorm",
- "13n": "night-snow",
- "50n": "night-alt-cloudy-windy"
- }
- },
-
- // create a variable for the first upcoming calendar event. Used if no location is specified.
- firstEvent: false,
-
- // create a variable to hold the location name based on the API result.
- fetchedLocationName: "",
-
- // Define required scripts.
- getScripts: function () {
- return ["moment.js"];
- },
-
- // Define required scripts.
- getStyles: function () {
- return ["weather-icons.css", "currentweather.css"];
- },
-
- // Define required translations.
- getTranslations: function () {
- // The translations for the default modules are defined in the core translation files.
- // Therefor we can just return false. Otherwise we should have returned a dictionary.
- // If you're trying to build your own module including translations, check out the documentation.
- return false;
- },
-
// Define start sequence.
start: function () {
Log.info("Starting module: " + this.name);
-
- // Set locale.
- moment.locale(config.language);
-
- this.windSpeed = null;
- this.windDirection = null;
- this.windDeg = null;
- this.sunriseSunsetTime = null;
- this.sunriseSunsetIcon = null;
- this.temperature = null;
- this.indoorTemperature = null;
- this.indoorHumidity = null;
- this.weatherType = null;
- this.feelsLike = null;
- this.loaded = false;
- this.scheduleUpdate(this.config.initialLoadDelay);
- },
-
- // add extra information of current weather
- // windDirection, humidity, sunrise and sunset
- addExtraInfoWeather: function (wrapper) {
- var small = document.createElement("div");
- small.className = "normal medium";
-
- var windIcon = document.createElement("span");
- windIcon.className = "wi wi-strong-wind dimmed";
- small.appendChild(windIcon);
-
- var windSpeed = document.createElement("span");
- windSpeed.innerHTML = " " + this.windSpeed;
- small.appendChild(windSpeed);
-
- if (this.config.showWindDirection) {
- var windDirection = document.createElement("sup");
- if (this.config.showWindDirectionAsArrow) {
- if (this.windDeg !== null) {
- windDirection.innerHTML = ' ';
- }
- } else {
- windDirection.innerHTML = " " + this.translate(this.windDirection);
- }
- small.appendChild(windDirection);
- }
- var spacer = document.createElement("span");
- spacer.innerHTML = " ";
- small.appendChild(spacer);
-
- if (this.config.showHumidity) {
- var humidity = document.createElement("span");
- humidity.innerHTML = this.humidity;
-
- var supspacer = document.createElement("sup");
- supspacer.innerHTML = " ";
-
- var humidityIcon = document.createElement("sup");
- humidityIcon.className = "wi wi-humidity humidityIcon";
- humidityIcon.innerHTML = " ";
-
- small.appendChild(humidity);
- small.appendChild(supspacer);
- small.appendChild(humidityIcon);
- }
-
- if (this.config.showSun) {
- var sunriseSunsetIcon = document.createElement("span");
- sunriseSunsetIcon.className = "wi dimmed " + this.sunriseSunsetIcon;
- small.appendChild(sunriseSunsetIcon);
-
- var sunriseSunsetTime = document.createElement("span");
- sunriseSunsetTime.innerHTML = " " + this.sunriseSunsetTime;
- small.appendChild(sunriseSunsetTime);
- }
-
- wrapper.appendChild(small);
},
// Override dom generator.
getDom: function () {
var wrapper = document.createElement("div");
wrapper.className = this.config.tableClass;
-
- if (this.config.appid === "") {
- wrapper.innerHTML = "Please set the correct openweather appid in the config for module: " + this.name + ".";
- wrapper.className = "dimmed light small";
- return wrapper;
- }
-
- if (!this.loaded) {
- wrapper.innerHTML = this.translate("LOADING");
- wrapper.className = "dimmed light small";
- return wrapper;
- }
-
- if (this.config.onlyTemp === false) {
- this.addExtraInfoWeather(wrapper);
- }
-
- var large = document.createElement("div");
- large.className = "light";
-
- var degreeLabel = "";
- if (this.config.units === "metric" || this.config.units === "imperial") {
- degreeLabel += "°";
- }
- if (this.config.degreeLabel) {
- switch (this.config.units) {
- case "metric":
- degreeLabel += "C";
- break;
- case "imperial":
- degreeLabel += "F";
- break;
- case "default":
- degreeLabel += "K";
- break;
- }
- }
-
- if (this.config.decimalSymbol === "") {
- this.config.decimalSymbol = ".";
- }
-
- if (this.config.hideTemp === false) {
- var weatherIcon = document.createElement("span");
- weatherIcon.className = "wi weathericon wi-" + this.weatherType;
- large.appendChild(weatherIcon);
-
- var temperature = document.createElement("span");
- temperature.className = "bright";
- temperature.innerHTML = " " + this.temperature.replace(".", this.config.decimalSymbol) + degreeLabel;
- large.appendChild(temperature);
- }
-
- if (this.config.showIndoorTemperature && this.indoorTemperature) {
- var indoorIcon = document.createElement("span");
- indoorIcon.className = "fa fa-home";
- large.appendChild(indoorIcon);
-
- var indoorTemperatureElem = document.createElement("span");
- indoorTemperatureElem.className = "bright";
- indoorTemperatureElem.innerHTML = " " + this.indoorTemperature.replace(".", this.config.decimalSymbol) + degreeLabel;
- large.appendChild(indoorTemperatureElem);
- }
-
- if (this.config.showIndoorHumidity && this.indoorHumidity) {
- var indoorHumidityIcon = document.createElement("span");
- indoorHumidityIcon.className = "fa fa-tint";
- large.appendChild(indoorHumidityIcon);
-
- var indoorHumidityElem = document.createElement("span");
- indoorHumidityElem.className = "bright";
- indoorHumidityElem.innerHTML = " " + this.indoorHumidity + "%";
- large.appendChild(indoorHumidityElem);
- }
-
- wrapper.appendChild(large);
-
- if (this.config.showFeelsLike && this.config.onlyTemp === false) {
- var small = document.createElement("div");
- small.className = "normal medium";
-
- var feelsLike = document.createElement("span");
- feelsLike.className = "dimmed";
- feelsLike.innerHTML = this.translate("FEELS", {
- DEGREE: this.feelsLike + degreeLabel
- });
- small.appendChild(feelsLike);
-
- wrapper.appendChild(small);
- }
-
+ wrapper.innerHTML =
+ "" +
+ "This module is deprecated since release v2.15 and removed with v2.19." +
+ '
Please use the `weather` module as replacement, more info in the documentation.';
+ wrapper.className = "dimmed light small";
return wrapper;
},
// Override getHeader method.
getHeader: function () {
- if (this.config.useLocationAsHeader && this.config.location !== false) {
- return this.config.location;
- }
-
- if (this.config.appendLocationNameToHeader) {
- if (this.data.header) return this.data.header + " " + this.fetchedLocationName;
- else return this.fetchedLocationName;
- }
-
- return this.data.header ? this.data.header : "";
- },
-
- // Override notification handler.
- notificationReceived: function (notification, payload, sender) {
- if (notification === "DOM_OBJECTS_CREATED") {
- if (this.config.appendLocationNameToHeader) {
- this.hide(0, { lockString: this.identifier });
- }
- }
- if (notification === "CALENDAR_EVENTS") {
- var senderClasses = sender.data.classes.toLowerCase().split(" ");
- if (senderClasses.indexOf(this.config.calendarClass.toLowerCase()) !== -1) {
- this.firstEvent = false;
-
- for (var e in payload) {
- var event = payload[e];
- if (event.location || event.geo) {
- this.firstEvent = event;
- //Log.log("First upcoming event with location: ", event);
- break;
- }
- }
- }
- }
- if (notification === "INDOOR_TEMPERATURE") {
- this.indoorTemperature = this.roundValue(payload);
- this.updateDom(this.config.animationSpeed);
- }
- if (notification === "INDOOR_HUMIDITY") {
- this.indoorHumidity = this.roundValue(payload);
- this.updateDom(this.config.animationSpeed);
- }
- },
-
- /* updateWeather(compliments)
- * Requests new data from openweather.org.
- * Calls processWeather on succesfull response.
- */
- updateWeather: function () {
- if (this.config.appid === "") {
- Log.error("CurrentWeather: APPID not set!");
- return;
- }
-
- var url = this.config.apiBase + this.config.apiVersion + "/" + this.config.weatherEndpoint + this.getParams();
- var self = this;
- var retry = true;
-
- var weatherRequest = new XMLHttpRequest();
- weatherRequest.open("GET", url, true);
- weatherRequest.onreadystatechange = function () {
- if (this.readyState === 4) {
- if (this.status === 200) {
- self.processWeather(JSON.parse(this.response));
- } else if (this.status === 401) {
- self.updateDom(self.config.animationSpeed);
-
- Log.error(self.name + ": Incorrect APPID.");
- retry = true;
- } else {
- Log.error(self.name + ": Could not load weather.");
- }
-
- if (retry) {
- self.scheduleUpdate(self.loaded ? -1 : self.config.retryDelay);
- }
- }
- };
- weatherRequest.send();
- },
-
- /* getParams(compliments)
- * Generates an url with api parameters based on the config.
- *
- * return String - URL params.
- */
- getParams: function () {
- var params = "?";
- if (this.config.locationID) {
- params += "id=" + this.config.locationID;
- } else if (this.config.location) {
- params += "q=" + this.config.location;
- } else if (this.firstEvent && this.firstEvent.geo) {
- params += "lat=" + this.firstEvent.geo.lat + "&lon=" + this.firstEvent.geo.lon;
- } else if (this.firstEvent && this.firstEvent.location) {
- params += "q=" + this.firstEvent.location;
- } else {
- this.hide(this.config.animationSpeed, { lockString: this.identifier });
- return;
- }
-
- params += "&units=" + this.config.units;
- params += "&lang=" + this.config.lang;
- params += "&APPID=" + this.config.appid;
-
- return params;
- },
-
- /* processWeather(data)
- * Uses the received data to set the various values.
- *
- * argument data object - Weather information received form openweather.org.
- */
- processWeather: function (data) {
- if (!data || !data.main || typeof data.main.temp === "undefined") {
- // Did not receive usable new data.
- // Maybe this needs a better check?
- return;
- }
-
- this.humidity = parseFloat(data.main.humidity);
- this.temperature = this.roundValue(data.main.temp);
- this.fetchedLocationName = data.name;
- this.feelsLike = 0;
-
- if (this.config.useBeaufort) {
- this.windSpeed = this.ms2Beaufort(this.roundValue(data.wind.speed));
- } else if (this.config.useKMPHwind) {
- this.windSpeed = parseFloat((data.wind.speed * 60 * 60) / 1000).toFixed(0);
- } else {
- this.windSpeed = parseFloat(data.wind.speed).toFixed(0);
- }
-
- // ONLY WORKS IF TEMP IN C //
- var windInMph = parseFloat(data.wind.speed * 2.23694);
-
- var tempInF = 0;
- switch (this.config.units) {
- case "metric":
- tempInF = 1.8 * this.temperature + 32;
- break;
- case "imperial":
- tempInF = this.temperature;
- break;
- case "default":
- tempInF = 1.8 * (this.temperature - 273.15) + 32;
- break;
- }
-
- if (windInMph > 3 && tempInF < 50) {
- // windchill
- var windChillInF = Math.round(35.74 + 0.6215 * tempInF - 35.75 * Math.pow(windInMph, 0.16) + 0.4275 * tempInF * Math.pow(windInMph, 0.16));
- var windChillInC = (windChillInF - 32) * (5 / 9);
- // this.feelsLike = windChillInC.toFixed(0);
-
- switch (this.config.units) {
- case "metric":
- this.feelsLike = windChillInC.toFixed(0);
- break;
- case "imperial":
- this.feelsLike = windChillInF.toFixed(0);
- break;
- case "default":
- this.feelsLike = (windChillInC + 273.15).toFixed(0);
- break;
- }
- } else if (tempInF > 80 && this.humidity > 40) {
- // heat index
- var Hindex =
- -42.379 +
- 2.04901523 * tempInF +
- 10.14333127 * this.humidity -
- 0.22475541 * tempInF * this.humidity -
- 6.83783 * Math.pow(10, -3) * tempInF * tempInF -
- 5.481717 * Math.pow(10, -2) * this.humidity * this.humidity +
- 1.22874 * Math.pow(10, -3) * tempInF * tempInF * this.humidity +
- 8.5282 * Math.pow(10, -4) * tempInF * this.humidity * this.humidity -
- 1.99 * Math.pow(10, -6) * tempInF * tempInF * this.humidity * this.humidity;
-
- switch (this.config.units) {
- case "metric":
- this.feelsLike = parseFloat((Hindex - 32) / 1.8).toFixed(0);
- break;
- case "imperial":
- this.feelsLike = Hindex.toFixed(0);
- break;
- case "default":
- var tc = parseFloat((Hindex - 32) / 1.8) + 273.15;
- this.feelsLike = tc.toFixed(0);
- break;
- }
- } else {
- this.feelsLike = parseFloat(this.temperature).toFixed(0);
- }
-
- this.windDirection = this.deg2Cardinal(data.wind.deg);
- this.windDeg = data.wind.deg;
- this.weatherType = this.config.iconTable[data.weather[0].icon];
-
- var now = new Date();
- var sunrise = new Date(data.sys.sunrise * 1000);
- var sunset = new Date(data.sys.sunset * 1000);
-
- // The moment().format('h') method has a bug on the Raspberry Pi.
- // So we need to generate the timestring manually.
- // See issue: https://github.com/MichMich/MagicMirror/issues/181
- var sunriseSunsetDateObject = sunrise < now && sunset > now ? sunset : sunrise;
- var timeString = moment(sunriseSunsetDateObject).format("HH:mm");
- if (this.config.timeFormat !== 24) {
- //var hours = sunriseSunsetDateObject.getHours() % 12 || 12;
- if (this.config.showPeriod) {
- if (this.config.showPeriodUpper) {
- //timeString = hours + moment(sunriseSunsetDateObject).format(':mm A');
- timeString = moment(sunriseSunsetDateObject).format("h:mm A");
- } else {
- //timeString = hours + moment(sunriseSunsetDateObject).format(':mm a');
- timeString = moment(sunriseSunsetDateObject).format("h:mm a");
- }
- } else {
- //timeString = hours + moment(sunriseSunsetDateObject).format(':mm');
- timeString = moment(sunriseSunsetDateObject).format("h:mm");
- }
- }
-
- this.sunriseSunsetTime = timeString;
- this.sunriseSunsetIcon = sunrise < now && sunset > now ? "wi-sunset" : "wi-sunrise";
-
- this.show(this.config.animationSpeed, { lockString: this.identifier });
- this.loaded = true;
- this.updateDom(this.config.animationSpeed);
- this.sendNotification("CURRENTWEATHER_DATA", { data: data });
- this.sendNotification("CURRENTWEATHER_TYPE", { type: this.config.iconTable[data.weather[0].icon].replace("-", "_") });
- },
-
- /* scheduleUpdate()
- * Schedule next update.
- *
- * argument delay number - Milliseconds before next update. If empty, this.config.updateInterval is used.
- */
- scheduleUpdate: function (delay) {
- var nextLoad = this.config.updateInterval;
- if (typeof delay !== "undefined" && delay >= 0) {
- nextLoad = delay;
- }
-
- var self = this;
- setTimeout(function () {
- self.updateWeather();
- }, nextLoad);
- },
-
- /* ms2Beaufort(ms)
- * Converts m2 to beaufort (windspeed).
- *
- * see:
- * https://www.spc.noaa.gov/faq/tornado/beaufort.html
- * https://en.wikipedia.org/wiki/Beaufort_scale#Modern_scale
- *
- * argument ms number - Windspeed in m/s.
- *
- * return number - Windspeed in beaufort.
- */
- ms2Beaufort: function (ms) {
- var kmh = (ms * 60 * 60) / 1000;
- var speeds = [1, 5, 11, 19, 28, 38, 49, 61, 74, 88, 102, 117, 1000];
- for (var beaufort in speeds) {
- var speed = speeds[beaufort];
- if (speed > kmh) {
- return beaufort;
- }
- }
- return 12;
- },
-
- deg2Cardinal: function (deg) {
- if (deg > 11.25 && deg <= 33.75) {
- return "NNE";
- } else if (deg > 33.75 && deg <= 56.25) {
- return "NE";
- } else if (deg > 56.25 && deg <= 78.75) {
- return "ENE";
- } else if (deg > 78.75 && deg <= 101.25) {
- return "E";
- } else if (deg > 101.25 && deg <= 123.75) {
- return "ESE";
- } else if (deg > 123.75 && deg <= 146.25) {
- return "SE";
- } else if (deg > 146.25 && deg <= 168.75) {
- return "SSE";
- } else if (deg > 168.75 && deg <= 191.25) {
- return "S";
- } else if (deg > 191.25 && deg <= 213.75) {
- return "SSW";
- } else if (deg > 213.75 && deg <= 236.25) {
- return "SW";
- } else if (deg > 236.25 && deg <= 258.75) {
- return "WSW";
- } else if (deg > 258.75 && deg <= 281.25) {
- return "W";
- } else if (deg > 281.25 && deg <= 303.75) {
- return "WNW";
- } else if (deg > 303.75 && deg <= 326.25) {
- return "NW";
- } else if (deg > 326.25 && deg <= 348.75) {
- return "NNW";
- } else {
- return "N";
- }
- },
-
- /* function(temperature)
- * Rounds a temperature to 1 decimal or integer (depending on config.roundTemp).
- *
- * argument temperature number - Temperature.
- *
- * return string - Rounded Temperature.
- */
- roundValue: function (temperature) {
- var decimals = this.config.roundTemp ? 0 : 1;
- var roundValue = parseFloat(temperature).toFixed(decimals);
- return roundValue === "-0" ? 0 : roundValue;
+ return "deprecated currentweather";
}
});
diff --git a/modules/default/currentweather/node_helper.js b/modules/default/currentweather/node_helper.js
deleted file mode 100644
index d4c7a14c..00000000
--- a/modules/default/currentweather/node_helper.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const NodeHelper = require("node_helper");
-const Log = require("logger");
-
-module.exports = NodeHelper.create({
- // Override start method.
- start: function () {
- Log.warn(`The module '${this.name}' is deprecated in favor of the 'weather'-module, please refer to the documentation for a migration path`);
- }
-});
diff --git a/modules/default/defaultmodules.js b/modules/default/defaultmodules.js
index 46bb5b87..beba69b4 100644
--- a/modules/default/defaultmodules.js
+++ b/modules/default/defaultmodules.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Default Modules List
+/* MagicMirror² Default Modules List
* Modules listed below can be loaded without the 'default/' prefix. Omitting the default folder name.
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/helloworld/README.md b/modules/default/helloworld/README.md
index 5d5d3a17..065d5f98 100644
--- a/modules/default/helloworld/README.md
+++ b/modules/default/helloworld/README.md
@@ -1,5 +1,5 @@
# Module: Hello World
-The `helloworld` module is one of the default modules of the MagicMirror. It is a simple way to display a static text on the mirror.
+The `helloworld` module is one of the default modules of the MagicMirror². It is a simple way to display a static text on the mirror.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/helloworld.html).
diff --git a/modules/default/helloworld/helloworld.js b/modules/default/helloworld/helloworld.js
index 68eb22fc..53357d0f 100644
--- a/modules/default/helloworld/helloworld.js
+++ b/modules/default/helloworld/helloworld.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Module: HelloWorld
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/newsfeed/README.md b/modules/default/newsfeed/README.md
index 484fedba..0671f138 100644
--- a/modules/default/newsfeed/README.md
+++ b/modules/default/newsfeed/README.md
@@ -1,6 +1,6 @@
# Module: News Feed
-The `newsfeed` module is one of the default modules of the MagicMirror.
+The `newsfeed` module is one of the default modules of the MagicMirror².
This module displays news headlines based on an RSS feed. Scrolling through news headlines happens time-based (`updateInterval`), but can also be controlled by sending news feed specific notifications to the module.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/newsfeed.html).
diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js
index 0b781964..67eb63bf 100644
--- a/modules/default/newsfeed/newsfeed.js
+++ b/modules/default/newsfeed/newsfeed.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Module: NewsFeed
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -20,6 +20,7 @@ Module.register("newsfeed", {
broadcastNewsFeeds: true,
broadcastNewsUpdates: true,
showDescription: false,
+ showTitleAsUrl: false,
wrapTitle: true,
wrapDescription: true,
truncDescription: true,
@@ -141,6 +142,7 @@ Module.register("newsfeed", {
sourceTitle: item.sourceTitle,
publishDate: moment(new Date(item.pubdate)).fromNow(),
title: item.title,
+ url: item.url,
description: item.description,
items: items
};
diff --git a/modules/default/newsfeed/newsfeed.njk b/modules/default/newsfeed/newsfeed.njk
index 04f0ec79..9e7e9d78 100644
--- a/modules/default/newsfeed/newsfeed.njk
+++ b/modules/default/newsfeed/newsfeed.njk
@@ -6,6 +6,22 @@
{% endif %}
{% endmacro %}
+{% macro escapeTitle(title, url, dangerouslyDisableAutoEscaping=false, showTitleAsUrl=false) %}
+ {% if dangerouslyDisableAutoEscaping %}
+ {% if showTitleAsUrl %}
+ {{ title | safe }}
+ {% else %}
+ {{ title | safe}}
+ {% endif %}
+ {% else %}
+ {% if showTitleAsUrl %}
+ {{ title }}
+ {% else %}
+ {{ title }}
+ {% endif %}
+ {% endif %}
+{% endmacro %}
+
{% if loaded %}
{% if config.showAsList %}
@@ -22,7 +38,7 @@
{% endif %}
- {{ escapeText(item.title, config.dangerouslyDisableAutoEscaping) }}
+ {{ escapeTitle(item.title, item.url, config.dangerouslyDisableAutoEscaping, config.showTitleAsUrl) }}
{% if config.showDescription %}
@@ -49,7 +65,7 @@
{% endif %}
- {{ escapeText(title, config.dangerouslyDisableAutoEscaping) }}
+ {{ escapeTitle(title, url, config.dangerouslyDisableAutoEscaping, config.showTitleAsUrl) }}
{% if config.showDescription %}
diff --git a/modules/default/newsfeed/newsfeedfetcher.js b/modules/default/newsfeed/newsfeedfetcher.js
index 78bb1ab7..dc69e4ce 100644
--- a/modules/default/newsfeed/newsfeedfetcher.js
+++ b/modules/default/newsfeed/newsfeedfetcher.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Node Helper: Newsfeed - NewsfeedFetcher
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/newsfeed/node_helper.js b/modules/default/newsfeed/node_helper.js
index 32656a9f..e8816b83 100644
--- a/modules/default/newsfeed/node_helper.js
+++ b/modules/default/newsfeed/node_helper.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Node Helper: Newsfeed
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/updatenotification/README.md b/modules/default/updatenotification/README.md
index 0ab6886a..d7003765 100644
--- a/modules/default/updatenotification/README.md
+++ b/modules/default/updatenotification/README.md
@@ -1,6 +1,6 @@
# Module: Update Notification
-The `updatenotification` module is one of the default modules of the MagicMirror.
-This will display a message whenever a new version of the MagicMirror application is available.
+The `updatenotification` module is one of the default modules of the MagicMirror².
+This will display a message whenever a new version of the MagicMirror² application is available.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/updatenotification.html).
diff --git a/modules/default/updatenotification/updatenotification.js b/modules/default/updatenotification/updatenotification.js
index 8c3bb6af..7b4945c9 100644
--- a/modules/default/updatenotification/updatenotification.js
+++ b/modules/default/updatenotification/updatenotification.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Module: UpdateNotification
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/updatenotification/updatenotification.njk b/modules/default/updatenotification/updatenotification.njk
index aa4a5250..3149816f 100644
--- a/modules/default/updatenotification/updatenotification.njk
+++ b/modules/default/updatenotification/updatenotification.njk
@@ -1,7 +1,7 @@
{% if not suspended %}
{% for name, status in moduleList %}
-
+
{% set mainTextLabel = "UPDATE_NOTIFICATION" if name === "default" else "UPDATE_NOTIFICATION_MODULE" %}
{{ mainTextLabel | translate({MODULE_NAME: name}) }}
diff --git a/modules/default/weather/current.njk b/modules/default/weather/current.njk
index 40746e82..bfeb0b8f 100755
--- a/modules/default/weather/current.njk
+++ b/modules/default/weather/current.njk
@@ -15,7 +15,7 @@
{% if config.showWindDirection %}
{% if config.showWindDirectionAsArrow %}
-
+
{% else %}
{{ current.cardinalWindDirection() | translate }}
{% endif %}
@@ -47,7 +47,7 @@
{% if config.showIndoorTemperature and indoor.temperature %}
-
+
{{ indoor.temperature | roundValue | unit("temperature") | decimalSymbol }}
@@ -55,7 +55,7 @@
{% endif %}
{% if config.showIndoorHumidity and indoor.humidity %}
-
+
{{ indoor.humidity | roundValue | unit("humidity") | decimalSymbol }}
diff --git a/modules/default/weather/forecast.njk b/modules/default/weather/forecast.njk
index 32a2e4a6..2bac7eae 100644
--- a/modules/default/weather/forecast.njk
+++ b/modules/default/weather/forecast.njk
@@ -8,9 +8,9 @@
{% set forecast = forecast.slice(0, numSteps) %}
{% for f in forecast %}
- {% if (currentStep == 0) and config.ignoreToday == false %}
+ {% if (currentStep == 0) and config.ignoreToday == false and config.absoluteDates == false %}
{{ "TODAY" | translate }} |
- {% elif (currentStep == 1) and config.ignoreToday == false %}
+ {% elif (currentStep == 1) and config.ignoreToday == false and config.absoluteDates == false %}
{{ "TOMORROW" | translate }} |
{% else %}
{{ f.date.format('ddd') }} |
diff --git a/modules/default/weather/providers/darksky.js b/modules/default/weather/providers/darksky.js
index 451ac98b..a248bc54 100755
--- a/modules/default/weather/providers/darksky.js
+++ b/modules/default/weather/providers/darksky.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
* Provider: Dark Sky
*
@@ -18,7 +18,8 @@ WeatherProvider.register("darksky", {
// Set the default config properties that is specific to this provider
defaults: {
- apiBase: "https://cors-anywhere.herokuapp.com/https://api.darksky.net",
+ useCorsProxy: true,
+ apiBase: "https://api.darksky.net",
weatherEndpoint: "/forecast",
apiKey: "",
lat: 0,
diff --git a/modules/default/weather/providers/envcanada.js b/modules/default/weather/providers/envcanada.js
index 868ee6e2..589cec6e 100644
--- a/modules/default/weather/providers/envcanada.js
+++ b/modules/default/weather/providers/envcanada.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
* Provider: Environment Canada (EC)
*
@@ -40,6 +40,7 @@ WeatherProvider.register("envcanada", {
// Set the default config properties that is specific to this provider
defaults: {
+ useCorsProxy: true,
siteCode: "s1234567",
provCode: "ON"
},
@@ -73,7 +74,7 @@ WeatherProvider.register("envcanada", {
// Override the fetchCurrentWeather method to query EC and construct a Current weather object
//
fetchCurrentWeather() {
- this.fetchData(this.getUrl(), "GET")
+ this.fetchData(this.getUrl(), "GET", "xml")
.then((data) => {
if (!data) {
// Did not receive usable new data.
@@ -93,7 +94,7 @@ WeatherProvider.register("envcanada", {
// Override the fetchWeatherForecast method to query EC and construct Forecast weather objects
//
fetchWeatherForecast() {
- this.fetchData(this.getUrl(), "GET")
+ this.fetchData(this.getUrl(), "GET", "xml")
.then((data) => {
if (!data) {
// Did not receive usable new data.
@@ -113,7 +114,7 @@ WeatherProvider.register("envcanada", {
// Override the fetchWeatherHourly method to query EC and construct Forecast weather objects
//
fetchWeatherHourly() {
- this.fetchData(this.getUrl(), "GET")
+ this.fetchData(this.getUrl(), "GET", "xml")
.then((data) => {
if (!data) {
// Did not receive usable new data.
@@ -129,26 +130,6 @@ WeatherProvider.register("envcanada", {
.finally(() => this.updateAvailable());
},
- //
- // Override fetchData function to handle XML document (base function assumes JSON)
- //
- fetchData: function (url, method = "GET", data = null) {
- return new Promise(function (resolve, reject) {
- const request = new XMLHttpRequest();
- request.open(method, url, true);
- request.onreadystatechange = function () {
- if (this.readyState === 4) {
- if (this.status === 200) {
- resolve(this.responseXML);
- } else {
- reject(request);
- }
- }
- };
- request.send();
- });
- },
-
//////////////////////////////////////////////////////////////////////////////////
//
// Environment Canada methods - not part of the standard Provider methods
@@ -160,11 +141,8 @@ WeatherProvider.register("envcanada", {
// URL defaults to the Englsih version simply because there is no language dependancy in the data
// being accessed. This is only pertinent when using the EC data elements that contain a textual forecast.
//
- // Also note that access is supported through a proxy service (thingproxy.freeboard.io) to mitigate
- // CORS errors when accessing EC
- //
getUrl() {
- return "https://thingproxy.freeboard.io/fetch/https://dd.weather.gc.ca/citypage_weather/xml/" + this.config.provCode + "/" + this.config.siteCode + "_e.xml";
+ return "https://dd.weather.gc.ca/citypage_weather/xml/" + this.config.provCode + "/" + this.config.siteCode + "_e.xml";
},
//
diff --git a/modules/default/weather/providers/openweathermap.js b/modules/default/weather/providers/openweathermap.js
index c1258d3c..b0f5eedf 100755
--- a/modules/default/weather/providers/openweathermap.js
+++ b/modules/default/weather/providers/openweathermap.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -128,12 +128,7 @@ WeatherProvider.register("openweathermap", {
currentWeather.humidity = currentWeatherData.main.humidity;
currentWeather.temperature = currentWeatherData.main.temp;
currentWeather.feelsLikeTemp = currentWeatherData.main.feels_like;
-
- if (this.config.windUnits === "metric") {
- currentWeather.windSpeed = this.config.useKmh ? currentWeatherData.wind.speed * 3.6 : currentWeatherData.wind.speed;
- } else {
- currentWeather.windSpeed = currentWeatherData.wind.speed;
- }
+ currentWeather.windSpeed = currentWeatherData.wind.speed;
currentWeather.windDirection = currentWeatherData.wind.deg;
currentWeather.weatherType = this.convertWeatherType(currentWeatherData.weather[0].icon);
currentWeather.sunrise = moment(currentWeatherData.sys.sunrise, "X");
diff --git a/modules/default/weather/providers/smhi.js b/modules/default/weather/providers/smhi.js
index 603aa814..dea1f1b2 100644
--- a/modules/default/weather/providers/smhi.js
+++ b/modules/default/weather/providers/smhi.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
* Provider: SMHI
*
@@ -237,7 +237,7 @@ WeatherProvider.register("smhi", {
},
/**
- * Map the icon value from SMHI to an icon that MagicMirror understands.
+ * Map the icon value from SMHI to an icon that MagicMirror² understands.
* Uses different icons depending if its daytime or nighttime.
* SMHI's description of what the numeric value means is the comment after the case.
*
diff --git a/modules/default/weather/providers/ukmetoffice.js b/modules/default/weather/providers/ukmetoffice.js
index 158592bd..23ec29bf 100755
--- a/modules/default/weather/providers/ukmetoffice.js
+++ b/modules/default/weather/providers/ukmetoffice.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
*
* By Malcolm Oakes https://github.com/maloakes
diff --git a/modules/default/weather/providers/ukmetofficedatahub.js b/modules/default/weather/providers/ukmetofficedatahub.js
index bab1220d..216f6619 100644
--- a/modules/default/weather/providers/ukmetofficedatahub.js
+++ b/modules/default/weather/providers/ukmetofficedatahub.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
*
* By Malcolm Oakes https://github.com/maloakes
diff --git a/modules/default/weather/providers/weatherbit.js b/modules/default/weather/providers/weatherbit.js
index 17f27812..06a3f503 100644
--- a/modules/default/weather/providers/weatherbit.js
+++ b/modules/default/weather/providers/weatherbit.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
* Provider: Weatherbit
*
diff --git a/modules/default/weather/providers/weatherflow.js b/modules/default/weather/providers/weatherflow.js
new file mode 100644
index 00000000..dc3dc19c
--- /dev/null
+++ b/modules/default/weather/providers/weatherflow.js
@@ -0,0 +1,109 @@
+/* global WeatherProvider, WeatherObject */
+
+/* MagicMirror²
+ * Module: Weather
+ * Provider: Weatherflow
+ *
+ * By Tobias Dreyem https://github.com/10bias
+ * MIT Licensed
+ *
+ * This class is a provider for Weatherflow.
+ * Note that the Weatherflow API does not provide snowfall.
+ */
+
+WeatherProvider.register("weatherflow", {
+ // Set the name of the provider.
+ // Not strictly required, but helps for debugging
+ providerName: "WeatherFlow",
+
+ // Set the default config properties that is specific to this provider
+ defaults: {
+ apiBase: "https://swd.weatherflow.com/swd/rest/",
+ token: "",
+ stationid: ""
+ },
+
+ units: {
+ imperial: {
+ temp: "f",
+ wind: "mph",
+ pressure: "hpa",
+ precip: "in",
+ distance: "mi"
+ },
+ metric: {
+ temp: "c",
+ wind: "kph",
+ pressure: "mb",
+ precip: "mm",
+ distance: "km"
+ }
+ },
+
+ fetchCurrentWeather() {
+ this.fetchData(this.getUrl())
+ .then((data) => {
+ const currentWeather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits, this.config.useKmh);
+ currentWeather.date = moment();
+
+ currentWeather.humidity = data.current_conditions.relative_humidity;
+ currentWeather.temperature = data.current_conditions.air_temperature;
+ currentWeather.windSpeed = data.current_conditions.wind_avg;
+ currentWeather.windDirection = data.current_conditions.wind_direction;
+ currentWeather.weatherType = data.forecast.daily[0].icon;
+ currentWeather.sunrise = moment(data.forecast.daily[0].sunrise, "X");
+ currentWeather.sunset = moment(data.forecast.daily[0].sunset, "X");
+ this.setCurrentWeather(currentWeather);
+ })
+ .catch(function (request) {
+ Log.error("Could not load data ... ", request);
+ })
+ .finally(() => this.updateAvailable());
+ },
+
+ fetchWeatherForecast() {
+ this.fetchData(this.getUrl())
+ .then((data) => {
+ const days = [];
+
+ for (const forecast of data.forecast.daily) {
+ const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits, this.config.useKmh);
+
+ weather.date = moment(forecast.day_start_local, "X");
+ weather.minTemperature = forecast.air_temp_low;
+ weather.maxTemperature = forecast.air_temp_high;
+ weather.weatherType = forecast.icon;
+ weather.snow = 0;
+
+ days.push(weather);
+ }
+
+ this.setWeatherForecast(days);
+ })
+ .catch(function (request) {
+ Log.error("Could not load data ... ", request);
+ })
+ .finally(() => this.updateAvailable());
+ },
+
+ // Create a URL from the config and base URL.
+ getUrl() {
+ return (
+ this.config.apiBase +
+ "better_forecast?station_id=" +
+ this.config.stationid +
+ "&units_temp=" +
+ this.units[this.config.units].temp +
+ "&units_wind=" +
+ this.units[this.config.units].wind +
+ "&units_pressure=" +
+ this.units[this.config.units].pressure +
+ "&units_precip=" +
+ this.units[this.config.units].precip +
+ "&units_distance=" +
+ this.units[this.config.units].distance +
+ "&token=" +
+ this.config.token
+ );
+ }
+});
diff --git a/modules/default/weather/providers/weathergov.js b/modules/default/weather/providers/weathergov.js
index 31934784..82059924 100755
--- a/modules/default/weather/providers/weathergov.js
+++ b/modules/default/weather/providers/weathergov.js
@@ -1,6 +1,6 @@
/* global WeatherProvider, WeatherObject */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
* Provider: weather.gov
* https://weather-gov.github.io/api/general-faqs
@@ -40,7 +40,8 @@ WeatherProvider.register("weathergov", {
// Called to set the config, this config is the same as the weather module's config.
setConfig: function (config) {
this.config = config;
- (this.config.apiBase = "https://api.weather.gov"), this.fetchWxGovURLs(this.config);
+ this.config.apiBase = "https://api.weather.gov";
+ this.fetchWxGovURLs(this.config);
},
// Called when the weather provider is about to start.
@@ -156,8 +157,13 @@ WeatherProvider.register("weathergov", {
currentWeather.rain = null;
currentWeather.snow = null;
currentWeather.precipitation = this.convertLength(currentWeatherData.precipitationLastHour.value);
- currentWeather.feelsLikeTemp = this.convertTemp(currentWeatherData.heatIndex.value);
-
+ if (currentWeatherData.heatIndex.value !== null) {
+ currentWeather.feelsLikeTemp = this.convertTemp(currentWeatherData.heatIndex.value);
+ } else if (currentWeatherData.windChill.value !== null) {
+ currentWeather.feelsLikeTemp = this.convertTemp(currentWeatherData.windChill.value);
+ } else {
+ currentWeather.feelsLikeTemp = this.convertTemp(currentWeatherData.temperature.value);
+ }
// determine the sunrise/sunset times - not supplied in weather.gov data
currentWeather.updateSunTime(this.config.lat, this.config.lon);
diff --git a/modules/default/weather/weather.js b/modules/default/weather/weather.js
index 62182211..350c4f2d 100644
--- a/modules/default/weather/weather.js
+++ b/modules/default/weather/weather.js
@@ -1,6 +1,6 @@
/* global WeatherProvider */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -43,7 +43,8 @@ Module.register("weather", {
onlyTemp: false,
showPrecipitationAmount: false,
colored: false,
- showFeelsLike: true
+ showFeelsLike: true,
+ absoluteDates: false
},
// Module properties.
diff --git a/modules/default/weather/weatherobject.js b/modules/default/weather/weatherobject.js
index 4501f681..e9359345 100755
--- a/modules/default/weather/weatherobject.js
+++ b/modules/default/weather/weatherobject.js
@@ -1,6 +1,6 @@
/* global SunCalc */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/modules/default/weather/weatherprovider.js b/modules/default/weather/weatherprovider.js
index 5721dad6..d24623b8 100644
--- a/modules/default/weather/weatherprovider.js
+++ b/modules/default/weather/weatherprovider.js
@@ -1,6 +1,6 @@
/* global Class */
-/* Magic Mirror
+/* MagicMirror²
* Module: Weather
*
* By Michael Teeuw https://michaelteeuw.nl
@@ -111,8 +111,17 @@ const WeatherProvider = Class.extend({
this.delegate.updateAvailable(this);
},
+ getCorsUrl: function () {
+ if (this.config.mockData || typeof this.config.useCorsProxy === "undefined" || !this.config.useCorsProxy) {
+ return "";
+ } else {
+ return location.protocol + "//" + location.host + "/cors?url=";
+ }
+ },
+
// A convenience function to make requests. It returns a promise.
- fetchData: function (url, method = "GET", data = null) {
+ fetchData: function (url, method = "GET", type = "json") {
+ url = this.getCorsUrl() + url;
const getData = function (mockData) {
return new Promise(function (resolve, reject) {
if (mockData) {
@@ -125,7 +134,11 @@ const WeatherProvider = Class.extend({
request.onreadystatechange = function () {
if (this.readyState === 4) {
if (this.status === 200) {
- resolve(JSON.parse(this.response));
+ if (type === "xml") {
+ resolve(this.responseXML);
+ } else {
+ resolve(JSON.parse(this.response));
+ }
} else {
reject(request);
}
diff --git a/modules/default/weatherforecast/README.md b/modules/default/weatherforecast/README.md
deleted file mode 100644
index 2f55e703..00000000
--- a/modules/default/weatherforecast/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Module: Weather Forecast
-
-> :warning: **This module is deprecated in favor of the [weather](https://docs.magicmirror.builders/modules/weather.html) module.**
-
-The `weatherforecast` module is one of the default modules of the MagicMirror.
-This module displays the weather forecast for the coming week, including an an icon to display the current conditions, the minimum temperature and the maximum temperature.
-
-For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/weatherforecast.html).
diff --git a/modules/default/weatherforecast/node_helper.js b/modules/default/weatherforecast/node_helper.js
deleted file mode 100644
index d4c7a14c..00000000
--- a/modules/default/weatherforecast/node_helper.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const NodeHelper = require("node_helper");
-const Log = require("logger");
-
-module.exports = NodeHelper.create({
- // Override start method.
- start: function () {
- Log.warn(`The module '${this.name}' is deprecated in favor of the 'weather'-module, please refer to the documentation for a migration path`);
- }
-});
diff --git a/modules/default/weatherforecast/weatherforecast.css b/modules/default/weatherforecast/weatherforecast.css
deleted file mode 100644
index 8c419cee..00000000
--- a/modules/default/weatherforecast/weatherforecast.css
+++ /dev/null
@@ -1,27 +0,0 @@
-.weatherforecast .day {
- padding-left: 0;
- padding-right: 25px;
-}
-
-.weatherforecast .weather-icon {
- padding-right: 30px;
- text-align: center;
-}
-
-.weatherforecast .min-temp {
- padding-left: 20px;
- padding-right: 0;
-}
-
-.weatherforecast .rain {
- padding-left: 20px;
- padding-right: 0;
-}
-
-.weatherforecast tr.colored .min-temp {
- color: #bcddff;
-}
-
-.weatherforecast tr.colored .max-temp {
- color: #ff8e99;
-}
diff --git a/modules/default/weatherforecast/weatherforecast.js b/modules/default/weatherforecast/weatherforecast.js
index 50c1f3a7..c94fabf7 100644
--- a/modules/default/weatherforecast/weatherforecast.js
+++ b/modules/default/weatherforecast/weatherforecast.js
@@ -1,7 +1,7 @@
/* eslint-disable */
-/* Magic Mirror
- * Module: WeatherForecast
+/* MagicMirror²
+ * Module: CurrentWeather
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
@@ -9,510 +9,25 @@
* This module is deprecated. Any additional feature will no longer be merged.
*/
Module.register("weatherforecast", {
- // Default module config.
- defaults: {
- location: false,
- locationID: false,
- lat: false,
- lon: false,
- appid: "",
- units: config.units,
- maxNumberOfDays: 7,
- showRainAmount: false,
- updateInterval: 10 * 60 * 1000, // every 10 minutes
- animationSpeed: 1000,
- timeFormat: config.timeFormat,
- lang: config.language,
- decimalSymbol: ".",
- fade: true,
- fadePoint: 0.25, // Start on 1/4th of the list.
- colored: false,
- scale: false,
-
- initialLoadDelay: 2500, // 2.5 seconds delay. This delay is used to keep the OpenWeather API happy.
- retryDelay: 2500,
-
- apiVersion: "2.5",
- apiBase: "https://api.openweathermap.org/data/",
- forecastEndpoint: "forecast/daily",
- excludes: false,
-
- appendLocationNameToHeader: true,
- calendarClass: "calendar",
- tableClass: "small",
-
- roundTemp: false,
-
- iconTable: {
- "01d": "wi-day-sunny",
- "02d": "wi-day-cloudy",
- "03d": "wi-cloudy",
- "04d": "wi-cloudy-windy",
- "09d": "wi-showers",
- "10d": "wi-rain",
- "11d": "wi-thunderstorm",
- "13d": "wi-snow",
- "50d": "wi-fog",
- "01n": "wi-night-clear",
- "02n": "wi-night-cloudy",
- "03n": "wi-night-cloudy",
- "04n": "wi-night-cloudy",
- "09n": "wi-night-showers",
- "10n": "wi-night-rain",
- "11n": "wi-night-thunderstorm",
- "13n": "wi-night-snow",
- "50n": "wi-night-alt-cloudy-windy"
- }
- },
-
- // create a variable for the first upcoming calendar event. Used if no location is specified.
- firstEvent: false,
-
- // create a variable to hold the location name based on the API result.
- fetchedLocationName: "",
-
- // Define required scripts.
- getScripts: function () {
- return ["moment.js"];
- },
-
- // Define required scripts.
- getStyles: function () {
- return ["weather-icons.css", "weatherforecast.css"];
- },
-
- // Define required translations.
- getTranslations: function () {
- // The translations for the default modules are defined in the core translation files.
- // Therefor we can just return false. Otherwise we should have returned a dictionary.
- // If you're trying to build your own module including translations, check out the documentation.
- return false;
- },
-
// Define start sequence.
start: function () {
Log.info("Starting module: " + this.name);
-
- // Set locale.
- moment.locale(config.language);
-
- this.forecast = [];
- this.loaded = false;
- this.scheduleUpdate(this.config.initialLoadDelay);
-
- this.updateTimer = null;
},
// Override dom generator.
getDom: function () {
var wrapper = document.createElement("div");
-
- if (this.config.appid === "" || this.config.appid === "YOUR_OPENWEATHER_API_KEY") {
- wrapper.innerHTML = "Please set the correct openweather appid in the config for module: " + this.name + ".";
- wrapper.className = "dimmed light small";
- return wrapper;
- }
-
- if (!this.loaded) {
- wrapper.innerHTML = this.translate("LOADING");
- wrapper.className = "dimmed light small";
- return wrapper;
- }
-
- var table = document.createElement("table");
- table.className = this.config.tableClass;
-
- for (var f in this.forecast) {
- var forecast = this.forecast[f];
-
- var row = document.createElement("tr");
- if (this.config.colored) {
- row.className = "colored";
- }
- table.appendChild(row);
-
- var dayCell = document.createElement("td");
- dayCell.className = "day";
- dayCell.innerHTML = forecast.day;
- row.appendChild(dayCell);
-
- var iconCell = document.createElement("td");
- iconCell.className = "bright weather-icon";
- row.appendChild(iconCell);
-
- var icon = document.createElement("span");
- icon.className = "wi weathericon " + forecast.icon;
- iconCell.appendChild(icon);
-
- var degreeLabel = "";
- if (this.config.units === "metric" || this.config.units === "imperial") {
- degreeLabel += "°";
- }
- if (this.config.scale) {
- switch (this.config.units) {
- case "metric":
- degreeLabel += "C";
- break;
- case "imperial":
- degreeLabel += "F";
- break;
- case "default":
- degreeLabel = "K";
- break;
- }
- }
-
- if (this.config.decimalSymbol === "" || this.config.decimalSymbol === " ") {
- this.config.decimalSymbol = ".";
- }
-
- var maxTempCell = document.createElement("td");
- maxTempCell.innerHTML = forecast.maxTemp.replace(".", this.config.decimalSymbol) + degreeLabel;
- maxTempCell.className = "align-right bright max-temp";
- row.appendChild(maxTempCell);
-
- var minTempCell = document.createElement("td");
- minTempCell.innerHTML = forecast.minTemp.replace(".", this.config.decimalSymbol) + degreeLabel;
- minTempCell.className = "align-right min-temp";
- row.appendChild(minTempCell);
-
- if (this.config.showRainAmount) {
- var rainCell = document.createElement("td");
- if (isNaN(forecast.rain)) {
- rainCell.innerHTML = "";
- } else {
- if (config.units !== "imperial") {
- rainCell.innerHTML = parseFloat(forecast.rain).toFixed(1).replace(".", this.config.decimalSymbol) + " mm";
- } else {
- rainCell.innerHTML = (parseFloat(forecast.rain) / 25.4).toFixed(2).replace(".", this.config.decimalSymbol) + " in";
- }
- }
- rainCell.className = "align-right bright rain";
- row.appendChild(rainCell);
- }
-
- if (this.config.fade && this.config.fadePoint < 1) {
- if (this.config.fadePoint < 0) {
- this.config.fadePoint = 0;
- }
- var startingPoint = this.forecast.length * this.config.fadePoint;
- var steps = this.forecast.length - startingPoint;
- if (f >= startingPoint) {
- var currentStep = f - startingPoint;
- row.style.opacity = 1 - (1 / steps) * currentStep;
- }
- }
- }
-
- return table;
+ wrapper.className = this.config.tableClass;
+ wrapper.innerHTML =
+ "" +
+ "This module is deprecated since release v2.15 and removed with v2.19." +
+ '
Please use the `weather` module as replacement, more info in the documentation.';
+ wrapper.className = "dimmed light small";
+ return wrapper;
},
// Override getHeader method.
getHeader: function () {
- if (this.config.appendLocationNameToHeader) {
- if (this.data.header) return this.data.header + " " + this.fetchedLocationName;
- else return this.fetchedLocationName;
- }
-
- return this.data.header ? this.data.header : "";
- },
-
- // Override notification handler.
- notificationReceived: function (notification, payload, sender) {
- if (notification === "DOM_OBJECTS_CREATED") {
- if (this.config.appendLocationNameToHeader) {
- this.hide(0, { lockString: this.identifier });
- }
- }
- if (notification === "CALENDAR_EVENTS") {
- var senderClasses = sender.data.classes.toLowerCase().split(" ");
- if (senderClasses.indexOf(this.config.calendarClass.toLowerCase()) !== -1) {
- this.firstEvent = false;
-
- for (var e in payload) {
- var event = payload[e];
- if (event.location || event.geo) {
- this.firstEvent = event;
- //Log.log("First upcoming event with location: ", event);
- break;
- }
- }
- }
- }
- },
-
- /* updateWeather(compliments)
- * Requests new data from openweather.org.
- * Calls processWeather on successful response.
- */
- updateWeather: function () {
- if (this.config.appid === "") {
- Log.error("WeatherForecast: APPID not set!");
- return;
- }
-
- var url = this.config.apiBase + this.config.apiVersion + "/" + this.config.forecastEndpoint + this.getParams();
- var self = this;
- var retry = true;
-
- var weatherRequest = new XMLHttpRequest();
- weatherRequest.open("GET", url, true);
- weatherRequest.onreadystatechange = function () {
- if (this.readyState === 4) {
- if (this.status === 200) {
- self.processWeather(JSON.parse(this.response));
- } else if (this.status === 401) {
- self.updateDom(self.config.animationSpeed);
-
- if (self.config.forecastEndpoint === "forecast/daily") {
- self.config.forecastEndpoint = "forecast";
- Log.warn(self.name + ": Your AppID does not support long term forecasts. Switching to fallback endpoint.");
- }
-
- retry = true;
- } else {
- Log.error(self.name + ": Could not load weather.");
- }
-
- if (retry) {
- self.scheduleUpdate(self.loaded ? -1 : self.config.retryDelay);
- }
- }
- };
- weatherRequest.send();
- },
-
- /* getParams(compliments)
- * Generates an url with api parameters based on the config.
- *
- * return String - URL params.
- */
- getParams: function () {
- var params = "?";
- if (this.config.locationID) {
- params += "id=" + this.config.locationID;
- } else if (this.config.lat && this.config.lon) {
- params += "lat=" + this.config.lat + "&lon=" + this.config.lon;
- } else if (this.config.location) {
- params += "q=" + this.config.location;
- } else if (this.firstEvent && this.firstEvent.geo) {
- params += "lat=" + this.firstEvent.geo.lat + "&lon=" + this.firstEvent.geo.lon;
- } else if (this.firstEvent && this.firstEvent.location) {
- params += "q=" + this.firstEvent.location;
- } else {
- this.hide(this.config.animationSpeed, { lockString: this.identifier });
- return;
- }
-
- let numberOfDays;
- if (this.config.forecastEndpoint === "forecast") {
- numberOfDays = this.config.maxNumberOfDays < 1 || this.config.maxNumberOfDays > 5 ? 5 : this.config.maxNumberOfDays;
- // don't get forecasts for the next day, as it would not represent the whole day
- numberOfDays = numberOfDays * 8 - (Math.round(new Date().getHours() / 3) % 8);
- } else {
- numberOfDays = this.config.maxNumberOfDays < 1 || this.config.maxNumberOfDays > 17 ? 7 : this.config.maxNumberOfDays;
- }
- params += "&cnt=" + numberOfDays;
-
- params += "&exclude=" + this.config.excludes;
- params += "&units=" + this.config.units;
- params += "&lang=" + this.config.lang;
- params += "&APPID=" + this.config.appid;
-
- return params;
- },
-
- /*
- * parserDataWeather(data)
- *
- * Use the parse to keep the same struct between daily and forecast Endpoint
- * from openweather.org
- *
- */
- parserDataWeather: function (data) {
- if (data.hasOwnProperty("main")) {
- data["temp"] = { min: data.main.temp_min, max: data.main.temp_max };
- }
- return data;
- },
-
- /* processWeather(data)
- * Uses the received data to set the various values.
- *
- * argument data object - Weather information received form openweather.org.
- */
- processWeather: function (data, momenttz) {
- let mom = momenttz ? momenttz : moment; // Exception last.
-
- // Forcast16 (paid) API endpoint provides this data. Onecall endpoint
- // does not.
- if (data.city) {
- this.fetchedLocationName = data.city.name + ", " + data.city.country;
- } else if (this.config.location) {
- this.fetchedLocationName = this.config.location;
- } else {
- this.fetchedLocationName = "Unknown";
- }
-
- this.forecast = [];
- var lastDay = null;
- var forecastData = {};
- var dayStarts = 8;
- var dayEnds = 17;
-
- if (data.city && data.city.sunrise && data.city.sunset) {
- dayStarts = new Date(mom.unix(data.city.sunrise).locale("en").format("YYYY/MM/DD HH:mm:ss")).getHours();
- dayEnds = new Date(mom.unix(data.city.sunset).locale("en").format("YYYY/MM/DD HH:mm:ss")).getHours();
- }
-
- // Handle different structs between forecast16 and onecall endpoints
- var forecastList = null;
- if (data.list) {
- forecastList = data.list;
- } else if (data.daily) {
- forecastList = data.daily;
- } else {
- Log.error("Unexpected forecast data");
- return undefined;
- }
-
- for (var i = 0, count = forecastList.length; i < count; i++) {
- var forecast = forecastList[i];
- forecast = this.parserDataWeather(forecast); // hack issue #1017
-
- var day;
- var hour;
- if (forecast.dt_txt) {
- day = mom(forecast.dt_txt, "YYYY-MM-DD hh:mm:ss").format("ddd");
- hour = new Date(mom(forecast.dt_txt).locale("en").format("YYYY-MM-DD HH:mm:ss")).getHours();
- } else {
- day = mom(forecast.dt, "X").format("ddd");
- hour = new Date(mom(forecast.dt, "X")).getHours();
- }
-
- if (day !== lastDay) {
- forecastData = {
- day: day,
- icon: this.config.iconTable[forecast.weather[0].icon],
- maxTemp: this.roundValue(forecast.temp.max),
- minTemp: this.roundValue(forecast.temp.min),
- rain: this.processRain(forecast, forecastList, mom)
- };
- this.forecast.push(forecastData);
- lastDay = day;
-
- // Stop processing when maxNumberOfDays is reached
- if (this.forecast.length === this.config.maxNumberOfDays) {
- break;
- }
- } else {
- //Log.log("Compare max: ", forecast.temp.max, parseFloat(forecastData.maxTemp));
- forecastData.maxTemp = forecast.temp.max > parseFloat(forecastData.maxTemp) ? this.roundValue(forecast.temp.max) : forecastData.maxTemp;
- //Log.log("Compare min: ", forecast.temp.min, parseFloat(forecastData.minTemp));
- forecastData.minTemp = forecast.temp.min < parseFloat(forecastData.minTemp) ? this.roundValue(forecast.temp.min) : forecastData.minTemp;
-
- // Since we don't want an icon from the start of the day (in the middle of the night)
- // we update the icon as long as it's somewhere during the day.
- if (hour > dayStarts && hour < dayEnds) {
- forecastData.icon = this.config.iconTable[forecast.weather[0].icon];
- }
- }
- }
-
- //Log.log(this.forecast);
- this.show(this.config.animationSpeed, { lockString: this.identifier });
- this.loaded = true;
- this.updateDom(this.config.animationSpeed);
- },
-
- /* scheduleUpdate()
- * Schedule next update.
- *
- * argument delay number - Milliseconds before next update. If empty, this.config.updateInterval is used.
- */
- scheduleUpdate: function (delay) {
- var nextLoad = this.config.updateInterval;
- if (typeof delay !== "undefined" && delay >= 0) {
- nextLoad = delay;
- }
-
- var self = this;
- clearTimeout(this.updateTimer);
- this.updateTimer = setTimeout(function () {
- self.updateWeather();
- }, nextLoad);
- },
-
- /* ms2Beaufort(ms)
- * Converts m2 to beaufort (windspeed).
- *
- * see:
- * https://www.spc.noaa.gov/faq/tornado/beaufort.html
- * https://en.wikipedia.org/wiki/Beaufort_scale#Modern_scale
- *
- * argument ms number - Windspeed in m/s.
- *
- * return number - Windspeed in beaufort.
- */
- ms2Beaufort: function (ms) {
- var kmh = (ms * 60 * 60) / 1000;
- var speeds = [1, 5, 11, 19, 28, 38, 49, 61, 74, 88, 102, 117, 1000];
- for (var beaufort in speeds) {
- var speed = speeds[beaufort];
- if (speed > kmh) {
- return beaufort;
- }
- }
- return 12;
- },
-
- /* function(temperature)
- * Rounds a temperature to 1 decimal or integer (depending on config.roundTemp).
- *
- * argument temperature number - Temperature.
- *
- * return string - Rounded Temperature.
- */
- roundValue: function (temperature) {
- var decimals = this.config.roundTemp ? 0 : 1;
- var roundValue = parseFloat(temperature).toFixed(decimals);
- return roundValue === "-0" ? 0 : roundValue;
- },
-
- /* processRain(forecast, allForecasts)
- * Calculates the amount of rain for a whole day even if long term forecasts isn't available for the appid.
- *
- * When using the the fallback endpoint forecasts are provided in 3h intervals and the rain-property is an object instead of number.
- * That object has a property "3h" which contains the amount of rain since the previous forecast in the list.
- * This code finds all forecasts that is for the same day and sums the amount of rain and returns that.
- */
- processRain: function (forecast, allForecasts, momenttz) {
- let mom = momenttz ? momenttz : moment; // Exception last.
-
- //If the amount of rain actually is a number, return it
- if (!isNaN(forecast.rain)) {
- return forecast.rain;
- }
-
- //Find all forecasts that is for the same day
- var checkDateTime = forecast.dt_txt ? mom(forecast.dt_txt, "YYYY-MM-DD hh:mm:ss") : mom(forecast.dt, "X");
- var daysForecasts = allForecasts.filter(function (item) {
- var itemDateTime = item.dt_txt ? mom(item.dt_txt, "YYYY-MM-DD hh:mm:ss") : mom(item.dt, "X");
- return itemDateTime.isSame(checkDateTime, "day") && item.rain instanceof Object;
- });
-
- //If no rain this day return undefined so it wont be displayed for this day
- if (daysForecasts.length === 0) {
- return undefined;
- }
-
- //Summarize all the rain from the matching days
- return daysForecasts
- .map(function (item) {
- return Object.values(item.rain)[0];
- })
- .reduce(function (a, b) {
- return a + b;
- }, 0);
+ return "deprecated weatherforecast";
}
});
diff --git a/package-lock.json b/package-lock.json
index 65dbc2a5..5d1ba3ca 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,100 +1,113 @@
{
"name": "magicmirror",
- "version": "2.18.0",
+ "version": "2.19.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "magicmirror",
- "version": "2.18.0",
+ "version": "2.19.0",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"colors": "^1.4.0",
- "console-stamp": "^3.0.3",
+ "console-stamp": "^3.0.4",
"digest-fetch": "^1.2.1",
- "eslint": "^8.5.0",
- "express": "^4.17.2",
+ "eslint": "^8.12.0",
+ "express": "^4.17.3",
"express-ipfilter": "^1.2.0",
"feedme": "^2.0.2",
- "helmet": "^4.6.0",
+ "helmet": "^5.0.2",
"iconv-lite": "^0.6.3",
+ "luxon": "^1.21.3",
"module-alias": "^2.2.2",
"moment": "^2.29.1",
- "node-fetch": "^2.6.6",
- "node-ical": "^0.13.0",
- "socket.io": "^4.4.0"
+ "node-fetch": "^2.6.7",
+ "node-ical": "^0.15.1",
+ "socket.io": "^4.4.1"
},
"devDependencies": {
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-jest": "^25.3.0",
- "eslint-plugin-jsdoc": "^37.4.0",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-jest": "^26.1.3",
+ "eslint-plugin-jsdoc": "^38.1.3",
"eslint-plugin-prettier": "^4.0.0",
"express-basic-auth": "^1.2.1",
"husky": "^7.0.4",
- "jest": "^27.4.5",
+ "jest": "^27.5.1",
"jsdom": "^19.0.0",
"lodash": "^4.17.21",
"nyc": "^15.1.0",
- "playwright": "^1.17.1",
- "prettier": "^2.5.1",
+ "playwright": "^1.20.1",
+ "prettier": "^2.6.1",
"pretty-quick": "^3.1.3",
- "sinon": "^12.0.1",
- "stylelint": "^14.2.0",
+ "sinon": "^13.0.1",
+ "stylelint": "^14.6.1",
"stylelint-config-prettier": "^9.0.3",
- "stylelint-config-standard": "^24.0.0",
+ "stylelint-config-standard": "^25.0.0",
"stylelint-prettier": "^2.0.0",
- "suncalc": "^1.8.0"
+ "suncalc": "^1.9.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
},
"optionalDependencies": {
- "electron": "^16.0.5"
+ "electron": "^17.2.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
- "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
+ "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.0"
+ "@babel/highlight": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
+ "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz",
- "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
+ "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.5",
- "@babel/helper-compilation-targets": "^7.16.3",
- "@babel/helper-module-transforms": "^7.16.5",
- "@babel/helpers": "^7.16.5",
- "@babel/parser": "^7.16.5",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.5",
- "@babel/types": "^7.16.0",
+ "@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",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -104,22 +117,13 @@
"url": "https://opencollective.com/babel"
}
},
- "node_modules/@babel/core/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@babel/generator": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz",
- "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
+ "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0",
+ "@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -137,13 +141,13 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
- "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-validator-option": "^7.14.5",
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5",
"semver": "^6.3.0"
},
@@ -155,158 +159,158 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz",
- "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
+ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
- "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
+ "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.0",
- "@babel/template": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@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.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
- "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
- "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
+ "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.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
- "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
+ "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.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz",
- "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
+ "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.16.5",
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-simple-access": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.5",
- "@babel/types": "^7.16.0"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz",
- "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
- "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
+ "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
- "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
+ "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.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "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.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "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.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz",
- "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
+ "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.5",
- "@babel/types": "^7.16.0"
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
- "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
+ "version": "7.16.10",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
+ "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -386,9 +390,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.16.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz",
- "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
+ "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -545,12 +549,12 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.5.tgz",
- "integrity": "sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
+ "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -560,33 +564,33 @@
}
},
"node_modules/@babel/template": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
- "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
+ "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.0",
- "@babel/parser": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@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.16.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz",
- "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==",
+ "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.0",
- "@babel/generator": "^7.16.5",
- "@babel/helper-environment-visitor": "^7.16.5",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.5",
- "@babel/types": "^7.16.0",
+ "@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",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -604,12 +608,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
- "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -623,9 +627,9 @@
"dev": true
},
"node_modules/@electron/get": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.1.tgz",
- "integrity": "sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
+ "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
"optional": true,
"dependencies": {
"debug": "^4.1.1",
@@ -645,29 +649,29 @@
}
},
"node_modules/@es-joy/jsdoccomment": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.13.0.tgz",
- "integrity": "sha512-APVqbVPGOprb4BmjEnwbSzV+V2e/6DVIUnZG3zdW5uWXWkN0DKMCpiIy2TdBauoANKYO7RQpO8cTjIYNVSKwUA==",
+ "version": "0.22.1",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.1.tgz",
+ "integrity": "sha512-/WMkqLYfwCf0waCAMC8Eddt3iAOdghkDF5vmyKEu8pfO66KRFY1L15yks8mfgURiwOAOJpAQ3blvB3Znj6ZwBw==",
"dev": true,
"dependencies": {
- "comment-parser": "1.3.0",
+ "comment-parser": "1.3.1",
"esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "2.0.0"
+ "jsdoc-type-pratt-parser": "~2.2.5"
},
"engines": {
"node": "^12 || ^14 || ^16 || ^17"
}
},
"node_modules/@eslint/eslintrc": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
- "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
+ "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.2.0",
+ "espree": "^9.3.1",
"globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
"minimatch": "^3.0.4",
@@ -678,9 +682,9 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
- "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
@@ -758,16 +762,16 @@
}
},
"node_modules/@jest/console": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.2.tgz",
- "integrity": "sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^27.4.2",
- "jest-util": "^27.4.2",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"slash": "^3.0.0"
},
"engines": {
@@ -775,35 +779,35 @@
}
},
"node_modules/@jest/core": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.5.tgz",
- "integrity": "sha512-3tm/Pevmi8bDsgvo73nX8p/WPng6KWlCyScW10FPEoN1HU4pwI83tJ3TsFvi1FfzsjwUlMNEPowgb/rPau/LTQ==",
+ "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.4.2",
- "@jest/reporters": "^27.4.5",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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.4",
- "jest-changed-files": "^27.4.2",
- "jest-config": "^27.4.5",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-resolve-dependencies": "^27.4.5",
- "jest-runner": "^27.4.5",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
- "jest-watcher": "^27.4.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",
@@ -822,77 +826,77 @@
}
},
"node_modules/@jest/environment": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.4.tgz",
- "integrity": "sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ==",
+ "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.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.2"
+ "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.4.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.2.tgz",
- "integrity": "sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@sinonjs/fake-timers": "^8.0.1",
"@types/node": "*",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
- "jest-util": "^27.4.2"
+ "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.4.4",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.4.tgz",
- "integrity": "sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ==",
+ "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.4.4",
- "@jest/types": "^27.4.2",
- "expect": "^27.4.2"
+ "@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.4.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.5.tgz",
- "integrity": "sha512-3orsG4vi8zXuBqEoy2LbnC1kuvkg1KQUgqNxmxpQgIOQEPeV0onvZu+qDQnEoX8qTQErtqn/xzcnbpeTuOLSiA==",
+ "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.4.2",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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.4",
+ "graceful-fs": "^4.2.9",
"istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-instrument": "^5.1.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.4.5",
- "jest-resolve": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "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",
@@ -912,13 +916,13 @@
}
},
"node_modules/@jest/source-map": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz",
- "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==",
+ "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.4",
+ "graceful-fs": "^4.2.9",
"source-map": "^0.6.0"
},
"engines": {
@@ -926,13 +930,13 @@
}
},
"node_modules/@jest/test-result": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.2.tgz",
- "integrity": "sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==",
+ "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.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
},
@@ -941,38 +945,38 @@
}
},
"node_modules/@jest/test-sequencer": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.5.tgz",
- "integrity": "sha512-n5woIn/1v+FT+9hniymHPARA9upYUmfi5Pw9ewVwXCDlK4F5/Gkees9v8vdjGdAIJ2MPHLHodiajLpZZanWzEQ==",
+ "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.4.2",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-runtime": "^27.4.5"
+ "@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.4.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.5.tgz",
- "integrity": "sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew==",
+ "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.4.2",
- "babel-plugin-istanbul": "^6.0.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.4",
- "jest-haste-map": "^27.4.5",
- "jest-regex-util": "^27.4.0",
- "jest-util": "^27.4.2",
+ "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.1",
+ "pirates": "^4.0.4",
"slash": "^3.0.0",
"source-map": "^0.6.1",
"write-file-atomic": "^3.0.0"
@@ -982,9 +986,9 @@
}
},
"node_modules/@jest/types": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
- "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
+ "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",
@@ -997,6 +1001,31 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==",
+ "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==",
+ "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==",
+ "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",
@@ -1060,9 +1089,9 @@
}
},
"node_modules/@sinonjs/samsam": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz",
- "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz",
+ "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==",
"dev": true,
"dependencies": {
"@sinonjs/commons": "^1.6.0",
@@ -1076,6 +1105,14 @@
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
"dev": true
},
+ "node_modules/@socket.io/base64-arraybuffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+ "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
"node_modules/@szmarczak/http-timer": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
@@ -1098,9 +1135,9 @@
}
},
"node_modules/@types/babel__core": {
- "version": "7.1.17",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz",
- "integrity": "sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==",
+ "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",
@@ -1111,9 +1148,9 @@
}
},
"node_modules/@types/babel__generator": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
- "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
+ "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"
@@ -1163,9 +1200,9 @@
}
},
"node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
+ "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": {
@@ -1187,9 +1224,9 @@
}
},
"node_modules/@types/json-schema": {
- "version": "7.0.9",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+ "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/minimatch": {
@@ -1205,9 +1242,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "14.18.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.2.tgz",
- "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg=="
+ "version": "14.18.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz",
+ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A=="
},
"node_modules/@types/normalize-package-data": {
"version": "2.4.1",
@@ -1222,9 +1259,9 @@
"dev": true
},
"node_modules/@types/prettier": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz",
- "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz",
+ "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==",
"dev": true
},
"node_modules/@types/stack-utils": {
@@ -1243,9 +1280,9 @@
}
},
"node_modules/@types/yargs-parser": {
- "version": "20.2.1",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
- "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
"dev": true
},
"node_modules/@types/yauzl": {
@@ -1258,60 +1295,14 @@
"@types/node": "*"
}
},
- "node_modules/@typescript-eslint/experimental-utils": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.0.tgz",
- "integrity": "sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.8.0",
- "@typescript-eslint/types": "5.8.0",
- "@typescript-eslint/typescript-estree": "5.8.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/experimental-utils/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/@typescript-eslint/experimental-utils/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/@typescript-eslint/scope-manager": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.0.tgz",
- "integrity": "sha512-x82CYJsLOjPCDuFFEbS6e7K1QEWj7u5Wk1alw8A+gnJiYwNnDJk0ib6PCegbaPMjrfBvFKa7SxE3EOnnIQz2Gg==",
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz",
+ "integrity": "sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.8.0",
- "@typescript-eslint/visitor-keys": "5.8.0"
+ "@typescript-eslint/types": "5.17.0",
+ "@typescript-eslint/visitor-keys": "5.17.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1322,9 +1313,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.0.tgz",
- "integrity": "sha512-LdCYOqeqZWqCMOmwFnum6YfW9F3nKuxJiR84CdIRN5nfHJ7gyvGpXWqL/AaW0k3Po0+wm93ARAsOdzlZDPCcXg==",
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.17.0.tgz",
+ "integrity": "sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1335,13 +1326,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.0.tgz",
- "integrity": "sha512-srfeZ3URdEcUsSLbkOFqS7WoxOqn8JNil2NSLO9O+I2/Uyc85+UlfpEvQHIpj5dVts7KKOZnftoJD/Fdv0L7nQ==",
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz",
+ "integrity": "sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.8.0",
- "@typescript-eslint/visitor-keys": "5.8.0",
+ "@typescript-eslint/types": "5.17.0",
+ "@typescript-eslint/visitor-keys": "5.17.0",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -1376,13 +1367,59 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.0.tgz",
- "integrity": "sha512-+HDIGOEMnqbxdAHegxvnOqESUH6RWFRR2b8qxP1W9CZnnYh4Usz6MBL+2KMAgPk/P0o9c1HqnYtwzVH6GTIqug==",
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.17.0.tgz",
+ "integrity": "sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.8.0",
+ "@types/json-schema": "^7.0.9",
+ "@typescript-eslint/scope-manager": "5.17.0",
+ "@typescript-eslint/types": "5.17.0",
+ "@typescript-eslint/typescript-estree": "5.17.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/utils/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/@typescript-eslint/utils/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/@typescript-eslint/visitor-keys": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz",
+ "integrity": "sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.17.0",
"eslint-visitor-keys": "^3.0.0"
},
"engines": {
@@ -1400,21 +1437,21 @@
"dev": true
},
"node_modules/accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"dependencies": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/acorn": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
- "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
"bin": {
"acorn": "bin/acorn"
},
@@ -1501,14 +1538,6 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -1641,19 +1670,27 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
+ "node_modules/axios": {
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
+ "dependencies": {
+ "follow-redirects": "^1.14.8"
+ }
+ },
"node_modules/babel-jest": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.5.tgz",
- "integrity": "sha512-3uuUTjXbgtODmSv/DXO9nZfD52IyC2OYTFaXGRzL0kpykzroaquCrD5+lZNafTvZlnNqZHt5pb0M08qVBZnsnA==",
+ "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.4.5",
- "@jest/types": "^27.4.2",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.4.0",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"slash": "^3.0.0"
},
"engines": {
@@ -1679,26 +1716,10 @@
"node": ">=8"
}
},
- "node_modules/babel-plugin-istanbul/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==",
- "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/babel-plugin-jest-hoist": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz",
- "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==",
+ "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",
@@ -1734,12 +1755,12 @@
}
},
"node_modules/babel-preset-jest": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz",
- "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==",
+ "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.4.0",
+ "babel-plugin-jest-hoist": "^27.5.1",
"babel-preset-current-node-syntax": "^1.0.0"
},
"engines": {
@@ -1759,14 +1780,6 @@
"resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
"integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs="
},
- "node_modules/base64-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz",
- "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
"node_modules/base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
@@ -1794,19 +1807,19 @@
"dev": true
},
"node_modules/body-parser": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
- "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==",
"dependencies": {
- "bytes": "3.1.1",
+ "bytes": "3.1.2",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
- "qs": "6.9.6",
- "raw-body": "2.4.2",
+ "qs": "6.9.7",
+ "raw-body": "2.4.3",
"type-is": "~1.6.18"
},
"engines": {
@@ -1838,9 +1851,9 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/boolean": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz",
- "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
"optional": true
},
"node_modules/brace-expansion": {
@@ -1871,15 +1884,25 @@
"dev": true
},
"node_modules/browserslist": {
- "version": "4.19.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
- "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
+ "version": "4.20.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
+ "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
"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.30001286",
- "electron-to-chromium": "^1.4.17",
+ "caniuse-lite": "^1.0.30001317",
+ "electron-to-chromium": "^1.4.84",
"escalade": "^3.1.1",
- "node-releases": "^2.0.1",
+ "node-releases": "^2.0.2",
"picocolors": "^1.0.0"
},
"bin": {
@@ -1887,10 +1910,6 @@
},
"engines": {
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
}
},
"node_modules/bser": {
@@ -1918,9 +1937,9 @@
"devOptional": true
},
"node_modules/bytes": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
- "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"engines": {
"node": ">= 0.8"
}
@@ -2017,14 +2036,20 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001292",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz",
- "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==",
+ "version": "1.0.30001320",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz",
+ "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==",
"dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ }
+ ]
},
"node_modules/chalk": {
"version": "4.1.2",
@@ -2071,9 +2096,9 @@
"dev": true
},
"node_modules/clarinet": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/clarinet/-/clarinet-0.12.4.tgz",
- "integrity": "sha512-Rx9Zw8KQkoPO3/O2yPRchCZm3cGubCQiRLmmFAlbkDKobUIPP3JYul+bKILR9DIv1gSVwPQSgF8JGGkXzX8Q0w==",
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/clarinet/-/clarinet-0.12.5.tgz",
+ "integrity": "sha512-4833ySquSUW91fnPaYI94LX3OdnyfwD8/NrMi6a4Kt6EmOsphLWmEzx9bZPqO9+DtQzSv2s3WSYNLsrXt59FKg==",
"engines": {
"chrome": ">=16.0.912",
"firefox": ">=0.8.0",
@@ -2189,9 +2214,9 @@
}
},
"node_modules/comment-parser": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
- "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
+ "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"
@@ -2239,9 +2264,9 @@
}
},
"node_modules/console-stamp": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/console-stamp/-/console-stamp-3.0.3.tgz",
- "integrity": "sha512-6ltMcMEVDHb1bqb+qaVfCX7Vf3vEkfZEeKyReG1ny45Rv6YJynCcdv94j7whNVfxj/4/3Ji/QBHY6p4JI51Ucw==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/console-stamp/-/console-stamp-3.0.4.tgz",
+ "integrity": "sha512-+C/Q+6Hwd/3FFx19TgnbX2sj0FkupMn6BkAzeZKMZL3xfPchFckY6E5UusYyD1/OpkIU8+4Y0UMiVtpusDsV3A==",
"dependencies": {
"chalk": "^4.1.1",
"dateformat": "^4.5.1"
@@ -2285,9 +2310,9 @@
"dev": true
},
"node_modules/cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
"engines": {
"node": ">= 0.6"
}
@@ -2352,6 +2377,15 @@
"node": "*"
}
},
+ "node_modules/css-functions-list": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
+ "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ }
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -2411,9 +2445,9 @@
}
},
"node_modules/debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
@@ -2572,9 +2606,9 @@
}
},
"node_modules/diff-sequences": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz",
- "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==",
+ "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"
@@ -2636,9 +2670,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/electron": {
- "version": "16.0.5",
- "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz",
- "integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-17.2.0.tgz",
+ "integrity": "sha512-eNXhPVEUofkgAeqRFvTizzYecoCMyS0Rar08WZHSAw9wjfZXawYMvTpjjjk9GiX9W/+Cjxua4YtGn5bOTabc0A==",
"hasInstallScript": true,
"optional": true,
"dependencies": {
@@ -2654,9 +2688,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.27",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.27.tgz",
- "integrity": "sha512-uZ95szi3zUbzRDx1zx/xnsCG+2xgZyy57pDOeaeO4r8zx5Dqe8Jv1ti8cunvBwJHVI5LzPuw8umKwZb3WKYxSQ==",
+ "version": "1.4.96",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz",
+ "integrity": "sha512-DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw==",
"dev": true
},
"node_modules/emittery": {
@@ -2695,9 +2729,9 @@
}
},
"node_modules/engine.io": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.0.tgz",
- "integrity": "sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==",
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
+ "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
"dependencies": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
@@ -2707,7 +2741,7 @@
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~5.0.0",
+ "engine.io-parser": "~5.0.3",
"ws": "~8.2.3"
},
"engines": {
@@ -2715,11 +2749,11 @@
}
},
"node_modules/engine.io-parser": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz",
- "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
+ "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
"dependencies": {
- "base64-arraybuffer": "~1.0.1"
+ "@socket.io/base64-arraybuffer": "~1.0.2"
},
"engines": {
"node": ">=10.0.0"
@@ -2745,17 +2779,6 @@
}
}
},
- "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==",
- "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",
@@ -2879,23 +2902,22 @@
}
},
"node_modules/eslint": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.5.0.tgz",
- "integrity": "sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==",
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz",
+ "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==",
"dependencies": {
- "@eslint/eslintrc": "^1.0.5",
+ "@eslint/eslintrc": "^1.2.1",
"@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",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.0",
+ "eslint-scope": "^7.1.1",
"eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.1.0",
- "espree": "^9.2.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -2903,7 +2925,7 @@
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^6.0.1",
"globals": "^13.6.0",
- "ignore": "^4.0.6",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
@@ -2914,9 +2936,7 @@
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
"regexpp": "^3.2.0",
- "semver": "^7.2.1",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0",
@@ -2933,9 +2953,9 @@
}
},
"node_modules/eslint-config-prettier": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
- "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
+ "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"
@@ -2945,18 +2965,18 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "25.3.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.3.0.tgz",
- "integrity": "sha512-79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==",
+ "version": "26.1.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz",
+ "integrity": "sha512-Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/experimental-utils": "^5.0.0"
+ "@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": "^4.0.0 || ^5.0.0",
+ "@typescript-eslint/eslint-plugin": "^5.0.0",
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
@@ -2969,17 +2989,16 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
- "version": "37.4.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.4.0.tgz",
- "integrity": "sha512-XWKMMHFq7eUdC8XMzuQSskevJvlHTDSAJm/2qtEZ7+qhZTZ0YjeqWaUn7KGdrmxLNqtWwtJ67LdIPgrYUZ5EoA==",
+ "version": "38.1.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.3.tgz",
+ "integrity": "sha512-CJgBG1wzl2735rct2GpzS39lx4t0mlUiv9MvFndQKyqTVOGZLXeSkVNIE5inmg23T0EkCrS3AZ9dKbFAsK9ItA==",
"dev": true,
"dependencies": {
- "@es-joy/jsdoccomment": "0.13.0",
- "comment-parser": "1.3.0",
- "debug": "^4.3.3",
+ "@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",
- "jsdoc-type-pratt-parser": "^2.0.0",
"regextras": "^0.8.0",
"semver": "^7.3.5",
"spdx-expression-parse": "^3.0.1"
@@ -3028,9 +3047,9 @@
}
},
"node_modules/eslint-scope": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz",
- "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -3065,35 +3084,21 @@
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
+ "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==",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/eslint/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/espree": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz",
- "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==",
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
+ "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
"dependencies": {
- "acorn": "^8.6.0",
+ "acorn": "^8.7.0",
"acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^3.1.0"
+ "eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3215,45 +3220,31 @@
}
},
"node_modules/expect": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz",
- "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==",
+ "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.4.2",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.4.0",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-regex-util": "^27.4.0"
+ "@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/expect/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/express": {
- "version": "4.17.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz",
- "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==",
+ "version": "4.17.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz",
+ "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==",
"dependencies": {
- "accepts": "~1.3.7",
+ "accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.19.1",
+ "body-parser": "1.19.2",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.4.1",
+ "cookie": "0.4.2",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
@@ -3268,7 +3259,7 @@
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7",
- "qs": "6.9.6",
+ "qs": "6.9.7",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
"send": "0.17.2",
@@ -3361,9 +3352,9 @@
"dev": true
},
"node_modules/fast-glob": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
- "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "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",
@@ -3373,7 +3364,7 @@
"micromatch": "^4.0.4"
},
"engines": {
- "node": ">=8"
+ "node": ">=8.6.0"
}
},
"node_modules/fast-glob/node_modules/glob-parent": {
@@ -3539,9 +3530,28 @@
}
},
"node_modules/flatted": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
- "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw=="
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
+ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg=="
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.14.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
+ "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
},
"node_modules/foreground-child": {
"version": "2.0.0",
@@ -3817,9 +3827,9 @@
}
},
"node_modules/globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "version": "13.13.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
+ "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -3846,16 +3856,16 @@
}
},
"node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "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.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
"slash": "^3.0.0"
},
"engines": {
@@ -3865,15 +3875,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globby/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/globjoin": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
@@ -3903,9 +3904,9 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"devOptional": true
},
"node_modules/hard-rejection": {
@@ -3963,17 +3964,17 @@
}
},
"node_modules/helmet": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz",
- "integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/helmet/-/helmet-5.0.2.tgz",
+ "integrity": "sha512-QWlwUZZ8BtlvwYVTSDTBChGf8EOcQ2LkGMnQJxSzD1mUu8CCjXJZq/BXP8eWw4kikRnzlhtYo3lCk0ucmYA3Vg==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
}
},
"node_modules/hosted-git-info": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
- "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -4093,9 +4094,9 @@
}
},
"node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"engines": {
"node": ">= 4"
}
@@ -4125,9 +4126,9 @@
}
},
"node_modules/import-local": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz",
- "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==",
+ "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",
@@ -4138,6 +4139,9 @@
},
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/imurmurhash": {
@@ -4207,9 +4211,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"node_modules/is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
+ "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==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -4357,14 +4361,15 @@
}
},
"node_modules/istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
+ "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.7.5",
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
"@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-coverage": "^3.2.0",
"semver": "^6.3.0"
},
"engines": {
@@ -4428,9 +4433,9 @@
}
},
"node_modules/istanbul-reports": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.1.tgz",
- "integrity": "sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw==",
+ "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",
@@ -4441,14 +4446,14 @@
}
},
"node_modules/jest": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.5.tgz",
- "integrity": "sha512-uT5MiVN3Jppt314kidCk47MYIRilJjA/l2mxwiuzzxGUeJIvA8/pDaJOAX5KWvjAo7SCydcW0/4WEtgbLMiJkg==",
+ "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.4.5",
+ "@jest/core": "^27.5.1",
"import-local": "^3.0.2",
- "jest-cli": "^27.4.5"
+ "jest-cli": "^27.5.1"
},
"bin": {
"jest": "bin/jest.js"
@@ -4466,12 +4471,12 @@
}
},
"node_modules/jest-changed-files": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz",
- "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"execa": "^5.0.0",
"throat": "^6.0.1"
},
@@ -4480,27 +4485,27 @@
}
},
"node_modules/jest-circus": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.5.tgz",
- "integrity": "sha512-eTNWa9wsvBwPykhMMShheafbwyakcdHZaEYh5iRrQ0PFJxkDP/e3U/FvzGuKWu2WpwUA3C3hPlfpuzvOdTVqnw==",
+ "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.4.4",
- "@jest/test-result": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "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"
@@ -4510,21 +4515,21 @@
}
},
"node_modules/jest-cli": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.5.tgz",
- "integrity": "sha512-hrky3DSgE0u7sQxaCL7bdebEPHx5QzYmrGuUjaPLmPE8jx5adtvGuOlRspvMoVLTTDOHRnZDoRLYJuA+VCI7Hg==",
+ "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.4.5",
- "@jest/test-result": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4",
+ "graceful-fs": "^4.2.9",
"import-local": "^3.0.2",
- "jest-config": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "jest-config": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"prompts": "^2.0.1",
"yargs": "^16.2.0"
},
@@ -4544,33 +4549,35 @@
}
},
"node_modules/jest-config": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.5.tgz",
- "integrity": "sha512-t+STVJtPt+fpqQ8GBw850NtSQbnDOw/UzdPfzDaHQ48/AylQlW7LHj3dH+ndxhC1UxJ0Q3qkq7IH+nM1skwTwA==",
+ "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.1.0",
- "@jest/test-sequencer": "^27.4.5",
- "@jest/types": "^27.4.2",
- "babel-jest": "^27.4.5",
+ "@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.4",
- "jest-circus": "^27.4.5",
- "jest-environment-jsdom": "^27.4.4",
- "jest-environment-node": "^27.4.4",
- "jest-get-type": "^27.4.0",
- "jest-jasmine2": "^27.4.5",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-runner": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "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",
- "pretty-format": "^27.4.2",
- "slash": "^3.0.0"
+ "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"
@@ -4585,24 +4592,24 @@
}
},
"node_modules/jest-diff": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.2.tgz",
- "integrity": "sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==",
+ "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.4.0",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "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.4.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz",
- "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==",
+ "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"
@@ -4612,33 +4619,33 @@
}
},
"node_modules/jest-each": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.2.tgz",
- "integrity": "sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.2"
+ "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.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.4.tgz",
- "integrity": "sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA==",
+ "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.4.4",
- "@jest/fake-timers": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.2",
- "jest-util": "^27.4.2",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
"jsdom": "^16.6.0"
},
"engines": {
@@ -4856,9 +4863,9 @@
}
},
"node_modules/jest-environment-jsdom/node_modules/ws": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+ "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"
@@ -4883,47 +4890,47 @@
"dev": true
},
"node_modules/jest-environment-node": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.4.tgz",
- "integrity": "sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA==",
+ "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.4.4",
- "@jest/fake-timers": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.2",
- "jest-util": "^27.4.2"
+ "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.4.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz",
- "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.5.tgz",
- "integrity": "sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q==",
+ "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.4.2",
+ "@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.4",
- "jest-regex-util": "^27.4.0",
- "jest-serializer": "^27.4.0",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "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"
},
@@ -4935,28 +4942,27 @@
}
},
"node_modules/jest-jasmine2": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.5.tgz",
- "integrity": "sha512-oUnvwhJDj2LhOiUB1kdnJjkx8C5PwgUZQb9urF77mELH9DGR4e2GqpWQKBOYXWs5+uTN9BGDqRz3Aeg5Wts7aw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+ "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
"dev": true,
"dependencies": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.4.4",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "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": {
@@ -4964,46 +4970,46 @@
}
},
"node_modules/jest-leak-detector": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz",
- "integrity": "sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==",
+ "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.4.0",
- "pretty-format": "^27.4.2"
+ "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.4.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz",
- "integrity": "sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==",
+ "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.4.2",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "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.4.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.2.tgz",
- "integrity": "sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -5012,12 +5018,12 @@
}
},
"node_modules/jest-mock": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.2.tgz",
- "integrity": "sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*"
},
"engines": {
@@ -5042,27 +5048,27 @@
}
},
"node_modules/jest-regex-util": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz",
- "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.5.tgz",
- "integrity": "sha512-xU3z1BuOz/hUhVUL+918KqUgK+skqOuUsAi7A+iwoUldK6/+PW+utK8l8cxIWT9AW7IAhGNXjSAh1UYmjULZZw==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
@@ -5072,45 +5078,44 @@
}
},
"node_modules/jest-resolve-dependencies": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.5.tgz",
- "integrity": "sha512-elEVvkvRK51y037NshtEkEnukMBWvlPzZHiL847OrIljJ8yIsujD2GXRPqDXC4rEVKbcdsy7W0FxoZb4WmEs7w==",
+ "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.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-snapshot": "^27.4.5"
+ "@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.4.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.5.tgz",
- "integrity": "sha512-/irauncTfmY1WkTaRQGRWcyQLzK1g98GYG/8QvIPviHgO1Fqz1JYeEIsSfF+9mc/UTA6S+IIHFgKyvUrtiBIZg==",
+ "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.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.4.0",
- "jest-environment-jsdom": "^27.4.4",
- "jest-environment-node": "^27.4.4",
- "jest-haste-map": "^27.4.5",
- "jest-leak-detector": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
- "jest-runtime": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "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"
},
@@ -5119,84 +5124,78 @@
}
},
"node_modules/jest-runtime": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.5.tgz",
- "integrity": "sha512-CIYqwuJQXHQtPd/idgrx4zgJ6iCb6uBjQq1RSAGQrw2S8XifDmoM1Ot8NRd80ooAm+ZNdHVwsktIMGlA1F1FAQ==",
+ "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/console": "^27.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/globals": "^27.4.4",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
- "@types/yargs": "^16.0.0",
+ "@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",
- "exit": "^0.1.2",
"glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "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",
- "yargs": "^16.2.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.4.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz",
- "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==",
+ "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.4"
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.5.tgz",
- "integrity": "sha512-eCi/iM1YJFrJWiT9de4+RpWWWBqsHiYxFG9V9o/n0WXs6GpW4lUt4FAHAgFPTLPqCUVzrMQmSmTZSgQzwqR7IQ==",
+ "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/parser": "^7.7.2",
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.0.0",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.4.2",
- "jest-get-type": "^27.4.0",
- "jest-haste-map": "^27.4.5",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
- "jest-util": "^27.4.2",
+ "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.4.2",
+ "pretty-format": "^27.5.1",
"semver": "^7.3.2"
},
"engines": {
@@ -5219,16 +5218,16 @@
}
},
"node_modules/jest-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz",
- "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"picomatch": "^2.2.3"
},
"engines": {
@@ -5236,26 +5235,26 @@
}
},
"node_modules/jest-validate": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.2.tgz",
- "integrity": "sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
+ "jest-get-type": "^27.5.1",
"leven": "^3.1.0",
- "pretty-format": "^27.4.2"
+ "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.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
- "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
"engines": {
"node": ">=10"
@@ -5265,17 +5264,17 @@
}
},
"node_modules/jest-watcher": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.2.tgz",
- "integrity": "sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==",
+ "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.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
+ "jest-util": "^27.5.1",
"string-length": "^4.0.1"
},
"engines": {
@@ -5283,9 +5282,9 @@
}
},
"node_modules/jest-worker": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz",
- "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==",
+ "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": "*",
@@ -5335,9 +5334,9 @@
}
},
"node_modules/jsdoc-type-pratt-parser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz",
- "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==",
+ "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"
@@ -5430,13 +5429,10 @@
"optional": true
},
"node_modules/json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
"dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
"bin": {
"json5": "lib/cli.js"
},
@@ -5572,6 +5568,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "devOptional": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -5583,7 +5580,6 @@
"version": "1.28.0",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz",
"integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==",
- "optional": true,
"engines": {
"node": "*"
}
@@ -5731,44 +5727,44 @@
}
},
"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==",
"dev": true,
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"dev": true,
"bin": {
"mime": "cli.js"
},
"engines": {
- "node": ">=4.0.0"
+ "node": ">=10.0.0"
}
},
"node_modules/mime-db": {
- "version": "1.51.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
- "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
+ "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.34",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
- "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
+ "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.51.0"
+ "mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
@@ -5802,9 +5798,9 @@
}
},
"node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -5813,10 +5809,10 @@
}
},
"node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "devOptional": true
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+ "optional": true
},
"node_modules/minimist-options": {
"version": "4.1.0",
@@ -5842,12 +5838,12 @@
}
},
"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==",
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"optional": true,
"dependencies": {
- "minimist": "^1.2.5"
+ "minimist": "^1.2.6"
},
"bin": {
"mkdirp": "bin/cmd.js"
@@ -5908,9 +5904,9 @@
}
},
"node_modules/nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
+ "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==",
"dev": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
@@ -5925,35 +5921,26 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
},
"node_modules/negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/nise": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz",
- "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz",
+ "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==",
"dev": true,
"dependencies": {
- "@sinonjs/commons": "^1.7.0",
- "@sinonjs/fake-timers": "^7.0.4",
+ "@sinonjs/commons": "^1.8.3",
+ "@sinonjs/fake-timers": ">=5",
"@sinonjs/text-encoding": "^0.7.1",
"just-extend": "^4.0.2",
"path-to-regexp": "^1.7.0"
}
},
- "node_modules/nise/node_modules/@sinonjs/fake-timers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
- "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
"node_modules/nise/node_modules/isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -5970,14 +5957,22 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.6",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
- "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==",
+ "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": {
@@ -6000,13 +5995,13 @@
}
},
"node_modules/node-ical": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/node-ical/-/node-ical-0.13.0.tgz",
- "integrity": "sha512-hfV7HsY0oTehirXLtkKgAdVomSv6/zjSw66z/RTkKfEp9MwwIz1asyE/g9x4ZKWE2YqGnr81Se5zSRcligPY5Q==",
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/node-ical/-/node-ical-0.15.1.tgz",
+ "integrity": "sha512-+MWL5mdYINFc5+Z5HDGJbQAK3QcpqEV8wok61Kb1VzIV16iTA/9vhIRrLcW+Iht5bm9wI7XalEssMohLeTwPgA==",
"dependencies": {
+ "axios": "^0.26.1",
"moment-timezone": "^0.5.31",
- "node-fetch": "^2.6.1",
- "rrule": "2.6.8",
+ "rrule": "2.6.4",
"uuid": "^8.3.1"
}
},
@@ -6029,9 +6024,9 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
+ "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
"dev": true
},
"node_modules/normalize-package-data": {
@@ -6171,6 +6166,21 @@
"wrap-ansi": "^6.2.0"
}
},
+ "node_modules/nyc/node_modules/istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/nyc/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -6475,9 +6485,9 @@
"dev": true
},
"node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "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"
@@ -6496,14 +6506,35 @@
}
},
"node_modules/pirates": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
- "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
+ "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/pixelmatch": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz",
+ "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==",
+ "dev": true,
+ "dependencies": {
+ "pngjs": "^4.0.1"
+ },
+ "bin": {
+ "pixelmatch": "bin/pixelmatch"
+ }
+ },
+ "node_modules/pixelmatch/node_modules/pngjs": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz",
+ "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -6517,13 +6548,13 @@
}
},
"node_modules/playwright": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.17.1.tgz",
- "integrity": "sha512-DisCkW9MblDJNS3rG61p8LiLA2WA7IY/4A4W7DX4BphWe/HuWjKmGQptuk4NVIh5UuSwXpW/jaH2+ZgjHs3GMA==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.20.1.tgz",
+ "integrity": "sha512-d/25SFUk6Rkt3h+RU13T7h6o0UTCLKXKYJILWVlC+NmrE7Tvn3LlXxoREfFXVNFikRZWTV60WBCZKgNbj7RfrA==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "playwright-core": "=1.17.1"
+ "playwright-core": "1.20.1"
},
"bin": {
"playwright": "cli.js"
@@ -6533,27 +6564,29 @@
}
},
"node_modules/playwright-core": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.17.1.tgz",
- "integrity": "sha512-C3c8RpPiC3qr15fRDN6dx6WnUkPLFmST37gms2aoHPDRvp7EaGDPMMZPpqIm/QWB5J40xDrQCD4YYHz2nBTojQ==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.20.1.tgz",
+ "integrity": "sha512-A8ZsZ09gaSbxP0UijoLyzp3LJc0kWMxDooLPi+mm4/5iYnTbd6PF5nKjoFw1a7KwjZIEgdhJduah4BcUIh+IPA==",
"dev": true,
"dependencies": {
- "commander": "^8.2.0",
- "debug": "^4.1.1",
- "extract-zip": "^2.0.1",
- "https-proxy-agent": "^5.0.0",
- "jpeg-js": "^0.4.2",
- "mime": "^2.4.6",
- "pngjs": "^5.0.0",
- "progress": "^2.0.3",
- "proper-lockfile": "^4.1.1",
- "proxy-from-env": "^1.1.0",
- "rimraf": "^3.0.2",
- "socks-proxy-agent": "^6.1.0",
- "stack-utils": "^2.0.3",
- "ws": "^7.4.6",
- "yauzl": "^2.10.0",
- "yazl": "^2.5.1"
+ "colors": "1.4.0",
+ "commander": "8.3.0",
+ "debug": "4.3.3",
+ "extract-zip": "2.0.1",
+ "https-proxy-agent": "5.0.0",
+ "jpeg-js": "0.4.3",
+ "mime": "3.0.0",
+ "pixelmatch": "5.2.1",
+ "pngjs": "6.0.0",
+ "progress": "2.0.3",
+ "proper-lockfile": "4.1.2",
+ "proxy-from-env": "1.1.0",
+ "rimraf": "3.0.2",
+ "socks-proxy-agent": "6.1.1",
+ "stack-utils": "2.0.5",
+ "ws": "8.4.2",
+ "yauzl": "2.10.0",
+ "yazl": "2.5.1"
},
"bin": {
"playwright": "cli.js"
@@ -6562,6 +6595,23 @@
"node": ">=12"
}
},
+ "node_modules/playwright-core/node_modules/debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
"node_modules/playwright-core/node_modules/extract-zip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
@@ -6598,12 +6648,12 @@
}
},
"node_modules/playwright-core/node_modules/ws": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz",
+ "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==",
"dev": true,
"engines": {
- "node": ">=8.3.0"
+ "node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
@@ -6619,30 +6669,36 @@
}
},
"node_modules/pngjs": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
- "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
+ "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==",
"dev": true,
"engines": {
- "node": ">=10.13.0"
+ "node": ">=12.13.0"
}
},
"node_modules/postcss": {
- "version": "8.4.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
- "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+ "version": "8.4.12",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
+ "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
"dependencies": {
- "nanoid": "^3.1.30",
+ "nanoid": "^3.3.1",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.1"
+ "source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
}
},
"node_modules/postcss-media-query-parser": {
@@ -6674,9 +6730,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz",
- "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
+ "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
"dev": true,
"dependencies": {
"cssesc": "^3.0.0",
@@ -6710,15 +6766,18 @@
}
},
"node_modules/prettier": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
- "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz",
+ "integrity": "sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==",
"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": {
@@ -6734,12 +6793,11 @@
}
},
"node_modules/pretty-format": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz",
- "integrity": "sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==",
+ "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": {
- "@jest/types": "^27.4.2",
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
"react-is": "^17.0.1"
@@ -6843,15 +6901,6 @@
"node": ">=8.12.0"
}
},
- "node_modules/pretty-quick/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/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -6874,6 +6923,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "devOptional": true,
"engines": {
"node": ">=0.4.0"
}
@@ -6951,9 +7001,9 @@
}
},
"node_modules/qs": {
- "version": "6.9.6",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
- "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==",
"engines": {
"node": ">=0.6"
},
@@ -7016,11 +7066,11 @@
}
},
"node_modules/raw-body": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
- "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz",
+ "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==",
"dependencies": {
- "bytes": "3.1.1",
+ "bytes": "3.1.2",
"http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
@@ -7214,13 +7264,17 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "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.2.0",
- "path-parse": "^1.0.6"
+ "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"
@@ -7324,9 +7378,9 @@
}
},
"node_modules/rrule": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/rrule/-/rrule-2.6.8.tgz",
- "integrity": "sha512-cUaXuUPrz9d1wdyzHsBfT1hptKlGgABeCINFXFvulEPqh9Np9BnF3C3lrv9uO54IIr8VDb58tsSF3LhsW+4VRw==",
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/rrule/-/rrule-2.6.4.tgz",
+ "integrity": "sha512-sLdnh4lmjUqq8liFiOUXD5kWp/FcnbDLPwq5YAc/RrN6120XOPb86Ae5zxF7ttBVq8O3LxjjORMEit1baluahA==",
"dependencies": {
"tslib": "^1.10.0"
},
@@ -7537,22 +7591,22 @@
}
},
"node_modules/signal-exit": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
- "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
+ "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/sinon": {
- "version": "12.0.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz",
- "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==",
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.1.tgz",
+ "integrity": "sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==",
"dev": true,
"dependencies": {
"@sinonjs/commons": "^1.8.3",
- "@sinonjs/fake-timers": "^8.1.0",
- "@sinonjs/samsam": "^6.0.2",
+ "@sinonjs/fake-timers": "^9.0.0",
+ "@sinonjs/samsam": "^6.1.1",
"diff": "^5.0.0",
- "nise": "^5.1.0",
+ "nise": "^5.1.1",
"supports-color": "^7.2.0"
},
"funding": {
@@ -7560,6 +7614,15 @@
"url": "https://opencollective.com/sinon"
}
},
+ "node_modules/sinon/node_modules/@sinonjs/fake-timers": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.1.tgz",
+ "integrity": "sha512-Wp5vwlZ0lOqpSYGKqr53INws9HLkt6JDc/pDZcPf7bchQnrXJMXPns8CXx0hFikMSGSWfvtvvpb2gtMVfkWagA==",
+ "dev": true,
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
"node_modules/sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@@ -7603,9 +7666,9 @@
}
},
"node_modules/socket.io": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.0.tgz",
- "integrity": "sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
+ "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
@@ -7637,13 +7700,13 @@
}
},
"node_modules/socks": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz",
- "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==",
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
+ "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
"dev": true,
"dependencies": {
"ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
+ "smart-buffer": "^4.2.0"
},
"engines": {
"node": ">= 10.13.0",
@@ -7674,9 +7737,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
- "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -7886,22 +7949,23 @@
"dev": true
},
"node_modules/stylelint": {
- "version": "14.2.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.2.0.tgz",
- "integrity": "sha512-i0DrmDXFNpDsWiwx6SPRs4/pyw4kvZgqpDGvsTslQMY7hpUl6r33aQvNSn6cnTg2wtZ9rreFElI7XAKpOWi1vQ==",
+ "version": "14.6.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.6.1.tgz",
+ "integrity": "sha512-FfNdvZUZdzh9KDQxDnO7Opp+prKh8OQVuSW8S13cBtxrooCbm6J6royhUeb++53WPMt04VB+ZbOz/QmzAijs6Q==",
"dev": true,
"dependencies": {
"balanced-match": "^2.0.0",
"colord": "^2.9.2",
"cosmiconfig": "^7.0.1",
- "debug": "^4.3.3",
+ "css-functions-list": "^3.0.1",
+ "debug": "^4.3.4",
"execall": "^2.0.0",
- "fast-glob": "^3.2.7",
+ "fast-glob": "^3.2.11",
"fastest-levenshtein": "^1.0.12",
"file-entry-cache": "^6.0.1",
"get-stdin": "^8.0.0",
"global-modules": "^2.0.0",
- "globby": "^11.0.4",
+ "globby": "^11.1.0",
"globjoin": "^0.1.4",
"html-tags": "^3.1.0",
"ignore": "^5.2.0",
@@ -7915,21 +7979,22 @@
"normalize-path": "^3.0.0",
"normalize-selector": "^0.2.0",
"picocolors": "^1.0.0",
- "postcss": "^8.3.11",
+ "postcss": "^8.4.12",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.7",
- "postcss-value-parser": "^4.1.0",
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0",
"specificity": "^0.4.1",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"style-search": "^0.1.0",
+ "supports-hyperlinks": "^2.2.0",
"svg-tags": "^1.0.0",
- "table": "^6.7.5",
+ "table": "^6.8.0",
"v8-compile-cache": "^2.3.0",
- "write-file-atomic": "^3.0.3"
+ "write-file-atomic": "^4.0.1"
},
"bin": {
"stylelint": "bin/stylelint.js"
@@ -7959,24 +8024,24 @@
}
},
"node_modules/stylelint-config-recommended": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz",
- "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
+ "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==",
"dev": true,
"peerDependencies": {
- "stylelint": "^14.0.0"
+ "stylelint": "^14.4.0"
}
},
"node_modules/stylelint-config-standard": {
- "version": "24.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz",
- "integrity": "sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==",
+ "version": "25.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz",
+ "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==",
"dev": true,
"dependencies": {
- "stylelint-config-recommended": "^6.0.0"
+ "stylelint-config-recommended": "^7.0.0"
},
"peerDependencies": {
- "stylelint": "^14.0.0"
+ "stylelint": "^14.4.0"
}
},
"node_modules/stylelint-prettier": {
@@ -8001,15 +8066,6 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
- "node_modules/stylelint/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/stylelint/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -8019,6 +8075,19 @@
"node": ">=8"
}
},
+ "node_modules/stylelint/node_modules/write-file-atomic": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
+ "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ }
+ },
"node_modules/sumchecker": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
@@ -8032,9 +8101,9 @@
}
},
"node_modules/suncalc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.8.0.tgz",
- "integrity": "sha1-HZiYEJVjB4dQ9JlKlZ5lTYdqy/U=",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.9.0.tgz",
+ "integrity": "sha512-vMJ8Byp1uIPoj+wb9c1AdK4jpkSKVAywgHX0lqY7zt6+EWRRC3Z+0Ucfjy/0yxTVO1hwwchZe4uoFNqrIC24+A==",
"dev": true
},
"node_modules/supports-color": {
@@ -8061,6 +8130,18 @@
"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/svg-tags": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
@@ -8074,9 +8155,9 @@
"dev": true
},
"node_modules/table": {
- "version": "6.7.5",
- "resolved": "https://registry.npmjs.org/table/-/table-6.7.5.tgz",
- "integrity": "sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==",
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
+ "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
"dev": true,
"dependencies": {
"ajv": "^8.0.1",
@@ -8090,9 +8171,9 @@
}
},
"node_modules/table/node_modules/ajv": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz",
- "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==",
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
@@ -8319,9 +8400,9 @@
}
},
"node_modules/typescript": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
- "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
+ "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
"dev": true,
"peer": true,
"bin": {
@@ -8397,9 +8478,9 @@
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
},
"node_modules/v8-to-istanbul": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz",
- "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==",
+ "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",
@@ -8573,9 +8654,9 @@
}
},
"node_modules/ws": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz",
- "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==",
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
+ "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -8620,7 +8701,8 @@
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "devOptional": true
},
"node_modules/yaml": {
"version": "1.10.2",
@@ -8679,59 +8761,60 @@
}
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
- "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
+ "@ampproject/remapping": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
+ "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.16.0"
+ "@jridgewell/trace-mapping": "^0.3.0"
+ }
+ },
+ "@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.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
+ "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
"dev": true
},
"@babel/core": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz",
- "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
+ "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.5",
- "@babel/helper-compilation-targets": "^7.16.3",
- "@babel/helper-module-transforms": "^7.16.5",
- "@babel/helpers": "^7.16.5",
- "@babel/parser": "^7.16.5",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.5",
- "@babel/types": "^7.16.0",
+ "@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",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
+ "semver": "^6.3.0"
}
},
"@babel/generator": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz",
- "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
+ "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0",
+ "@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -8745,134 +8828,134 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
- "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
+ "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==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-validator-option": "^7.14.5",
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5",
"semver": "^6.3.0"
}
},
"@babel/helper-environment-visitor": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz",
- "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==",
+ "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.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
- "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
+ "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.0",
- "@babel/template": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@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.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
- "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
+ "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==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
- "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
+ "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.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-module-imports": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
- "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
+ "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.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-module-transforms": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz",
- "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
+ "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.16.5",
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-simple-access": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.5",
- "@babel/types": "^7.16.0"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz",
- "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
"dev": true
},
"@babel/helper-simple-access": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
- "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
+ "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.17.0"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
- "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
+ "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.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "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.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "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.16.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz",
- "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
+ "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
"dev": true,
"requires": {
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.5",
- "@babel/types": "^7.16.0"
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
}
},
"@babel/highlight": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
- "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
+ "version": "7.16.10",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
+ "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -8936,9 +9019,9 @@
}
},
"@babel/parser": {
- "version": "7.16.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz",
- "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
+ "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
"dev": true
},
"@babel/plugin-syntax-async-generators": {
@@ -9050,39 +9133,39 @@
}
},
"@babel/plugin-syntax-typescript": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.5.tgz",
- "integrity": "sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
+ "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/template": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
- "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
+ "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.0",
- "@babel/parser": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/traverse": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz",
- "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==",
+ "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.0",
- "@babel/generator": "^7.16.5",
- "@babel/helper-environment-visitor": "^7.16.5",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.5",
- "@babel/types": "^7.16.0",
+ "@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",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -9096,12 +9179,12 @@
}
},
"@babel/types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
- "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
}
},
@@ -9112,9 +9195,9 @@
"dev": true
},
"@electron/get": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.1.tgz",
- "integrity": "sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
+ "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
"optional": true,
"requires": {
"debug": "^4.1.1",
@@ -9129,26 +9212,26 @@
}
},
"@es-joy/jsdoccomment": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.13.0.tgz",
- "integrity": "sha512-APVqbVPGOprb4BmjEnwbSzV+V2e/6DVIUnZG3zdW5uWXWkN0DKMCpiIy2TdBauoANKYO7RQpO8cTjIYNVSKwUA==",
+ "version": "0.22.1",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.1.tgz",
+ "integrity": "sha512-/WMkqLYfwCf0waCAMC8Eddt3iAOdghkDF5vmyKEu8pfO66KRFY1L15yks8mfgURiwOAOJpAQ3blvB3Znj6ZwBw==",
"dev": true,
"requires": {
- "comment-parser": "1.3.0",
+ "comment-parser": "1.3.1",
"esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "2.0.0"
+ "jsdoc-type-pratt-parser": "~2.2.5"
}
},
"@eslint/eslintrc": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
- "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
+ "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==",
"requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.2.0",
+ "espree": "^9.3.1",
"globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
"minimatch": "^3.0.4",
@@ -9156,9 +9239,9 @@
}
},
"@humanwhocodes/config-array": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
- "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
"requires": {
"@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
@@ -9223,49 +9306,49 @@
"dev": true
},
"@jest/console": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.2.tgz",
- "integrity": "sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^27.4.2",
- "jest-util": "^27.4.2",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"slash": "^3.0.0"
}
},
"@jest/core": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.5.tgz",
- "integrity": "sha512-3tm/Pevmi8bDsgvo73nX8p/WPng6KWlCyScW10FPEoN1HU4pwI83tJ3TsFvi1FfzsjwUlMNEPowgb/rPau/LTQ==",
+ "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.4.2",
- "@jest/reporters": "^27.4.5",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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.4",
- "jest-changed-files": "^27.4.2",
- "jest-config": "^27.4.5",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-resolve-dependencies": "^27.4.5",
- "jest-runner": "^27.4.5",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
- "jest-watcher": "^27.4.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",
@@ -9273,68 +9356,68 @@
}
},
"@jest/environment": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.4.tgz",
- "integrity": "sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ==",
+ "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.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.2"
+ "jest-mock": "^27.5.1"
}
},
"@jest/fake-timers": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.2.tgz",
- "integrity": "sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@sinonjs/fake-timers": "^8.0.1",
"@types/node": "*",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
- "jest-util": "^27.4.2"
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
}
},
"@jest/globals": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.4.tgz",
- "integrity": "sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ==",
+ "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.4.4",
- "@jest/types": "^27.4.2",
- "expect": "^27.4.2"
+ "@jest/environment": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "expect": "^27.5.1"
}
},
"@jest/reporters": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.5.tgz",
- "integrity": "sha512-3orsG4vi8zXuBqEoy2LbnC1kuvkg1KQUgqNxmxpQgIOQEPeV0onvZu+qDQnEoX8qTQErtqn/xzcnbpeTuOLSiA==",
+ "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.4.2",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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.4",
+ "graceful-fs": "^4.2.9",
"istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-instrument": "^5.1.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.4.5",
- "jest-resolve": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "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",
@@ -9343,67 +9426,67 @@
}
},
"@jest/source-map": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz",
- "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==",
+ "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.4",
+ "graceful-fs": "^4.2.9",
"source-map": "^0.6.0"
}
},
"@jest/test-result": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.2.tgz",
- "integrity": "sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==",
+ "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.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.5.tgz",
- "integrity": "sha512-n5woIn/1v+FT+9hniymHPARA9upYUmfi5Pw9ewVwXCDlK4F5/Gkees9v8vdjGdAIJ2MPHLHodiajLpZZanWzEQ==",
+ "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.4.2",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-runtime": "^27.4.5"
+ "@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.4.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.5.tgz",
- "integrity": "sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew==",
+ "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.4.2",
- "babel-plugin-istanbul": "^6.0.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.4",
- "jest-haste-map": "^27.4.5",
- "jest-regex-util": "^27.4.0",
- "jest-util": "^27.4.2",
+ "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.1",
+ "pirates": "^4.0.4",
"slash": "^3.0.0",
"source-map": "^0.6.1",
"write-file-atomic": "^3.0.0"
}
},
"@jest/types": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
- "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
+ "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",
@@ -9413,6 +9496,28 @@
"chalk": "^4.0.0"
}
},
+ "@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==",
+ "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==",
+ "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==",
+ "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",
@@ -9464,9 +9569,9 @@
}
},
"@sinonjs/samsam": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz",
- "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz",
+ "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.6.0",
@@ -9480,6 +9585,11 @@
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
"dev": true
},
+ "@socket.io/base64-arraybuffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+ "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ=="
+ },
"@szmarczak/http-timer": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
@@ -9496,9 +9606,9 @@
"dev": true
},
"@types/babel__core": {
- "version": "7.1.17",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz",
- "integrity": "sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==",
+ "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",
@@ -9509,9 +9619,9 @@
}
},
"@types/babel__generator": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
- "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
+ "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"
@@ -9561,9 +9671,9 @@
}
},
"@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
+ "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": {
@@ -9585,9 +9695,9 @@
}
},
"@types/json-schema": {
- "version": "7.0.9",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+ "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/minimatch": {
@@ -9603,9 +9713,9 @@
"dev": true
},
"@types/node": {
- "version": "14.18.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.2.tgz",
- "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg=="
+ "version": "14.18.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz",
+ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A=="
},
"@types/normalize-package-data": {
"version": "2.4.1",
@@ -9620,9 +9730,9 @@
"dev": true
},
"@types/prettier": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz",
- "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz",
+ "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==",
"dev": true
},
"@types/stack-utils": {
@@ -9641,9 +9751,9 @@
}
},
"@types/yargs-parser": {
- "version": "20.2.1",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
- "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
"dev": true
},
"@types/yauzl": {
@@ -9656,16 +9766,58 @@
"@types/node": "*"
}
},
- "@typescript-eslint/experimental-utils": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.0.tgz",
- "integrity": "sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==",
+ "@typescript-eslint/scope-manager": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz",
+ "integrity": "sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.17.0",
+ "@typescript-eslint/visitor-keys": "5.17.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.17.0.tgz",
+ "integrity": "sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw==",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz",
+ "integrity": "sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.17.0",
+ "@typescript-eslint/visitor-keys": "5.17.0",
+ "debug": "^4.3.2",
+ "globby": "^11.0.4",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/utils": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.17.0.tgz",
+ "integrity": "sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.8.0",
- "@typescript-eslint/types": "5.8.0",
- "@typescript-eslint/typescript-estree": "5.8.0",
+ "@typescript-eslint/scope-manager": "5.17.0",
+ "@typescript-eslint/types": "5.17.0",
+ "@typescript-eslint/typescript-estree": "5.17.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
@@ -9688,55 +9840,13 @@
}
}
},
- "@typescript-eslint/scope-manager": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.0.tgz",
- "integrity": "sha512-x82CYJsLOjPCDuFFEbS6e7K1QEWj7u5Wk1alw8A+gnJiYwNnDJk0ib6PCegbaPMjrfBvFKa7SxE3EOnnIQz2Gg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.8.0",
- "@typescript-eslint/visitor-keys": "5.8.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.0.tgz",
- "integrity": "sha512-LdCYOqeqZWqCMOmwFnum6YfW9F3nKuxJiR84CdIRN5nfHJ7gyvGpXWqL/AaW0k3Po0+wm93ARAsOdzlZDPCcXg==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.0.tgz",
- "integrity": "sha512-srfeZ3URdEcUsSLbkOFqS7WoxOqn8JNil2NSLO9O+I2/Uyc85+UlfpEvQHIpj5dVts7KKOZnftoJD/Fdv0L7nQ==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.8.0",
- "@typescript-eslint/visitor-keys": "5.8.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
- "is-glob": "^4.0.3",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
"@typescript-eslint/visitor-keys": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.0.tgz",
- "integrity": "sha512-+HDIGOEMnqbxdAHegxvnOqESUH6RWFRR2b8qxP1W9CZnnYh4Usz6MBL+2KMAgPk/P0o9c1HqnYtwzVH6GTIqug==",
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz",
+ "integrity": "sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.8.0",
+ "@typescript-eslint/types": "5.17.0",
"eslint-visitor-keys": "^3.0.0"
}
},
@@ -9747,18 +9857,18 @@
"dev": true
},
"accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
}
},
"acorn": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
- "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw=="
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ=="
},
"acorn-globals": {
"version": "6.0.0",
@@ -9820,11 +9930,6 @@
"uri-js": "^4.2.2"
}
},
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
- },
"ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -9920,19 +10025,27 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
+ "axios": {
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
+ "requires": {
+ "follow-redirects": "^1.14.8"
+ }
+ },
"babel-jest": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.5.tgz",
- "integrity": "sha512-3uuUTjXbgtODmSv/DXO9nZfD52IyC2OYTFaXGRzL0kpykzroaquCrD5+lZNafTvZlnNqZHt5pb0M08qVBZnsnA==",
+ "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.4.5",
- "@jest/types": "^27.4.2",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.4.0",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"slash": "^3.0.0"
}
},
@@ -9947,27 +10060,12 @@
"@istanbuljs/schema": "^0.1.2",
"istanbul-lib-instrument": "^5.0.4",
"test-exclude": "^6.0.0"
- },
- "dependencies": {
- "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==",
- "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"
- }
- }
}
},
"babel-plugin-jest-hoist": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz",
- "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==",
+ "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",
@@ -9997,12 +10095,12 @@
}
},
"babel-preset-jest": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz",
- "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==",
+ "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.4.0",
+ "babel-plugin-jest-hoist": "^27.5.1",
"babel-preset-current-node-syntax": "^1.0.0"
}
},
@@ -10016,11 +10114,6 @@
"resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
"integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs="
},
- "base64-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz",
- "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA=="
- },
"base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
@@ -10044,19 +10137,19 @@
}
},
"body-parser": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
- "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==",
"requires": {
- "bytes": "3.1.1",
+ "bytes": "3.1.2",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
- "qs": "6.9.6",
- "raw-body": "2.4.2",
+ "qs": "6.9.7",
+ "raw-body": "2.4.3",
"type-is": "~1.6.18"
},
"dependencies": {
@@ -10084,9 +10177,9 @@
}
},
"boolean": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz",
- "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
"optional": true
},
"brace-expansion": {
@@ -10114,15 +10207,15 @@
"dev": true
},
"browserslist": {
- "version": "4.19.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
- "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
+ "version": "4.20.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
+ "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001286",
- "electron-to-chromium": "^1.4.17",
+ "caniuse-lite": "^1.0.30001317",
+ "electron-to-chromium": "^1.4.84",
"escalade": "^3.1.1",
- "node-releases": "^2.0.1",
+ "node-releases": "^2.0.2",
"picocolors": "^1.0.0"
}
},
@@ -10148,9 +10241,9 @@
"devOptional": true
},
"bytes": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
- "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
},
"cacheable-request": {
"version": "6.1.0",
@@ -10219,9 +10312,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001292",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz",
- "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==",
+ "version": "1.0.30001320",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz",
+ "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==",
"dev": true
},
"chalk": {
@@ -10257,9 +10350,9 @@
"dev": true
},
"clarinet": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/clarinet/-/clarinet-0.12.4.tgz",
- "integrity": "sha512-Rx9Zw8KQkoPO3/O2yPRchCZm3cGubCQiRLmmFAlbkDKobUIPP3JYul+bKILR9DIv1gSVwPQSgF8JGGkXzX8Q0w=="
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/clarinet/-/clarinet-0.12.5.tgz",
+ "integrity": "sha512-4833ySquSUW91fnPaYI94LX3OdnyfwD8/NrMi6a4Kt6EmOsphLWmEzx9bZPqO9+DtQzSv2s3WSYNLsrXt59FKg=="
},
"clean-stack": {
"version": "2.2.0",
@@ -10348,9 +10441,9 @@
"dev": true
},
"comment-parser": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
- "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz",
+ "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==",
"dev": true
},
"commondir": {
@@ -10392,9 +10485,9 @@
}
},
"console-stamp": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/console-stamp/-/console-stamp-3.0.3.tgz",
- "integrity": "sha512-6ltMcMEVDHb1bqb+qaVfCX7Vf3vEkfZEeKyReG1ny45Rv6YJynCcdv94j7whNVfxj/4/3Ji/QBHY6p4JI51Ucw==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/console-stamp/-/console-stamp-3.0.4.tgz",
+ "integrity": "sha512-+C/Q+6Hwd/3FFx19TgnbX2sj0FkupMn6BkAzeZKMZL3xfPchFckY6E5UusYyD1/OpkIU8+4Y0UMiVtpusDsV3A==",
"requires": {
"chalk": "^4.1.1",
"dateformat": "^4.5.1"
@@ -10431,9 +10524,9 @@
}
},
"cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
},
"cookie-signature": {
"version": "1.0.6",
@@ -10483,6 +10576,12 @@
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
},
+ "css-functions-list": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
+ "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+ "dev": true
+ },
"cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -10529,9 +10628,9 @@
"integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA=="
},
"debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
@@ -10651,9 +10750,9 @@
"dev": true
},
"diff-sequences": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz",
- "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==",
+ "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
},
"digest-fetch": {
@@ -10703,9 +10802,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron": {
- "version": "16.0.5",
- "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz",
- "integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-17.2.0.tgz",
+ "integrity": "sha512-eNXhPVEUofkgAeqRFvTizzYecoCMyS0Rar08WZHSAw9wjfZXawYMvTpjjjk9GiX9W/+Cjxua4YtGn5bOTabc0A==",
"optional": true,
"requires": {
"@electron/get": "^1.13.0",
@@ -10714,9 +10813,9 @@
}
},
"electron-to-chromium": {
- "version": "1.4.27",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.27.tgz",
- "integrity": "sha512-uZ95szi3zUbzRDx1zx/xnsCG+2xgZyy57pDOeaeO4r8zx5Dqe8Jv1ti8cunvBwJHVI5LzPuw8umKwZb3WKYxSQ==",
+ "version": "1.4.96",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz",
+ "integrity": "sha512-DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw==",
"dev": true
},
"emittery": {
@@ -10746,9 +10845,9 @@
}
},
"engine.io": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.0.tgz",
- "integrity": "sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==",
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
+ "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
"requires": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
@@ -10758,7 +10857,7 @@
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~5.0.0",
+ "engine.io-parser": "~5.0.3",
"ws": "~8.2.3"
},
"dependencies": {
@@ -10771,19 +10870,11 @@
}
},
"engine.io-parser": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz",
- "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
+ "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
"requires": {
- "base64-arraybuffer": "~1.0.1"
- }
- },
- "enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "requires": {
- "ansi-colors": "^4.1.1"
+ "@socket.io/base64-arraybuffer": "~1.0.2"
}
},
"env-paths": {
@@ -10878,23 +10969,22 @@
}
},
"eslint": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.5.0.tgz",
- "integrity": "sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==",
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz",
+ "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==",
"requires": {
- "@eslint/eslintrc": "^1.0.5",
+ "@eslint/eslintrc": "^1.2.1",
"@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",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.0",
+ "eslint-scope": "^7.1.1",
"eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.1.0",
- "espree": "^9.2.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -10902,7 +10992,7 @@
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^6.0.1",
"globals": "^13.6.0",
- "ignore": "^4.0.6",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
@@ -10913,53 +11003,40 @@
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
"regexpp": "^3.2.0",
- "semver": "^7.2.1",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
}
},
"eslint-config-prettier": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
- "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
+ "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
"dev": true,
"requires": {}
},
"eslint-plugin-jest": {
- "version": "25.3.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.3.0.tgz",
- "integrity": "sha512-79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==",
+ "version": "26.1.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz",
+ "integrity": "sha512-Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==",
"dev": true,
"requires": {
- "@typescript-eslint/experimental-utils": "^5.0.0"
+ "@typescript-eslint/utils": "^5.10.0"
}
},
"eslint-plugin-jsdoc": {
- "version": "37.4.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.4.0.tgz",
- "integrity": "sha512-XWKMMHFq7eUdC8XMzuQSskevJvlHTDSAJm/2qtEZ7+qhZTZ0YjeqWaUn7KGdrmxLNqtWwtJ67LdIPgrYUZ5EoA==",
+ "version": "38.1.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.3.tgz",
+ "integrity": "sha512-CJgBG1wzl2735rct2GpzS39lx4t0mlUiv9MvFndQKyqTVOGZLXeSkVNIE5inmg23T0EkCrS3AZ9dKbFAsK9ItA==",
"dev": true,
"requires": {
- "@es-joy/jsdoccomment": "0.13.0",
- "comment-parser": "1.3.0",
- "debug": "^4.3.3",
+ "@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",
- "jsdoc-type-pratt-parser": "^2.0.0",
"regextras": "^0.8.0",
"semver": "^7.3.5",
"spdx-expression-parse": "^3.0.1"
@@ -10986,9 +11063,9 @@
}
},
"eslint-scope": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz",
- "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"requires": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -11010,18 +11087,18 @@
}
},
"eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA=="
+ "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=="
},
"espree": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz",
- "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==",
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
+ "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
"requires": {
- "acorn": "^8.6.0",
+ "acorn": "^8.7.0",
"acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^3.1.0"
+ "eslint-visitor-keys": "^3.3.0"
}
},
"esprima": {
@@ -11102,38 +11179,28 @@
"dev": true
},
"expect": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz",
- "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==",
+ "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.4.2",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.4.0",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-regex-util": "^27.4.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
+ "@jest/types": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1"
}
},
"express": {
- "version": "4.17.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz",
- "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==",
+ "version": "4.17.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz",
+ "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==",
"requires": {
- "accepts": "~1.3.7",
+ "accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.19.1",
+ "body-parser": "1.19.2",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.4.1",
+ "cookie": "0.4.2",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
@@ -11148,7 +11215,7 @@
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7",
- "qs": "6.9.6",
+ "qs": "6.9.7",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
"send": "0.17.2",
@@ -11236,9 +11303,9 @@
"dev": true
},
"fast-glob": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
- "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "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",
@@ -11388,9 +11455,14 @@
}
},
"flatted": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
- "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw=="
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
+ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg=="
+ },
+ "follow-redirects": {
+ "version": "1.14.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
+ "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
},
"foreground-child": {
"version": "2.0.0",
@@ -11586,9 +11658,9 @@
}
},
"globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "version": "13.13.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
+ "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
"requires": {
"type-fest": "^0.20.2"
}
@@ -11603,25 +11675,17 @@
}
},
"globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "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.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
"slash": "^3.0.0"
- },
- "dependencies": {
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- }
}
},
"globjoin": {
@@ -11650,9 +11714,9 @@
}
},
"graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"devOptional": true
},
"hard-rejection": {
@@ -11694,14 +11758,14 @@
}
},
"helmet": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz",
- "integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg=="
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/helmet/-/helmet-5.0.2.tgz",
+ "integrity": "sha512-QWlwUZZ8BtlvwYVTSDTBChGf8EOcQ2LkGMnQJxSzD1mUu8CCjXJZq/BXP8eWw4kikRnzlhtYo3lCk0ucmYA3Vg=="
},
"hosted-git-info": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
- "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -11788,9 +11852,9 @@
}
},
"ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
},
"import-fresh": {
"version": "3.3.0",
@@ -11808,9 +11872,9 @@
"dev": true
},
"import-local": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz",
- "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==",
+ "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",
@@ -11875,9 +11939,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
+ "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==",
"dev": true,
"requires": {
"has": "^1.0.3"
@@ -11983,14 +12047,15 @@
}
},
"istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
+ "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
"dev": true,
"requires": {
- "@babel/core": "^7.7.5",
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
"@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-coverage": "^3.2.0",
"semver": "^6.3.0"
}
},
@@ -12040,9 +12105,9 @@
}
},
"istanbul-reports": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.1.tgz",
- "integrity": "sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw==",
+ "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",
@@ -12050,150 +12115,152 @@
}
},
"jest": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.5.tgz",
- "integrity": "sha512-uT5MiVN3Jppt314kidCk47MYIRilJjA/l2mxwiuzzxGUeJIvA8/pDaJOAX5KWvjAo7SCydcW0/4WEtgbLMiJkg==",
+ "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.4.5",
+ "@jest/core": "^27.5.1",
"import-local": "^3.0.2",
- "jest-cli": "^27.4.5"
+ "jest-cli": "^27.5.1"
}
},
"jest-changed-files": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz",
- "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"execa": "^5.0.0",
"throat": "^6.0.1"
}
},
"jest-circus": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.5.tgz",
- "integrity": "sha512-eTNWa9wsvBwPykhMMShheafbwyakcdHZaEYh5iRrQ0PFJxkDP/e3U/FvzGuKWu2WpwUA3C3hPlfpuzvOdTVqnw==",
+ "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.4.4",
- "@jest/test-result": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.5.tgz",
- "integrity": "sha512-hrky3DSgE0u7sQxaCL7bdebEPHx5QzYmrGuUjaPLmPE8jx5adtvGuOlRspvMoVLTTDOHRnZDoRLYJuA+VCI7Hg==",
+ "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.4.5",
- "@jest/test-result": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4",
+ "graceful-fs": "^4.2.9",
"import-local": "^3.0.2",
- "jest-config": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.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.4.5",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.5.tgz",
- "integrity": "sha512-t+STVJtPt+fpqQ8GBw850NtSQbnDOw/UzdPfzDaHQ48/AylQlW7LHj3dH+ndxhC1UxJ0Q3qkq7IH+nM1skwTwA==",
+ "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.1.0",
- "@jest/test-sequencer": "^27.4.5",
- "@jest/types": "^27.4.2",
- "babel-jest": "^27.4.5",
+ "@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.4",
- "jest-circus": "^27.4.5",
- "jest-environment-jsdom": "^27.4.4",
- "jest-environment-node": "^27.4.4",
- "jest-get-type": "^27.4.0",
- "jest-jasmine2": "^27.4.5",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-runner": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "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",
- "pretty-format": "^27.4.2",
- "slash": "^3.0.0"
+ "parse-json": "^5.2.0",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
}
},
"jest-diff": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.2.tgz",
- "integrity": "sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==",
+ "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.4.0",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
}
},
"jest-docblock": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz",
- "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==",
+ "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.4.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.2.tgz",
- "integrity": "sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.2"
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
}
},
"jest-environment-jsdom": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.4.tgz",
- "integrity": "sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA==",
+ "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.4.4",
- "@jest/fake-timers": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.2",
- "jest-util": "^27.4.2",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
"jsdom": "^16.6.0"
},
"dependencies": {
@@ -12363,9 +12430,9 @@
}
},
"ws": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
+ "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
"dev": true,
"requires": {}
},
@@ -12378,118 +12445,117 @@
}
},
"jest-environment-node": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.4.tgz",
- "integrity": "sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA==",
+ "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.4.4",
- "@jest/fake-timers": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.2",
- "jest-util": "^27.4.2"
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
}
},
"jest-get-type": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz",
- "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.5.tgz",
- "integrity": "sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q==",
+ "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.4.2",
+ "@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.4",
- "jest-regex-util": "^27.4.0",
- "jest-serializer": "^27.4.0",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.5.tgz",
- "integrity": "sha512-oUnvwhJDj2LhOiUB1kdnJjkx8C5PwgUZQb9urF77mELH9DGR4e2GqpWQKBOYXWs5+uTN9BGDqRz3Aeg5Wts7aw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+ "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.4.4",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "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.4.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz",
- "integrity": "sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==",
+ "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.4.0",
- "pretty-format": "^27.4.2"
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
}
},
"jest-matcher-utils": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz",
- "integrity": "sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==",
+ "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.4.2",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
}
},
"jest-message-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.2.tgz",
- "integrity": "sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
}
},
"jest-mock": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.2.tgz",
- "integrity": "sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*"
}
},
@@ -12501,143 +12567,136 @@
"requires": {}
},
"jest-regex-util": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz",
- "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.5.tgz",
- "integrity": "sha512-xU3z1BuOz/hUhVUL+918KqUgK+skqOuUsAi7A+iwoUldK6/+PW+utK8l8cxIWT9AW7IAhGNXjSAh1UYmjULZZw==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.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.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.5.tgz",
- "integrity": "sha512-elEVvkvRK51y037NshtEkEnukMBWvlPzZHiL847OrIljJ8yIsujD2GXRPqDXC4rEVKbcdsy7W0FxoZb4WmEs7w==",
+ "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.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-snapshot": "^27.4.5"
+ "@jest/types": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-snapshot": "^27.5.1"
}
},
"jest-runner": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.5.tgz",
- "integrity": "sha512-/irauncTfmY1WkTaRQGRWcyQLzK1g98GYG/8QvIPviHgO1Fqz1JYeEIsSfF+9mc/UTA6S+IIHFgKyvUrtiBIZg==",
+ "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.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.4.0",
- "jest-environment-jsdom": "^27.4.4",
- "jest-environment-node": "^27.4.4",
- "jest-haste-map": "^27.4.5",
- "jest-leak-detector": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
- "jest-runtime": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "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.4.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.5.tgz",
- "integrity": "sha512-CIYqwuJQXHQtPd/idgrx4zgJ6iCb6uBjQq1RSAGQrw2S8XifDmoM1Ot8NRd80ooAm+ZNdHVwsktIMGlA1F1FAQ==",
+ "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/console": "^27.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/globals": "^27.4.4",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
- "@types/yargs": "^16.0.0",
+ "@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",
- "exit": "^0.1.2",
"glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-snapshot": "^27.4.5",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "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",
- "yargs": "^16.2.0"
+ "strip-bom": "^4.0.0"
}
},
"jest-serializer": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz",
- "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==",
+ "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.4"
+ "graceful-fs": "^4.2.9"
}
},
"jest-snapshot": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.5.tgz",
- "integrity": "sha512-eCi/iM1YJFrJWiT9de4+RpWWWBqsHiYxFG9V9o/n0WXs6GpW4lUt4FAHAgFPTLPqCUVzrMQmSmTZSgQzwqR7IQ==",
+ "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/parser": "^7.7.2",
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.0.0",
- "@jest/transform": "^27.4.5",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.4.2",
- "jest-get-type": "^27.4.0",
- "jest-haste-map": "^27.4.5",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
- "jest-util": "^27.4.2",
+ "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.4.2",
+ "pretty-format": "^27.5.1",
"semver": "^7.3.2"
},
"dependencies": {
@@ -12653,60 +12712,60 @@
}
},
"jest-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz",
- "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"picomatch": "^2.2.3"
}
},
"jest-validate": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.2.tgz",
- "integrity": "sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==",
+ "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.4.2",
+ "@jest/types": "^27.5.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
+ "jest-get-type": "^27.5.1",
"leven": "^3.1.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.5.1"
},
"dependencies": {
"camelcase": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
- "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true
}
}
},
"jest-watcher": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.2.tgz",
- "integrity": "sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==",
+ "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.4.2",
- "@jest/types": "^27.4.2",
+ "@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.4.2",
+ "jest-util": "^27.5.1",
"string-length": "^4.0.1"
}
},
"jest-worker": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz",
- "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==",
+ "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": "*",
@@ -12746,9 +12805,9 @@
}
},
"jsdoc-type-pratt-parser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz",
- "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==",
+ "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": {
@@ -12821,13 +12880,10 @@
"optional": true
},
"json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
+ "dev": true
},
"jsonfile": {
"version": "4.0.0",
@@ -12939,6 +12995,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "devOptional": true,
"requires": {
"yallist": "^4.0.0"
}
@@ -12946,8 +13003,7 @@
"luxon": {
"version": "1.28.0",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz",
- "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==",
- "optional": true
+ "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ=="
},
"make-dir": {
"version": "3.1.0",
@@ -13054,32 +13110,32 @@
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"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==",
"dev": true,
"requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
}
},
"mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"dev": true
},
"mime-db": {
- "version": "1.51.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
- "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g=="
+ "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.34",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
- "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
+ "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.51.0"
+ "mime-db": "1.52.0"
}
},
"mimic-fn": {
@@ -13101,18 +13157,18 @@
"dev": true
},
"minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "devOptional": true
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+ "optional": true
},
"minimist-options": {
"version": "4.1.0",
@@ -13134,12 +13190,12 @@
}
},
"mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"optional": true,
"requires": {
- "minimist": "^1.2.5"
+ "minimist": "^1.2.6"
}
},
"module-alias": {
@@ -13185,9 +13241,9 @@
}
},
"nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
+ "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==",
"dev": true
},
"natural-compare": {
@@ -13196,32 +13252,23 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
},
"negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
},
"nise": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz",
- "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz",
+ "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==",
"dev": true,
"requires": {
- "@sinonjs/commons": "^1.7.0",
- "@sinonjs/fake-timers": "^7.0.4",
+ "@sinonjs/commons": "^1.8.3",
+ "@sinonjs/fake-timers": ">=5",
"@sinonjs/text-encoding": "^0.7.1",
"just-extend": "^4.0.2",
"path-to-regexp": "^1.7.0"
},
"dependencies": {
- "@sinonjs/fake-timers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
- "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -13240,9 +13287,9 @@
}
},
"node-fetch": {
- "version": "2.6.6",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
- "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==",
+ "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"
},
@@ -13269,13 +13316,13 @@
}
},
"node-ical": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/node-ical/-/node-ical-0.13.0.tgz",
- "integrity": "sha512-hfV7HsY0oTehirXLtkKgAdVomSv6/zjSw66z/RTkKfEp9MwwIz1asyE/g9x4ZKWE2YqGnr81Se5zSRcligPY5Q==",
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/node-ical/-/node-ical-0.15.1.tgz",
+ "integrity": "sha512-+MWL5mdYINFc5+Z5HDGJbQAK3QcpqEV8wok61Kb1VzIV16iTA/9vhIRrLcW+Iht5bm9wI7XalEssMohLeTwPgA==",
"requires": {
+ "axios": "^0.26.1",
"moment-timezone": "^0.5.31",
- "node-fetch": "^2.6.1",
- "rrule": "2.6.8",
+ "rrule": "2.6.4",
"uuid": "^8.3.1"
}
},
@@ -13295,9 +13342,9 @@
}
},
"node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
+ "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
"dev": true
},
"normalize-package-data": {
@@ -13412,6 +13459,18 @@
"wrap-ansi": "^6.2.0"
}
},
+ "istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -13643,9 +13702,9 @@
"dev": true
},
"picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pify": {
@@ -13655,11 +13714,28 @@
"optional": true
},
"pirates": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
- "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
"dev": true
},
+ "pixelmatch": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz",
+ "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==",
+ "dev": true,
+ "requires": {
+ "pngjs": "^4.0.1"
+ },
+ "dependencies": {
+ "pngjs": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz",
+ "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==",
+ "dev": true
+ }
+ }
+ },
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -13670,38 +13746,49 @@
}
},
"playwright": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.17.1.tgz",
- "integrity": "sha512-DisCkW9MblDJNS3rG61p8LiLA2WA7IY/4A4W7DX4BphWe/HuWjKmGQptuk4NVIh5UuSwXpW/jaH2+ZgjHs3GMA==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.20.1.tgz",
+ "integrity": "sha512-d/25SFUk6Rkt3h+RU13T7h6o0UTCLKXKYJILWVlC+NmrE7Tvn3LlXxoREfFXVNFikRZWTV60WBCZKgNbj7RfrA==",
"dev": true,
"requires": {
- "playwright-core": "=1.17.1"
+ "playwright-core": "1.20.1"
}
},
"playwright-core": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.17.1.tgz",
- "integrity": "sha512-C3c8RpPiC3qr15fRDN6dx6WnUkPLFmST37gms2aoHPDRvp7EaGDPMMZPpqIm/QWB5J40xDrQCD4YYHz2nBTojQ==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.20.1.tgz",
+ "integrity": "sha512-A8ZsZ09gaSbxP0UijoLyzp3LJc0kWMxDooLPi+mm4/5iYnTbd6PF5nKjoFw1a7KwjZIEgdhJduah4BcUIh+IPA==",
"dev": true,
"requires": {
- "commander": "^8.2.0",
- "debug": "^4.1.1",
- "extract-zip": "^2.0.1",
- "https-proxy-agent": "^5.0.0",
- "jpeg-js": "^0.4.2",
- "mime": "^2.4.6",
- "pngjs": "^5.0.0",
- "progress": "^2.0.3",
- "proper-lockfile": "^4.1.1",
- "proxy-from-env": "^1.1.0",
- "rimraf": "^3.0.2",
- "socks-proxy-agent": "^6.1.0",
- "stack-utils": "^2.0.3",
- "ws": "^7.4.6",
- "yauzl": "^2.10.0",
- "yazl": "^2.5.1"
+ "colors": "1.4.0",
+ "commander": "8.3.0",
+ "debug": "4.3.3",
+ "extract-zip": "2.0.1",
+ "https-proxy-agent": "5.0.0",
+ "jpeg-js": "0.4.3",
+ "mime": "3.0.0",
+ "pixelmatch": "5.2.1",
+ "pngjs": "6.0.0",
+ "progress": "2.0.3",
+ "proper-lockfile": "4.1.2",
+ "proxy-from-env": "1.1.0",
+ "rimraf": "3.0.2",
+ "socks-proxy-agent": "6.1.1",
+ "stack-utils": "2.0.5",
+ "ws": "8.4.2",
+ "yauzl": "2.10.0",
+ "yazl": "2.5.1"
},
"dependencies": {
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
"extract-zip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
@@ -13724,29 +13811,29 @@
}
},
"ws": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz",
+ "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==",
"dev": true,
"requires": {}
}
}
},
"pngjs": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
- "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
+ "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==",
"dev": true
},
"postcss": {
- "version": "8.4.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
- "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+ "version": "8.4.12",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
+ "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
"dev": true,
"requires": {
- "nanoid": "^3.1.30",
+ "nanoid": "^3.3.1",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.1"
+ "source-map-js": "^1.0.2"
}
},
"postcss-media-query-parser": {
@@ -13769,9 +13856,9 @@
"requires": {}
},
"postcss-selector-parser": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz",
- "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
+ "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
@@ -13796,9 +13883,9 @@
"optional": true
},
"prettier": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
- "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz",
+ "integrity": "sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==",
"dev": true
},
"prettier-linter-helpers": {
@@ -13811,12 +13898,11 @@
}
},
"pretty-format": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz",
- "integrity": "sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==",
+ "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": {
- "@jest/types": "^27.4.2",
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
"react-is": "^17.0.1"
@@ -13885,12 +13971,6 @@
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
}
}
},
@@ -13912,7 +13992,8 @@
"progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "devOptional": true
},
"prompts": {
"version": "2.4.2",
@@ -13978,9 +14059,9 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"qs": {
- "version": "6.9.6",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
- "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw=="
},
"queue-microtask": {
"version": "1.2.3",
@@ -14016,11 +14097,11 @@
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"raw-body": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
- "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz",
+ "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==",
"requires": {
- "bytes": "3.1.1",
+ "bytes": "3.1.2",
"http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
@@ -14177,13 +14258,14 @@
"dev": true
},
"resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "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.2.0",
- "path-parse": "^1.0.6"
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
}
},
"resolve-cwd": {
@@ -14258,9 +14340,9 @@
}
},
"rrule": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/rrule/-/rrule-2.6.8.tgz",
- "integrity": "sha512-cUaXuUPrz9d1wdyzHsBfT1hptKlGgABeCINFXFvulEPqh9Np9BnF3C3lrv9uO54IIr8VDb58tsSF3LhsW+4VRw==",
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/rrule/-/rrule-2.6.4.tgz",
+ "integrity": "sha512-sLdnh4lmjUqq8liFiOUXD5kWp/FcnbDLPwq5YAc/RrN6120XOPb86Ae5zxF7ttBVq8O3LxjjORMEit1baluahA==",
"requires": {
"luxon": "^1.21.3",
"tslib": "^1.10.0"
@@ -14411,23 +14493,34 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
},
"signal-exit": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
- "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
+ "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
},
"sinon": {
- "version": "12.0.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz",
- "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==",
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.1.tgz",
+ "integrity": "sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.8.3",
- "@sinonjs/fake-timers": "^8.1.0",
- "@sinonjs/samsam": "^6.0.2",
+ "@sinonjs/fake-timers": "^9.0.0",
+ "@sinonjs/samsam": "^6.1.1",
"diff": "^5.0.0",
- "nise": "^5.1.0",
+ "nise": "^5.1.1",
"supports-color": "^7.2.0"
+ },
+ "dependencies": {
+ "@sinonjs/fake-timers": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.1.tgz",
+ "integrity": "sha512-Wp5vwlZ0lOqpSYGKqr53INws9HLkt6JDc/pDZcPf7bchQnrXJMXPns8CXx0hFikMSGSWfvtvvpb2gtMVfkWagA==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ }
}
},
"sisteransi": {
@@ -14460,9 +14553,9 @@
"dev": true
},
"socket.io": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.0.tgz",
- "integrity": "sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
+ "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
@@ -14488,13 +14581,13 @@
}
},
"socks": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz",
- "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==",
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
+ "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
"dev": true,
"requires": {
"ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
+ "smart-buffer": "^4.2.0"
}
},
"socks-proxy-agent": {
@@ -14515,9 +14608,9 @@
"dev": true
},
"source-map-js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
- "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true
},
"source-map-support": {
@@ -14689,22 +14782,23 @@
"dev": true
},
"stylelint": {
- "version": "14.2.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.2.0.tgz",
- "integrity": "sha512-i0DrmDXFNpDsWiwx6SPRs4/pyw4kvZgqpDGvsTslQMY7hpUl6r33aQvNSn6cnTg2wtZ9rreFElI7XAKpOWi1vQ==",
+ "version": "14.6.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.6.1.tgz",
+ "integrity": "sha512-FfNdvZUZdzh9KDQxDnO7Opp+prKh8OQVuSW8S13cBtxrooCbm6J6royhUeb++53WPMt04VB+ZbOz/QmzAijs6Q==",
"dev": true,
"requires": {
"balanced-match": "^2.0.0",
"colord": "^2.9.2",
"cosmiconfig": "^7.0.1",
- "debug": "^4.3.3",
+ "css-functions-list": "^3.0.1",
+ "debug": "^4.3.4",
"execall": "^2.0.0",
- "fast-glob": "^3.2.7",
+ "fast-glob": "^3.2.11",
"fastest-levenshtein": "^1.0.12",
"file-entry-cache": "^6.0.1",
"get-stdin": "^8.0.0",
"global-modules": "^2.0.0",
- "globby": "^11.0.4",
+ "globby": "^11.1.0",
"globjoin": "^0.1.4",
"html-tags": "^3.1.0",
"ignore": "^5.2.0",
@@ -14718,21 +14812,22 @@
"normalize-path": "^3.0.0",
"normalize-selector": "^0.2.0",
"picocolors": "^1.0.0",
- "postcss": "^8.3.11",
+ "postcss": "^8.4.12",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.7",
- "postcss-value-parser": "^4.1.0",
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0",
"specificity": "^0.4.1",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"style-search": "^0.1.0",
+ "supports-hyperlinks": "^2.2.0",
"svg-tags": "^1.0.0",
- "table": "^6.7.5",
+ "table": "^6.8.0",
"v8-compile-cache": "^2.3.0",
- "write-file-atomic": "^3.0.3"
+ "write-file-atomic": "^4.0.1"
},
"dependencies": {
"balanced-match": {
@@ -14741,17 +14836,21 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "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
+ },
+ "write-file-atomic": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
+ "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ }
}
}
},
@@ -14763,19 +14862,19 @@
"requires": {}
},
"stylelint-config-recommended": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz",
- "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
+ "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==",
"dev": true,
"requires": {}
},
"stylelint-config-standard": {
- "version": "24.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz",
- "integrity": "sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==",
+ "version": "25.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz",
+ "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==",
"dev": true,
"requires": {
- "stylelint-config-recommended": "^6.0.0"
+ "stylelint-config-recommended": "^7.0.0"
}
},
"stylelint-prettier": {
@@ -14797,9 +14896,9 @@
}
},
"suncalc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.8.0.tgz",
- "integrity": "sha1-HZiYEJVjB4dQ9JlKlZ5lTYdqy/U=",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.9.0.tgz",
+ "integrity": "sha512-vMJ8Byp1uIPoj+wb9c1AdK4jpkSKVAywgHX0lqY7zt6+EWRRC3Z+0Ucfjy/0yxTVO1hwwchZe4uoFNqrIC24+A==",
"dev": true
},
"supports-color": {
@@ -14820,6 +14919,12 @@
"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
+ },
"svg-tags": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
@@ -14833,9 +14938,9 @@
"dev": true
},
"table": {
- "version": "6.7.5",
- "resolved": "https://registry.npmjs.org/table/-/table-6.7.5.tgz",
- "integrity": "sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==",
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
+ "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
"dev": true,
"requires": {
"ajv": "^8.0.1",
@@ -14846,9 +14951,9 @@
},
"dependencies": {
"ajv": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz",
- "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==",
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
@@ -15019,9 +15124,9 @@
}
},
"typescript": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
- "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
+ "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
"dev": true,
"peer": true
},
@@ -15075,9 +15180,9 @@
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
},
"v8-to-istanbul": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz",
- "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==",
+ "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",
@@ -15214,9 +15319,9 @@
}
},
"ws": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz",
- "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==",
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
+ "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
"requires": {}
},
@@ -15241,7 +15346,8 @@
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "devOptional": true
},
"yaml": {
"version": "1.10.2",
diff --git a/package.json b/package.json
index ca01ad5e..763a33db 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "magicmirror",
- "version": "2.18.0",
+ "version": "2.19.0",
"description": "The open source modular smart mirror platform.",
"main": "js/electron.js",
"scripts": {
@@ -9,7 +9,7 @@
"server": "node ./serveronly",
"install": "echo \"Installing vendor files ...\n\" && cd vendor && npm install --loglevel=error",
"install-fonts": "echo \"Installing fonts ...\n\" && cd fonts && npm install --loglevel=error",
- "postinstall": "npm run install-fonts && echo \"MagicMirror installation finished successfully! \n\"",
+ "postinstall": "npm run install-fonts && echo \"MagicMirror² installation finished successfully! \n\"",
"test": "NODE_ENV=test jest -i --forceExit",
"test:coverage": "NODE_ENV=test nyc --reporter=lcov --reporter=text jest -i --forceExit",
"test:electron": "NODE_ENV=test jest --selectProjects electron -i --forceExit",
@@ -32,6 +32,7 @@
},
"keywords": [
"magic mirror",
+ "magicmirror",
"smart mirror",
"mirror UI",
"modular"
@@ -46,55 +47,57 @@
},
"homepage": "https://magicmirror.builders",
"devDependencies": {
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-jest": "^25.3.0",
- "eslint-plugin-jsdoc": "^37.4.0",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-jest": "^26.1.3",
+ "eslint-plugin-jsdoc": "^38.1.3",
"eslint-plugin-prettier": "^4.0.0",
"express-basic-auth": "^1.2.1",
"husky": "^7.0.4",
- "jest": "^27.4.5",
+ "jest": "^27.5.1",
"jsdom": "^19.0.0",
"lodash": "^4.17.21",
"nyc": "^15.1.0",
- "playwright": "^1.17.1",
- "prettier": "^2.5.1",
+ "playwright": "^1.20.1",
+ "prettier": "^2.6.1",
"pretty-quick": "^3.1.3",
- "sinon": "^12.0.1",
- "stylelint": "^14.2.0",
+ "sinon": "^13.0.1",
+ "stylelint": "^14.6.1",
"stylelint-config-prettier": "^9.0.3",
- "stylelint-config-standard": "^24.0.0",
+ "stylelint-config-standard": "^25.0.0",
"stylelint-prettier": "^2.0.0",
- "suncalc": "^1.8.0"
+ "suncalc": "^1.9.0"
},
"optionalDependencies": {
- "electron": "^16.0.5"
+ "electron": "^17.2.0"
},
"dependencies": {
"colors": "^1.4.0",
- "console-stamp": "^3.0.3",
+ "console-stamp": "^3.0.4",
"digest-fetch": "^1.2.1",
- "eslint": "^8.5.0",
- "express": "^4.17.2",
+ "eslint": "^8.12.0",
+ "express": "^4.17.3",
"express-ipfilter": "^1.2.0",
"feedme": "^2.0.2",
- "helmet": "^4.6.0",
+ "helmet": "^5.0.2",
"iconv-lite": "^0.6.3",
+ "luxon": "^1.21.3",
"module-alias": "^2.2.2",
"moment": "^2.29.1",
- "node-fetch": "^2.6.6",
- "node-ical": "^0.13.0",
- "socket.io": "^4.4.0"
+ "node-fetch": "^2.6.7",
+ "node-ical": "^0.15.1",
+ "socket.io": "^4.4.1"
},
"_moduleAliases": {
"node_helper": "js/node_helper.js",
"logger": "js/logger.js"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
},
"jest": {
"verbose": true,
- "testTimeout": 10000,
+ "testTimeout": 20000,
+ "testSequencer": "/tests/configs/test_sequencer.js",
"projects": [
{
"displayName": "unit",
diff --git a/tests/configs/data/weatherforecast_data.json b/tests/configs/data/weatherforecast_data.json
deleted file mode 100644
index a64e2e08..00000000
--- a/tests/configs/data/weatherforecast_data.json
+++ /dev/null
@@ -1,1838 +0,0 @@
-{
- "withSunset": {
- "cod": "200",
- "message": 0,
- "cnt": 25,
- "list": [
- {
- "dt": 1609189200,
- "main": {
- "temp": 4.61,
- "feels_like": -1.32,
- "temp_min": 3.71,
- "temp_max": 4.61,
- "pressure": 989,
- "sea_level": 989,
- "grnd_level": 961,
- "humidity": 68,
- "temp_kf": 0.9
- },
- "weather": [
- {
- "id": 802,
- "main": "Clouds",
- "description": "rozproszone chmury",
- "icon": "03n"
- }
- ],
- "clouds": {
- "all": 32
- },
- "wind": {
- "speed": 5.47,
- "deg": 132
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-28 21:00:00"
- },
- {
- "dt": 1609200000,
- "main": {
- "temp": 5.14,
- "feels_like": -1.57,
- "temp_min": 5.05,
- "temp_max": 5.14,
- "pressure": 987,
- "sea_level": 987,
- "grnd_level": 959,
- "humidity": 72,
- "temp_kf": 0.09
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 65
- },
- "wind": {
- "speed": 6.86,
- "deg": 118
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 00:00:00"
- },
- {
- "dt": 1609210800,
- "main": {
- "temp": 5.41,
- "feels_like": -0.54,
- "temp_min": 5.41,
- "temp_max": 5.41,
- "pressure": 984,
- "sea_level": 984,
- "grnd_level": 956,
- "humidity": 78,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 94
- },
- "wind": {
- "speed": 6.08,
- "deg": 129
- },
- "visibility": 10000,
- "pop": 0.59,
- "rain": {
- "3h": 0.6
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 03:00:00"
- },
- {
- "dt": 1609221600,
- "main": {
- "temp": 2.44,
- "feels_like": -4.74,
- "temp_min": 2.42,
- "temp_max": 2.44,
- "pressure": 986,
- "sea_level": 986,
- "grnd_level": 958,
- "humidity": 94,
- "temp_kf": 0.02
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 99
- },
- "wind": {
- "speed": 7.77,
- "deg": 231
- },
- "visibility": 258,
- "pop": 0.91,
- "rain": {
- "3h": 1.6
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 06:00:00"
- },
- {
- "dt": 1609232400,
- "main": {
- "temp": 3.53,
- "feels_like": -4.56,
- "temp_min": 3.53,
- "temp_max": 3.53,
- "pressure": 992,
- "sea_level": 992,
- "grnd_level": 964,
- "humidity": 74,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 67
- },
- "wind": {
- "speed": 8.58,
- "deg": 215
- },
- "visibility": 10000,
- "pop": 0.53,
- "rain": {
- "3h": 0.13
- },
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-29 09:00:00"
- },
- {
- "dt": 1609243200,
- "main": {
- "temp": 6.25,
- "feels_like": -0.57,
- "temp_min": 6.25,
- "temp_max": 6.25,
- "pressure": 995,
- "sea_level": 995,
- "grnd_level": 967,
- "humidity": 62,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04d"
- }
- ],
- "clouds": {
- "all": 67
- },
- "wind": {
- "speed": 6.8,
- "deg": 209
- },
- "visibility": 10000,
- "pop": 0.38,
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-29 12:00:00"
- },
- {
- "dt": 1609254000,
- "main": {
- "temp": 4.09,
- "feels_like": -0.59,
- "temp_min": 4.09,
- "temp_max": 4.09,
- "pressure": 997,
- "sea_level": 997,
- "grnd_level": 968,
- "humidity": 73,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 8
- },
- "wind": {
- "speed": 3.78,
- "deg": 180
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 15:00:00"
- },
- {
- "dt": 1609264800,
- "main": {
- "temp": 3.96,
- "feels_like": 0.06,
- "temp_min": 3.96,
- "temp_max": 3.96,
- "pressure": 999,
- "sea_level": 999,
- "grnd_level": 971,
- "humidity": 77,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 802,
- "main": "Clouds",
- "description": "rozproszone chmury",
- "icon": "03n"
- }
- ],
- "clouds": {
- "all": 30
- },
- "wind": {
- "speed": 2.8,
- "deg": 206
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 18:00:00"
- },
- {
- "dt": 1609275600,
- "main": {
- "temp": 3.99,
- "feels_like": -1.08,
- "temp_min": 3.99,
- "temp_max": 3.99,
- "pressure": 1002,
- "sea_level": 1002,
- "grnd_level": 973,
- "humidity": 84,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 67
- },
- "wind": {
- "speed": 4.74,
- "deg": 209
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 21:00:00"
- },
- {
- "dt": 1609286400,
- "main": {
- "temp": 2.81,
- "feels_like": -1.04,
- "temp_min": 2.81,
- "temp_max": 2.81,
- "pressure": 1002,
- "sea_level": 1002,
- "grnd_level": 974,
- "humidity": 90,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 65
- },
- "wind": {
- "speed": 2.95,
- "deg": 169
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 00:00:00"
- },
- {
- "dt": 1609297200,
- "main": {
- "temp": 3.94,
- "feels_like": 0,
- "temp_min": 3.94,
- "temp_max": 3.94,
- "pressure": 1002,
- "sea_level": 1002,
- "grnd_level": 974,
- "humidity": 89,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 3.31,
- "deg": 147
- },
- "visibility": 10000,
- "pop": 0.52,
- "rain": {
- "3h": 0.58
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 03:00:00"
- },
- {
- "dt": 1609308000,
- "main": {
- "temp": 3.94,
- "feels_like": 0.17,
- "temp_min": 3.94,
- "temp_max": 3.94,
- "pressure": 1003,
- "sea_level": 1003,
- "grnd_level": 975,
- "humidity": 87,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 2.99,
- "deg": 155
- },
- "visibility": 8132,
- "pop": 0.72,
- "rain": {
- "3h": 1
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 06:00:00"
- },
- {
- "dt": 1609318800,
- "main": {
- "temp": 3.78,
- "feels_like": 0.53,
- "temp_min": 3.78,
- "temp_max": 3.78,
- "pressure": 1004,
- "sea_level": 1004,
- "grnd_level": 976,
- "humidity": 94,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 2.48,
- "deg": 196
- },
- "visibility": 10000,
- "pop": 0.91,
- "rain": {
- "3h": 2.46
- },
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-30 09:00:00"
- },
- {
- "dt": 1609329600,
- "main": {
- "temp": 3.95,
- "feels_like": 1.37,
- "temp_min": 3.95,
- "temp_max": 3.95,
- "pressure": 1004,
- "sea_level": 1004,
- "grnd_level": 976,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 1.6,
- "deg": 208
- },
- "visibility": 10000,
- "pop": 0.89,
- "rain": {
- "3h": 0.8
- },
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-30 12:00:00"
- },
- {
- "dt": 1609340400,
- "main": {
- "temp": 3.31,
- "feels_like": 0.29,
- "temp_min": 3.31,
- "temp_max": 3.31,
- "pressure": 1005,
- "sea_level": 1005,
- "grnd_level": 976,
- "humidity": 92,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 99
- },
- "wind": {
- "speed": 1.96,
- "deg": 280
- },
- "visibility": 10000,
- "pop": 0.5,
- "rain": {
- "3h": 0.34
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 15:00:00"
- },
- {
- "dt": 1609351200,
- "main": {
- "temp": 1.57,
- "feels_like": -1.29,
- "temp_min": 1.57,
- "temp_max": 1.57,
- "pressure": 1006,
- "sea_level": 1006,
- "grnd_level": 978,
- "humidity": 93,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 71
- },
- "wind": {
- "speed": 1.37,
- "deg": 246
- },
- "visibility": 10000,
- "pop": 0.35,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 18:00:00"
- },
- {
- "dt": 1609362000,
- "main": {
- "temp": 0.73,
- "feels_like": -2.34,
- "temp_min": 0.73,
- "temp_max": 0.73,
- "pressure": 1008,
- "sea_level": 1008,
- "grnd_level": 979,
- "humidity": 94,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 4
- },
- "wind": {
- "speed": 1.53,
- "deg": 244
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 21:00:00"
- },
- {
- "dt": 1609372800,
- "main": {
- "temp": 0.51,
- "feels_like": -1.99,
- "temp_min": 0.51,
- "temp_max": 0.51,
- "pressure": 1009,
- "sea_level": 1009,
- "grnd_level": 980,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 4
- },
- "wind": {
- "speed": 0.69,
- "deg": 237
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 00:00:00"
- },
- {
- "dt": 1609383600,
- "main": {
- "temp": 0.14,
- "feels_like": -2.57,
- "temp_min": 0.14,
- "temp_max": 0.14,
- "pressure": 1009,
- "sea_level": 1009,
- "grnd_level": 980,
- "humidity": 96,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 8
- },
- "wind": {
- "speed": 0.95,
- "deg": 312
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 03:00:00"
- },
- {
- "dt": 1609394400,
- "main": {
- "temp": 0.16,
- "feels_like": -2.54,
- "temp_min": 0.16,
- "temp_max": 0.16,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 96,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 802,
- "main": "Clouds",
- "description": "rozproszone chmury",
- "icon": "03n"
- }
- ],
- "clouds": {
- "all": 28
- },
- "wind": {
- "speed": 0.94,
- "deg": 160
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 06:00:00"
- },
- {
- "dt": 1609405200,
- "main": {
- "temp": 1.51,
- "feels_like": -1.12,
- "temp_min": 1.51,
- "temp_max": 1.51,
- "pressure": 1011,
- "sea_level": 1011,
- "grnd_level": 982,
- "humidity": 87,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 0.83,
- "deg": 184
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-31 09:00:00"
- },
- {
- "dt": 1609416000,
- "main": {
- "temp": 2.44,
- "feels_like": -0.22,
- "temp_min": 2.44,
- "temp_max": 2.44,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 81,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 0.87,
- "deg": 308
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-31 12:00:00"
- },
- {
- "dt": 1609426800,
- "main": {
- "temp": 0.33,
- "feels_like": -2.12,
- "temp_min": 0.33,
- "temp_max": 0.33,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 94,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 96
- },
- "wind": {
- "speed": 0.55,
- "deg": 48
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 15:00:00"
- },
- {
- "dt": 1609437600,
- "main": {
- "temp": -0.03,
- "feels_like": -2.55,
- "temp_min": -0.03,
- "temp_max": -0.03,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 87
- },
- "wind": {
- "speed": 0.62,
- "deg": 44
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 18:00:00"
- },
- {
- "dt": 1609448400,
- "main": {
- "temp": -0.11,
- "feels_like": -3.04,
- "temp_min": -0.11,
- "temp_max": -0.11,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 93
- },
- "wind": {
- "speed": 1.18,
- "deg": 22
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 21:00:00"
- }
- ],
- "city": {
- "id": 3094597,
- "name": "Krupski Młyn",
- "coord": {
- "lat": 50.5734,
- "lon": 18.6225
- },
- "country": "PL",
- "population": 0,
- "timezone": 3600,
- "sunrise": 1609137993,
- "sunset": 1609166856
- }
- },
- "withoutSunset": {
- "cod": "200",
- "message": 0,
- "cnt": 25,
- "list": [
- {
- "dt": 1609189200,
- "main": {
- "temp": 4.61,
- "feels_like": -1.32,
- "temp_min": 3.71,
- "temp_max": 4.61,
- "pressure": 989,
- "sea_level": 989,
- "grnd_level": 961,
- "humidity": 68,
- "temp_kf": 0.9
- },
- "weather": [
- {
- "id": 802,
- "main": "Clouds",
- "description": "rozproszone chmury",
- "icon": "03n"
- }
- ],
- "clouds": {
- "all": 32
- },
- "wind": {
- "speed": 5.47,
- "deg": 132
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-28 21:00:00"
- },
- {
- "dt": 1609200000,
- "main": {
- "temp": 5.14,
- "feels_like": -1.57,
- "temp_min": 5.05,
- "temp_max": 5.14,
- "pressure": 987,
- "sea_level": 987,
- "grnd_level": 959,
- "humidity": 72,
- "temp_kf": 0.09
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 65
- },
- "wind": {
- "speed": 6.86,
- "deg": 118
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 00:00:00"
- },
- {
- "dt": 1609210800,
- "main": {
- "temp": 5.41,
- "feels_like": -0.54,
- "temp_min": 5.41,
- "temp_max": 5.41,
- "pressure": 984,
- "sea_level": 984,
- "grnd_level": 956,
- "humidity": 78,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 94
- },
- "wind": {
- "speed": 6.08,
- "deg": 129
- },
- "visibility": 10000,
- "pop": 0.59,
- "rain": {
- "3h": 0.6
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 03:00:00"
- },
- {
- "dt": 1609221600,
- "main": {
- "temp": 2.44,
- "feels_like": -4.74,
- "temp_min": 2.42,
- "temp_max": 2.44,
- "pressure": 986,
- "sea_level": 986,
- "grnd_level": 958,
- "humidity": 94,
- "temp_kf": 0.02
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 99
- },
- "wind": {
- "speed": 7.77,
- "deg": 231
- },
- "visibility": 258,
- "pop": 0.91,
- "rain": {
- "3h": 1.6
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 06:00:00"
- },
- {
- "dt": 1609232400,
- "main": {
- "temp": 3.53,
- "feels_like": -4.56,
- "temp_min": 3.53,
- "temp_max": 3.53,
- "pressure": 992,
- "sea_level": 992,
- "grnd_level": 964,
- "humidity": 74,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 67
- },
- "wind": {
- "speed": 8.58,
- "deg": 215
- },
- "visibility": 10000,
- "pop": 0.53,
- "rain": {
- "3h": 0.13
- },
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-29 09:00:00"
- },
- {
- "dt": 1609243200,
- "main": {
- "temp": 6.25,
- "feels_like": -0.57,
- "temp_min": 6.25,
- "temp_max": 6.25,
- "pressure": 995,
- "sea_level": 995,
- "grnd_level": 967,
- "humidity": 62,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04d"
- }
- ],
- "clouds": {
- "all": 67
- },
- "wind": {
- "speed": 6.8,
- "deg": 209
- },
- "visibility": 10000,
- "pop": 0.38,
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-29 12:00:00"
- },
- {
- "dt": 1609254000,
- "main": {
- "temp": 4.09,
- "feels_like": -0.59,
- "temp_min": 4.09,
- "temp_max": 4.09,
- "pressure": 997,
- "sea_level": 997,
- "grnd_level": 968,
- "humidity": 73,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 8
- },
- "wind": {
- "speed": 3.78,
- "deg": 180
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 15:00:00"
- },
- {
- "dt": 1609264800,
- "main": {
- "temp": 3.96,
- "feels_like": 0.06,
- "temp_min": 3.96,
- "temp_max": 3.96,
- "pressure": 999,
- "sea_level": 999,
- "grnd_level": 971,
- "humidity": 77,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 802,
- "main": "Clouds",
- "description": "rozproszone chmury",
- "icon": "03n"
- }
- ],
- "clouds": {
- "all": 30
- },
- "wind": {
- "speed": 2.8,
- "deg": 206
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 18:00:00"
- },
- {
- "dt": 1609275600,
- "main": {
- "temp": 3.99,
- "feels_like": -1.08,
- "temp_min": 3.99,
- "temp_max": 3.99,
- "pressure": 1002,
- "sea_level": 1002,
- "grnd_level": 973,
- "humidity": 84,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 67
- },
- "wind": {
- "speed": 4.74,
- "deg": 209
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-29 21:00:00"
- },
- {
- "dt": 1609286400,
- "main": {
- "temp": 2.81,
- "feels_like": -1.04,
- "temp_min": 2.81,
- "temp_max": 2.81,
- "pressure": 1002,
- "sea_level": 1002,
- "grnd_level": 974,
- "humidity": 90,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 65
- },
- "wind": {
- "speed": 2.95,
- "deg": 169
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 00:00:00"
- },
- {
- "dt": 1609297200,
- "main": {
- "temp": 3.94,
- "feels_like": 0,
- "temp_min": 3.94,
- "temp_max": 3.94,
- "pressure": 1002,
- "sea_level": 1002,
- "grnd_level": 974,
- "humidity": 89,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 3.31,
- "deg": 147
- },
- "visibility": 10000,
- "pop": 0.52,
- "rain": {
- "3h": 0.58
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 03:00:00"
- },
- {
- "dt": 1609308000,
- "main": {
- "temp": 3.94,
- "feels_like": 0.17,
- "temp_min": 3.94,
- "temp_max": 3.94,
- "pressure": 1003,
- "sea_level": 1003,
- "grnd_level": 975,
- "humidity": 87,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10n"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 2.99,
- "deg": 155
- },
- "visibility": 8132,
- "pop": 0.72,
- "rain": {
- "3h": 1
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 06:00:00"
- },
- {
- "dt": 1609318800,
- "main": {
- "temp": 3.78,
- "feels_like": 0.53,
- "temp_min": 3.78,
- "temp_max": 3.78,
- "pressure": 1004,
- "sea_level": 1004,
- "grnd_level": 976,
- "humidity": 94,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 2.48,
- "deg": 196
- },
- "visibility": 10000,
- "pop": 0.91,
- "rain": {
- "3h": 2.46
- },
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-30 09:00:00"
- },
- {
- "dt": 1609329600,
- "main": {
- "temp": 3.95,
- "feels_like": 1.37,
- "temp_min": 3.95,
- "temp_max": 3.95,
- "pressure": 1004,
- "sea_level": 1004,
- "grnd_level": 976,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 1.6,
- "deg": 208
- },
- "visibility": 10000,
- "pop": 0.89,
- "rain": {
- "3h": 0.8
- },
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-30 12:00:00"
- },
- {
- "dt": 1609340400,
- "main": {
- "temp": 3.31,
- "feels_like": 0.29,
- "temp_min": 3.31,
- "temp_max": 3.31,
- "pressure": 1005,
- "sea_level": 1005,
- "grnd_level": 976,
- "humidity": 92,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 500,
- "main": "Rain",
- "description": "słabe opady deszczu",
- "icon": "10d"
- }
- ],
- "clouds": {
- "all": 99
- },
- "wind": {
- "speed": 1.96,
- "deg": 280
- },
- "visibility": 10000,
- "pop": 0.5,
- "rain": {
- "3h": 0.34
- },
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 15:00:00"
- },
- {
- "dt": 1609351200,
- "main": {
- "temp": 1.57,
- "feels_like": -1.29,
- "temp_min": 1.57,
- "temp_max": 1.57,
- "pressure": 1006,
- "sea_level": 1006,
- "grnd_level": 978,
- "humidity": 93,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 803,
- "main": "Clouds",
- "description": "pochmurno z przejaśnieniami",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 71
- },
- "wind": {
- "speed": 1.37,
- "deg": 246
- },
- "visibility": 10000,
- "pop": 0.35,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 18:00:00"
- },
- {
- "dt": 1609362000,
- "main": {
- "temp": 0.73,
- "feels_like": -2.34,
- "temp_min": 0.73,
- "temp_max": 0.73,
- "pressure": 1008,
- "sea_level": 1008,
- "grnd_level": 979,
- "humidity": 94,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 4
- },
- "wind": {
- "speed": 1.53,
- "deg": 244
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-30 21:00:00"
- },
- {
- "dt": 1609372800,
- "main": {
- "temp": 0.51,
- "feels_like": -1.99,
- "temp_min": 0.51,
- "temp_max": 0.51,
- "pressure": 1009,
- "sea_level": 1009,
- "grnd_level": 980,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 4
- },
- "wind": {
- "speed": 0.69,
- "deg": 237
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 00:00:00"
- },
- {
- "dt": 1609383600,
- "main": {
- "temp": 0.14,
- "feels_like": -2.57,
- "temp_min": 0.14,
- "temp_max": 0.14,
- "pressure": 1009,
- "sea_level": 1009,
- "grnd_level": 980,
- "humidity": 96,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 800,
- "main": "Clear",
- "description": "bezchmurnie",
- "icon": "01n"
- }
- ],
- "clouds": {
- "all": 8
- },
- "wind": {
- "speed": 0.95,
- "deg": 312
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 03:00:00"
- },
- {
- "dt": 1609394400,
- "main": {
- "temp": 0.16,
- "feels_like": -2.54,
- "temp_min": 0.16,
- "temp_max": 0.16,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 96,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 802,
- "main": "Clouds",
- "description": "rozproszone chmury",
- "icon": "03n"
- }
- ],
- "clouds": {
- "all": 28
- },
- "wind": {
- "speed": 0.94,
- "deg": 160
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 06:00:00"
- },
- {
- "dt": 1609405200,
- "main": {
- "temp": 1.51,
- "feels_like": -1.12,
- "temp_min": 1.51,
- "temp_max": 1.51,
- "pressure": 1011,
- "sea_level": 1011,
- "grnd_level": 982,
- "humidity": 87,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 0.83,
- "deg": 184
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-31 09:00:00"
- },
- {
- "dt": 1609416000,
- "main": {
- "temp": 2.44,
- "feels_like": -0.22,
- "temp_min": 2.44,
- "temp_max": 2.44,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 81,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04d"
- }
- ],
- "clouds": {
- "all": 100
- },
- "wind": {
- "speed": 0.87,
- "deg": 308
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "d"
- },
- "dt_txt": "2020-12-31 12:00:00"
- },
- {
- "dt": 1609426800,
- "main": {
- "temp": 0.33,
- "feels_like": -2.12,
- "temp_min": 0.33,
- "temp_max": 0.33,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 94,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 96
- },
- "wind": {
- "speed": 0.55,
- "deg": 48
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 15:00:00"
- },
- {
- "dt": 1609437600,
- "main": {
- "temp": -0.03,
- "feels_like": -2.55,
- "temp_min": -0.03,
- "temp_max": -0.03,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 87
- },
- "wind": {
- "speed": 0.62,
- "deg": 44
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 18:00:00"
- },
- {
- "dt": 1609448400,
- "main": {
- "temp": -0.11,
- "feels_like": -3.04,
- "temp_min": -0.11,
- "temp_max": -0.11,
- "pressure": 1010,
- "sea_level": 1010,
- "grnd_level": 981,
- "humidity": 95,
- "temp_kf": 0
- },
- "weather": [
- {
- "id": 804,
- "main": "Clouds",
- "description": "całkowite zachmurzenie",
- "icon": "04n"
- }
- ],
- "clouds": {
- "all": 93
- },
- "wind": {
- "speed": 1.18,
- "deg": 22
- },
- "visibility": 10000,
- "pop": 0,
- "sys": {
- "pod": "n"
- },
- "dt_txt": "2020-12-31 21:00:00"
- }
- ],
- "city": {
- "id": 3094597,
- "name": "Krupski Młyn",
- "coord": {
- "lat": 50.5734,
- "lon": 18.6225
- },
- "country": "PL",
- "population": 0,
- "timezone": 3600
- }
- }
-}
diff --git a/tests/configs/default.js b/tests/configs/default.js
index 5568e5e0..7d0f8eed 100644
--- a/tests/configs/default.js
+++ b/tests/configs/default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test default config for modules
+/* MagicMirror² Test default config for modules
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/empty_ipWhiteList.js b/tests/configs/empty_ipWhiteList.js
index cdf637c5..d49f7a9f 100644
--- a/tests/configs/empty_ipWhiteList.js
+++ b/tests/configs/empty_ipWhiteList.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config sample ipWhitelist
+/* MagicMirror² Test config sample ipWhitelist
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/alert/default.js b/tests/configs/modules/alert/default.js
index 423260c7..45ffefe5 100644
--- a/tests/configs/modules/alert/default.js
+++ b/tests/configs/modules/alert/default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config sample module alert
+/* MagicMirror² Test config sample module alert
*
* By rejas
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/auth-default.js b/tests/configs/modules/calendar/auth-default.js
index a120c7ca..a4ef4ba1 100644
--- a/tests/configs/modules/calendar/auth-default.js
+++ b/tests/configs/modules/calendar/auth-default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default calendar with auth by default
+/* MagicMirror² Test config default calendar with auth by default
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/basic-auth.js b/tests/configs/modules/calendar/basic-auth.js
index ebca135a..9290a43b 100644
--- a/tests/configs/modules/calendar/basic-auth.js
+++ b/tests/configs/modules/calendar/basic-auth.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default calendar
+/* MagicMirror² Test config default calendar
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/changed-port.js b/tests/configs/modules/calendar/changed-port.js
index 05d6d1ff..09aeb589 100644
--- a/tests/configs/modules/calendar/changed-port.js
+++ b/tests/configs/modules/calendar/changed-port.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default calendar with auth by default
+/* MagicMirror² Test config default calendar with auth by default
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/custom.js b/tests/configs/modules/calendar/custom.js
index 068db9be..2b396f80 100644
--- a/tests/configs/modules/calendar/custom.js
+++ b/tests/configs/modules/calendar/custom.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config custom calendar
+/* MagicMirror² Test config custom calendar
*
* By Rejas
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/default.js b/tests/configs/modules/calendar/default.js
index 0c9b8151..cd50a0ae 100644
--- a/tests/configs/modules/calendar/default.js
+++ b/tests/configs/modules/calendar/default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default calendar
+/* MagicMirror² Test config default calendar
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/fail-basic-auth.js b/tests/configs/modules/calendar/fail-basic-auth.js
index 1d2f8c76..39c17927 100644
--- a/tests/configs/modules/calendar/fail-basic-auth.js
+++ b/tests/configs/modules/calendar/fail-basic-auth.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test calendar calendar
+/* MagicMirror² Test calendar calendar
*
* This configuration is a wrong authentication
*
diff --git a/tests/configs/modules/calendar/old-basic-auth.js b/tests/configs/modules/calendar/old-basic-auth.js
index 743ff04d..c1fb5590 100644
--- a/tests/configs/modules/calendar/old-basic-auth.js
+++ b/tests/configs/modules/calendar/old-basic-auth.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default calendar
+/* MagicMirror² Test config default calendar
* with authentication old config
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/calendar/recurring.js b/tests/configs/modules/calendar/recurring.js
index 567a366c..a513d35d 100644
--- a/tests/configs/modules/calendar/recurring.js
+++ b/tests/configs/modules/calendar/recurring.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config custom calendar
+/* MagicMirror² Test config custom calendar
*
* By Rejas
* MIT Licensed.
diff --git a/tests/configs/modules/clock/clock_12hr.js b/tests/configs/modules/clock/clock_12hr.js
index 6b8917bd..18170e7c 100644
--- a/tests/configs/modules/clock/clock_12hr.js
+++ b/tests/configs/modules/clock/clock_12hr.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Sergey Morozov
* MIT Licensed.
diff --git a/tests/configs/modules/clock/clock_24hr.js b/tests/configs/modules/clock/clock_24hr.js
index 27f89d0c..f9bd4514 100644
--- a/tests/configs/modules/clock/clock_24hr.js
+++ b/tests/configs/modules/clock/clock_24hr.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Sergey Morozov
* MIT Licensed.
diff --git a/tests/configs/modules/clock/clock_analog.js b/tests/configs/modules/clock/clock_analog.js
index cbe3fecc..fdca5615 100644
--- a/tests/configs/modules/clock/clock_analog.js
+++ b/tests/configs/modules/clock/clock_analog.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for analog clock face
+/* MagicMirror² Test config for analog clock face
*
* MIT Licensed.
*/
diff --git a/tests/configs/modules/clock/clock_displaySeconds_false.js b/tests/configs/modules/clock/clock_displaySeconds_false.js
index 57bf006a..cf333320 100644
--- a/tests/configs/modules/clock/clock_displaySeconds_false.js
+++ b/tests/configs/modules/clock/clock_displaySeconds_false.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/clock/clock_showPeriodUpper.js b/tests/configs/modules/clock/clock_showPeriodUpper.js
index 1e01644f..3dd8b5c5 100644
--- a/tests/configs/modules/clock/clock_showPeriodUpper.js
+++ b/tests/configs/modules/clock/clock_showPeriodUpper.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Sergey Morozov
* MIT Licensed.
diff --git a/tests/configs/modules/clock/clock_showTime.js b/tests/configs/modules/clock/clock_showTime.js
index 37bdc5cc..17ea4590 100644
--- a/tests/configs/modules/clock/clock_showTime.js
+++ b/tests/configs/modules/clock/clock_showTime.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Johan Hammar
* MIT Licensed.
diff --git a/tests/configs/modules/clock/clock_showWeek.js b/tests/configs/modules/clock/clock_showWeek.js
index 2c421e85..71377e0b 100644
--- a/tests/configs/modules/clock/clock_showWeek.js
+++ b/tests/configs/modules/clock/clock_showWeek.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Johan Hammar
* MIT Licensed.
diff --git a/tests/configs/modules/clock/es/clock_12hr.js b/tests/configs/modules/clock/es/clock_12hr.js
index 07e5206a..44444c06 100644
--- a/tests/configs/modules/clock/es/clock_12hr.js
+++ b/tests/configs/modules/clock/es/clock_12hr.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/clock/es/clock_24hr.js b/tests/configs/modules/clock/es/clock_24hr.js
index 469f4e3b..66b5304d 100644
--- a/tests/configs/modules/clock/es/clock_24hr.js
+++ b/tests/configs/modules/clock/es/clock_24hr.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/clock/es/clock_showPeriodUpper.js b/tests/configs/modules/clock/es/clock_showPeriodUpper.js
index 0253c28c..5e1fbb4b 100644
--- a/tests/configs/modules/clock/es/clock_showPeriodUpper.js
+++ b/tests/configs/modules/clock/es/clock_showPeriodUpper.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/clock/es/clock_showWeek.js b/tests/configs/modules/clock/es/clock_showWeek.js
index dd8f6cd2..73635c0e 100644
--- a/tests/configs/modules/clock/es/clock_showWeek.js
+++ b/tests/configs/modules/clock/es/clock_showWeek.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default clock module
+/* MagicMirror² Test config for default clock module
* Language es for showWeek feature
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
diff --git a/tests/configs/modules/compliments/compliments_anytime.js b/tests/configs/modules/compliments/compliments_anytime.js
index 2034b379..89253d91 100644
--- a/tests/configs/modules/compliments/compliments_anytime.js
+++ b/tests/configs/modules/compliments/compliments_anytime.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config compliments with anytime type
+/* MagicMirror² Test config compliments with anytime type
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/compliments/compliments_date.js b/tests/configs/modules/compliments/compliments_date.js
index a89dd7de..d84a6bde 100644
--- a/tests/configs/modules/compliments/compliments_date.js
+++ b/tests/configs/modules/compliments/compliments_date.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config compliments with date type
+/* MagicMirror² Test config compliments with date type
*
* By Rejas
* MIT Licensed.
diff --git a/tests/configs/modules/compliments/compliments_only_anytime.js b/tests/configs/modules/compliments/compliments_only_anytime.js
index 5261e58b..f1da683a 100644
--- a/tests/configs/modules/compliments/compliments_only_anytime.js
+++ b/tests/configs/modules/compliments/compliments_only_anytime.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config compliments with anytime type
+/* MagicMirror² Test config compliments with anytime type
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/compliments/compliments_parts_day.js b/tests/configs/modules/compliments/compliments_parts_day.js
index 08c9d94e..ff34803a 100644
--- a/tests/configs/modules/compliments/compliments_parts_day.js
+++ b/tests/configs/modules/compliments/compliments_parts_day.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for default compliments
+/* MagicMirror² Test config for default compliments
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/display.js b/tests/configs/modules/display.js
index 03aa4f19..a4166077 100644
--- a/tests/configs/modules/display.js
+++ b/tests/configs/modules/display.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for display setters module using the helloworld module
+/* MagicMirror² Test config for display setters module using the helloworld module
*
* By Rejas
* MIT Licensed.
diff --git a/tests/configs/modules/helloworld/helloworld.js b/tests/configs/modules/helloworld/helloworld.js
index 39480bc1..72256621 100644
--- a/tests/configs/modules/helloworld/helloworld.js
+++ b/tests/configs/modules/helloworld/helloworld.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config sample module hello world
+/* MagicMirror² Test config sample module hello world
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/helloworld/helloworld_default.js b/tests/configs/modules/helloworld/helloworld_default.js
index ea95ad83..06e6fe8d 100644
--- a/tests/configs/modules/helloworld/helloworld_default.js
+++ b/tests/configs/modules/helloworld/helloworld_default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config sample module hello world default config
+/* MagicMirror² Test config sample module hello world default config
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/newsfeed/default.js b/tests/configs/modules/newsfeed/default.js
index 7758da0c..00bf569d 100644
--- a/tests/configs/modules/newsfeed/default.js
+++ b/tests/configs/modules/newsfeed/default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config newsfeed module
+/* MagicMirror² Test config newsfeed module
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/newsfeed/ignore_items.js b/tests/configs/modules/newsfeed/ignore_items.js
index 8b12a10a..bbcf4db2 100644
--- a/tests/configs/modules/newsfeed/ignore_items.js
+++ b/tests/configs/modules/newsfeed/ignore_items.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config newsfeed module
+/* MagicMirror² Test config newsfeed module
*
* MIT Licensed.
*/
diff --git a/tests/configs/modules/newsfeed/incorrect_url.js b/tests/configs/modules/newsfeed/incorrect_url.js
index 522fa2d1..f9d75b09 100644
--- a/tests/configs/modules/newsfeed/incorrect_url.js
+++ b/tests/configs/modules/newsfeed/incorrect_url.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config newsfeed module
+/* MagicMirror² Test config newsfeed module
*
* MIT Licensed.
*/
diff --git a/tests/configs/modules/newsfeed/prohibited_words.js b/tests/configs/modules/newsfeed/prohibited_words.js
index 68d22f54..42eb572f 100644
--- a/tests/configs/modules/newsfeed/prohibited_words.js
+++ b/tests/configs/modules/newsfeed/prohibited_words.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config newsfeed module
+/* MagicMirror² Test config newsfeed module
*
* MIT Licensed.
*/
diff --git a/tests/configs/modules/positions.js b/tests/configs/modules/positions.js
index 186c25f9..6086fadd 100644
--- a/tests/configs/modules/positions.js
+++ b/tests/configs/modules/positions.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config for position setters module using the helloworld module
+/* MagicMirror² Test config for position setters module using the helloworld module
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/modules/weather/currentweather_compliments.js b/tests/configs/modules/weather/currentweather_compliments.js
index 6efd43fe..4af54466 100644
--- a/tests/configs/modules/weather/currentweather_compliments.js
+++ b/tests/configs/modules/weather/currentweather_compliments.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config current weather compliments
+/* MagicMirror² Test config current weather compliments
*
* By rejas https://github.com/rejas
* MIT Licensed.
diff --git a/tests/configs/modules/weather/currentweather_default.js b/tests/configs/modules/weather/currentweather_default.js
index d7efb0a3..e2ef16b7 100644
--- a/tests/configs/modules/weather/currentweather_default.js
+++ b/tests/configs/modules/weather/currentweather_default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default weather
+/* MagicMirror² Test config default weather
*
* By fewieden https://github.com/fewieden
* MIT Licensed.
diff --git a/tests/configs/modules/weather/currentweather_options.js b/tests/configs/modules/weather/currentweather_options.js
index db4f8ff7..bd433f64 100644
--- a/tests/configs/modules/weather/currentweather_options.js
+++ b/tests/configs/modules/weather/currentweather_options.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default weather
+/* MagicMirror² Test config default weather
*
* By fewieden https://github.com/fewieden
* MIT Licensed.
diff --git a/tests/configs/modules/weather/currentweather_units.js b/tests/configs/modules/weather/currentweather_units.js
index 48c46f60..ac007314 100644
--- a/tests/configs/modules/weather/currentweather_units.js
+++ b/tests/configs/modules/weather/currentweather_units.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default weather
+/* MagicMirror² Test config default weather
*
* By fewieden https://github.com/fewieden
* MIT Licensed.
diff --git a/tests/configs/modules/weather/forecastweather_absolute.js b/tests/configs/modules/weather/forecastweather_absolute.js
new file mode 100644
index 00000000..9972383b
--- /dev/null
+++ b/tests/configs/modules/weather/forecastweather_absolute.js
@@ -0,0 +1,27 @@
+/* MagicMirror² Test config default weather
+ *
+ * By fewieden https://github.com/fewieden
+ * MIT Licensed.
+ */
+let config = {
+ timeFormat: 12,
+
+ modules: [
+ {
+ module: "weather",
+ position: "bottom_bar",
+ config: {
+ type: "forecast",
+ location: "Munich",
+ mockData: '"#####WEATHERDATA#####"',
+ weatherEndpoint: "/forecast/daily",
+ absoluteDates: true
+ }
+ }
+ ]
+};
+
+/*************** DO NOT EDIT THE LINE BELOW ***************/
+if (typeof module !== "undefined") {
+ module.exports = config;
+}
diff --git a/tests/configs/modules/weather/forecastweather_default.js b/tests/configs/modules/weather/forecastweather_default.js
index 05dc10ea..6f535b39 100644
--- a/tests/configs/modules/weather/forecastweather_default.js
+++ b/tests/configs/modules/weather/forecastweather_default.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default weather
+/* MagicMirror² Test config default weather
*
* By fewieden https://github.com/fewieden
* MIT Licensed.
diff --git a/tests/configs/modules/weather/forecastweather_options.js b/tests/configs/modules/weather/forecastweather_options.js
index 755407e5..23cda84f 100644
--- a/tests/configs/modules/weather/forecastweather_options.js
+++ b/tests/configs/modules/weather/forecastweather_options.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default weather
+/* MagicMirror² Test config default weather
*
* By fewieden https://github.com/fewieden
* MIT Licensed.
diff --git a/tests/configs/modules/weather/forecastweather_units.js b/tests/configs/modules/weather/forecastweather_units.js
index 6fc2d456..7e1ac86f 100644
--- a/tests/configs/modules/weather/forecastweather_units.js
+++ b/tests/configs/modules/weather/forecastweather_units.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config default weather
+/* MagicMirror² Test config default weather
*
* By rejas
* MIT Licensed.
diff --git a/tests/configs/noIpWhiteList.js b/tests/configs/noIpWhiteList.js
index 40655480..36035c16 100644
--- a/tests/configs/noIpWhiteList.js
+++ b/tests/configs/noIpWhiteList.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config sample ipWhitelist
+/* MagicMirror² Test config sample ipWhitelist
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/port_8090.js b/tests/configs/port_8090.js
index 7756fb76..df6bf7dc 100644
--- a/tests/configs/port_8090.js
+++ b/tests/configs/port_8090.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test config sample environment set port 8090
+/* MagicMirror² Test config sample environment set port 8090
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/configs/test_sequencer.js b/tests/configs/test_sequencer.js
new file mode 100644
index 00000000..5c999e1b
--- /dev/null
+++ b/tests/configs/test_sequencer.js
@@ -0,0 +1,26 @@
+const TestSequencer = require("@jest/test-sequencer").default;
+
+class CustomSequencer extends TestSequencer {
+ sort(tests) {
+ const orderPath = ["unit", "e2e", "electron"];
+ return tests.sort((testA, testB) => {
+ let indexA = -1;
+ let indexB = -1;
+ const reg = ".*/tests/([^/]*).*";
+
+ let matchA = new RegExp(reg, "g").exec(testA.path);
+ if (matchA.length > 0) indexA = orderPath.indexOf(matchA[1]);
+
+ let matchB = new RegExp(reg, "g").exec(testB.path);
+ if (matchB.length > 0) indexB = orderPath.indexOf(matchB[1]);
+
+ if (indexA === indexB) return 0;
+
+ if (indexA === -1) return 1;
+ if (indexB === -1) return -1;
+ return indexA < indexB ? -1 : 1;
+ });
+ }
+}
+
+module.exports = CustomSequencer;
diff --git a/tests/configs/without_modules.js b/tests/configs/without_modules.js
index 50ff521e..51ce02f6 100644
--- a/tests/configs/without_modules.js
+++ b/tests/configs/without_modules.js
@@ -1,4 +1,4 @@
-/* Magic Mirror Test default config for modules
+/* MagicMirror² Test default config for modules
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
diff --git a/tests/e2e/env_spec.js b/tests/e2e/env_spec.js
index 7a43cb0f..1eb0fe1e 100644
--- a/tests/e2e/env_spec.js
+++ b/tests/e2e/env_spec.js
@@ -25,8 +25,9 @@ describe("App environment", function () {
});
it("should show the title MagicMirror²", function () {
- const elem = document.querySelector("title");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toBe("MagicMirror²");
+ helpers.waitForElement("title").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toBe("MagicMirror²");
+ });
});
});
diff --git a/tests/e2e/global-setup.js b/tests/e2e/global-setup.js
index bb9b1a2e..3cf8e908 100644
--- a/tests/e2e/global-setup.js
+++ b/tests/e2e/global-setup.js
@@ -22,15 +22,34 @@ exports.stopApplication = function () {
}
};
-exports.getDocument = function (callback, ms) {
+exports.getDocument = function (callback) {
const url = "http://" + (config.address || "localhost") + ":" + (config.port || "8080");
jsdom.JSDOM.fromURL(url, { resources: "usable", runScripts: "dangerously" }).then((dom) => {
dom.window.name = "jsdom";
dom.window.onload = function () {
+ global.MutationObserver = dom.window.MutationObserver;
global.document = dom.window.document;
- setTimeout(() => {
- callback();
- }, ms);
+ callback();
};
});
};
+
+exports.waitForElement = function (selector) {
+ return new Promise((resolve) => {
+ if (document.querySelector(selector) && document.querySelector(selector).value !== undefined) {
+ return resolve(document.querySelector(selector));
+ }
+
+ const observer = new MutationObserver(() => {
+ if (document.querySelector(selector) && document.querySelector(selector).value !== undefined) {
+ resolve(document.querySelector(selector));
+ observer.disconnect();
+ }
+ });
+
+ observer.observe(document.body, {
+ childList: true,
+ subtree: true
+ });
+ });
+};
diff --git a/tests/e2e/modules/alert_spec.js b/tests/e2e/modules/alert_spec.js
index 23461491..437c15b0 100644
--- a/tests/e2e/modules/alert_spec.js
+++ b/tests/e2e/modules/alert_spec.js
@@ -3,15 +3,16 @@ const helpers = require("../global-setup");
describe("Alert module", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/alert/default.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
afterAll(function () {
helpers.stopApplication();
});
it("should show the welcome message", function () {
- const elem = document.querySelector(".ns-box .ns-box-inner .light.bright.small");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Welcome, start was successful!");
+ helpers.waitForElement(".ns-box .ns-box-inner .light.bright.small").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Welcome, start was successful!");
+ });
});
});
diff --git a/tests/e2e/modules/basic-auth.js b/tests/e2e/modules/basic-auth.js
index fc08ae40..9ace932b 100644
--- a/tests/e2e/modules/basic-auth.js
+++ b/tests/e2e/modules/basic-auth.js
@@ -4,7 +4,7 @@ const express = require("express");
const app = express();
const basicAuth = auth({
- realm: "MagicMirror Area restricted.",
+ realm: "MagicMirror² Area restricted.",
users: { MagicMirror: "CallMeADog" }
});
diff --git a/tests/e2e/modules/calendar_spec.js b/tests/e2e/modules/calendar_spec.js
index 8755eb2c..c3066060 100644
--- a/tests/e2e/modules/calendar_spec.js
+++ b/tests/e2e/modules/calendar_spec.js
@@ -8,15 +8,23 @@ describe("Calendar module", function () {
* @param {string} not reverse result
*/
function testElementLength(element, result, not) {
- const elem = document.querySelectorAll(element);
- expect(elem).not.toBe(null);
- if (not === "not") {
- expect(elem.length).not.toBe(result);
- } else {
- expect(elem.length).toBe(result);
- }
+ helpers.waitForElement(element).then((elem) => {
+ expect(elem).not.toBe(null);
+ if (not === "not") {
+ expect(elem.length).not.toBe(result);
+ } else {
+ expect(elem.length).toBe(result);
+ }
+ });
}
+ const testTextContain = function (element, text) {
+ helpers.waitForElement(element).then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain(text);
+ });
+ };
+
afterAll(function () {
helpers.stopApplication();
});
@@ -24,7 +32,7 @@ describe("Calendar module", function () {
describe("Default configuration", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/default.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should show the default maximumEntries of 10", () => {
@@ -32,14 +40,14 @@ describe("Calendar module", function () {
});
it("should show the default calendar symbol in each event", () => {
- testElementLength(".calendar .event .fa-calendar", 0, "not");
+ testElementLength(".calendar .event .fa-calendar-alt", 0, "not");
});
});
describe("Custom configuration", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/custom.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should show the custom maximumEntries of 4", () => {
@@ -62,7 +70,7 @@ describe("Calendar module", function () {
describe("Recurring event", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/recurring.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should show the recurring birthday event 6 times", () => {
@@ -78,13 +86,11 @@ describe("Calendar module", function () {
return i * 60;
};
helpers.startApplication("tests/configs/modules/calendar/recurring.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it('should contain text "Mar 25th" in timezone UTC ' + -i, () => {
- const elem = document.querySelector(".calendar");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Mar 25th");
+ testTextContain(".calendar", "Mar 25th");
});
});
}
@@ -93,7 +99,7 @@ describe("Calendar module", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/changed-port.js");
serverBasicAuth.listen(8010);
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
afterAll(function (done) {
@@ -108,7 +114,7 @@ describe("Calendar module", function () {
describe("Basic auth", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/basic-auth.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should return TestEvents", function () {
@@ -119,7 +125,7 @@ describe("Calendar module", function () {
describe("Basic auth by default", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/auth-default.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should return TestEvents", function () {
@@ -130,7 +136,7 @@ describe("Calendar module", function () {
describe("Basic auth backward compatibility configuration: DEPRECATED", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/old-basic-auth.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should return TestEvents", function () {
@@ -142,7 +148,7 @@ describe("Calendar module", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/calendar/fail-basic-auth.js");
serverBasicAuth.listen(8020);
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
afterAll(function (done) {
@@ -150,9 +156,7 @@ describe("Calendar module", function () {
});
it("should show Unauthorized error", function () {
- const elem = document.querySelector(".calendar");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Error in the calendar module. Authorization failed");
+ testTextContain(".calendar", "Error in the calendar module. Authorization failed");
});
});
});
diff --git a/tests/e2e/modules/clock_es_spec.js b/tests/e2e/modules/clock_es_spec.js
index 78818014..c20c5322 100644
--- a/tests/e2e/modules/clock_es_spec.js
+++ b/tests/e2e/modules/clock_es_spec.js
@@ -6,15 +6,16 @@ describe("Clock set to spanish language module", function () {
});
const testMatch = function (element, regex) {
- const elem = document.querySelector(element);
- expect(elem).not.toBe(null);
- expect(elem.textContent).toMatch(regex);
+ helpers.waitForElement(element).then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toMatch(regex);
+ });
};
describe("with default 24hr clock config", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/es/clock_24hr.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("shows date with correct format", function () {
@@ -31,7 +32,7 @@ describe("Clock set to spanish language module", function () {
describe("with default 12hr clock config", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/es/clock_12hr.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("shows date with correct format", function () {
@@ -48,7 +49,7 @@ describe("Clock set to spanish language module", function () {
describe("with showPeriodUpper config enabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/es/clock_showPeriodUpper.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("shows 12hr time with upper case AM/PM", function () {
@@ -60,7 +61,7 @@ describe("Clock set to spanish language module", function () {
describe("with showWeek config enabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/es/clock_showWeek.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("shows week with correct format", function () {
diff --git a/tests/e2e/modules/clock_spec.js b/tests/e2e/modules/clock_spec.js
index 79e26f47..00214670 100644
--- a/tests/e2e/modules/clock_spec.js
+++ b/tests/e2e/modules/clock_spec.js
@@ -7,15 +7,16 @@ describe("Clock module", function () {
});
const testMatch = function (element, regex) {
- const elem = document.querySelector(element);
- expect(elem).not.toBe(null);
- expect(elem.textContent).toMatch(regex);
+ helpers.waitForElement(element).then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toMatch(regex);
+ });
};
describe("with default 24hr clock config", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_24hr.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show the date in the correct format", function () {
@@ -32,7 +33,7 @@ describe("Clock module", function () {
describe("with default 12hr clock config", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_12hr.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show the date in the correct format", function () {
@@ -49,7 +50,7 @@ describe("Clock module", function () {
describe("with showPeriodUpper config enabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_showPeriodUpper.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show 12hr time with upper case AM/PM", function () {
@@ -61,7 +62,7 @@ describe("Clock module", function () {
describe("with displaySeconds config disabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_displaySeconds_false.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show 12hr time without seconds am/pm", function () {
@@ -73,19 +74,20 @@ describe("Clock module", function () {
describe("with showTime config disabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_showTime.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show not show the time when digital clock is shown", function () {
- const elem = document.querySelector(".clock .digital .time");
- expect(elem).toBe(null);
+ helpers.waitForElement(".clock .digital .time").then((elem) => {
+ expect(elem).toBe(null);
+ });
});
});
describe("with showWeek config enabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_showWeek.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show the week in the correct format", function () {
@@ -96,21 +98,23 @@ describe("Clock module", function () {
it("should show the week with the correct number of week of year", function () {
const currentWeekNumber = moment().week();
const weekToShow = "Week " + currentWeekNumber;
- const elem = document.querySelector(".clock .week");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toBe(weekToShow);
+ helpers.waitForElement(".clock .week").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toBe(weekToShow);
+ });
});
});
describe("with analog clock face enabled", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/clock/clock_analog.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("should show the analog clock face", () => {
- const elem = document.querySelector(".clockCircle");
- expect(elem).not.toBe(null);
+ helpers.waitForElement(".clockCircle").then((elem) => {
+ expect(elem).not.toBe(null);
+ });
});
});
});
diff --git a/tests/e2e/modules/compliments_spec.js b/tests/e2e/modules/compliments_spec.js
index 73f851c5..d9ea4f0c 100644
--- a/tests/e2e/modules/compliments_spec.js
+++ b/tests/e2e/modules/compliments_spec.js
@@ -6,11 +6,13 @@ const helpers = require("../global-setup");
* @param {Array} complimentsArray The array of compliments.
*/
function doTest(complimentsArray) {
- let elem = document.querySelector(".compliments");
- expect(elem).not.toBe(null);
- elem = document.querySelector(".module-content");
- expect(elem).not.toBe(null);
- expect(complimentsArray).toContain(elem.textContent);
+ helpers.waitForElement(".compliments").then((elem) => {
+ expect(elem).not.toBe(null);
+ helpers.waitForElement(".module-content").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(complimentsArray).toContain(elem.textContent);
+ });
+ });
}
describe("Compliments module", function () {
@@ -21,7 +23,7 @@ describe("Compliments module", function () {
describe("parts of days", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/compliments/compliments_parts_day.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("if Morning compliments for that part of day", function () {
@@ -53,7 +55,7 @@ describe("Compliments module", function () {
describe("Set anytime and empty compliments for morning, evening and afternoon ", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/compliments/compliments_anytime.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("Show anytime because if configure empty parts of day compliments and set anytime compliments", function () {
@@ -64,7 +66,7 @@ describe("Compliments module", function () {
describe("Only anytime present in configuration compliments", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/compliments/compliments_only_anytime.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("Show anytime compliments", function () {
@@ -77,7 +79,7 @@ describe("Compliments module", function () {
describe("Set date and empty compliments for anytime, morning, evening and afternoon", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/compliments/compliments_date.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("Show happy new year compliment on new years day", function () {
diff --git a/tests/e2e/modules/helloworld_spec.js b/tests/e2e/modules/helloworld_spec.js
index d8f1a3c6..f80e47ba 100644
--- a/tests/e2e/modules/helloworld_spec.js
+++ b/tests/e2e/modules/helloworld_spec.js
@@ -8,26 +8,28 @@ describe("Test helloworld module", function () {
describe("helloworld set config text", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/helloworld/helloworld.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("Test message helloworld module", function () {
- const elem = document.querySelector(".helloworld");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Test HelloWorld Module");
+ helpers.waitForElement(".helloworld").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Test HelloWorld Module");
+ });
});
});
describe("helloworld default config text", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/helloworld/helloworld_default.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
it("Test message helloworld module", function () {
- const elem = document.querySelector(".helloworld");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Hello World!");
+ helpers.waitForElement(".helloworld").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Hello World!");
+ });
});
});
});
diff --git a/tests/e2e/modules/newsfeed_spec.js b/tests/e2e/modules/newsfeed_spec.js
index 1a7f5662..af8d679b 100644
--- a/tests/e2e/modules/newsfeed_spec.js
+++ b/tests/e2e/modules/newsfeed_spec.js
@@ -8,69 +8,76 @@ describe("Newsfeed module", function () {
describe("Default configuration", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/newsfeed/default.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should show the newsfeed title", function () {
- const elem = document.querySelector(".newsfeed .newsfeed-source");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Rodrigo Ramirez Blog");
+ helpers.waitForElement(".newsfeed .newsfeed-source").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Rodrigo Ramirez Blog");
+ });
});
it("should show the newsfeed article", function () {
- const elem = document.querySelector(".newsfeed .newsfeed-title");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("QPanel");
+ helpers.waitForElement(".newsfeed .newsfeed-title").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("QPanel");
+ });
});
it("should NOT show the newsfeed description", () => {
- const elem = document.querySelector(".newsfeed .newsfeed-desc");
- expect(elem).toBe(null);
+ helpers.waitForElement(".newsfeed .newsfeed-desc").then((elem) => {
+ expect(elem).toBe(null);
+ });
});
});
describe("Custom configuration", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/newsfeed/prohibited_words.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should not show articles with prohibited words", function () {
- const elem = document.querySelector(".newsfeed .newsfeed-title");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Problema VirtualBox");
+ helpers.waitForElement(".newsfeed .newsfeed-title").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Problema VirtualBox");
+ });
});
it("should show the newsfeed description", () => {
- const elem = document.querySelector(".newsfeed .newsfeed-desc");
- expect(elem).not.toBe(null);
- expect(elem.textContent.length).not.toBe(0);
+ helpers.waitForElement(".newsfeed .newsfeed-desc").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent.length).not.toBe(0);
+ });
});
});
describe("Invalid configuration", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/newsfeed/incorrect_url.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should show malformed url warning", function () {
- const elem = document.querySelector(".newsfeed .small");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Error in the Newsfeed module. Malformed url.");
+ helpers.waitForElement(".newsfeed .small").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Error in the Newsfeed module. Malformed url.");
+ });
});
});
describe("Ignore items", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/newsfeed/ignore_items.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
it("should show empty items info message", function () {
- const elem = document.querySelector(".newsfeed .small");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("No news at the moment.");
+ helpers.waitForElement(".newsfeed .small").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("No news at the moment.");
+ });
});
});
});
diff --git a/tests/e2e/modules/weather_spec.js b/tests/e2e/modules/weather_spec.js
index b2dce4fb..bb9489c7 100644
--- a/tests/e2e/modules/weather_spec.js
+++ b/tests/e2e/modules/weather_spec.js
@@ -5,29 +5,20 @@ const fs = require("fs");
const { generateWeather, generateWeatherForecast } = require("./mocks");
describe("Weather module", function () {
- /**
- *
- * @param {string} element css selector
- * @returns {Promise} Promise with the element once it is rendered
- */
- function getElement(element) {
- const elem = document.querySelector(element);
- expect(elem).not.toBe(null);
- return elem;
- }
-
/**
* @param {string} element css selector
* @param {string} result Expected text in given selector
*/
function getText(element, result) {
- const elem = getElement(element);
- expect(
- elem.textContent
- .trim()
- .replace(/(\r\n|\n|\r)/gm, "")
- .replace(/[ ]+/g, " ")
- ).toBe(result);
+ helpers.waitForElement(element).then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(
+ elem.textContent
+ .trim()
+ .replace(/(\r\n|\n|\r)/gm, "")
+ .replace(/[ ]+/g, " ")
+ ).toBe(result);
+ });
}
/**
@@ -46,7 +37,7 @@ describe("Weather module", function () {
content = content.replace("#####WEATHERDATA#####", mockWeather);
fs.writeFileSync(path.resolve(__dirname + "../../../../config/config.js"), content);
helpers.startApplication("");
- helpers.getDocument(callback, 3000);
+ helpers.getDocument(callback);
}
afterAll(function () {
@@ -117,8 +108,10 @@ describe("Weather module", function () {
});
it("should render showWindDirectionAsArrow = true", function () {
- const elem = getElement(".weather .normal.medium sup i.fa-long-arrow-up");
- expect(elem.outerHTML).toContain("transform:rotate(250deg);");
+ helpers.waitForElement(".weather .normal.medium sup i.fa-long-arrow-alt-up").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.outerHTML).toContain("transform:rotate(250deg);");
+ });
});
it("should render showHumidity = true", function () {
@@ -180,7 +173,9 @@ describe("Weather module", function () {
const icons = ["day-cloudy", "rain", "day-sunny", "day-sunny", "day-sunny"];
for (const [index, icon] of icons.entries()) {
- getElement(`.weather table.small tr:nth-child(${index + 1}) td:nth-child(2) span.wi-${icon}`);
+ helpers.waitForElement(`.weather table.small tr:nth-child(${index + 1}) td:nth-child(2) span.wi-${icon}`).then((elem) => {
+ expect(elem).not.toBe(null);
+ });
}
});
@@ -204,8 +199,24 @@ describe("Weather module", function () {
const opacities = [1, 1, 0.8, 0.5333333333333333, 0.2666666666666667];
for (const [index, opacity] of opacities.entries()) {
- const elem = getElement(`.weather table.small tr:nth-child(${index + 1})`);
- expect(elem.outerHTML).toContain(``);
+ helpers.waitForElement(`.weather table.small tr:nth-child(${index + 1})`).then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.outerHTML).toContain(`
`);
+ });
+ }
+ });
+ });
+
+ describe("Absolute configuration", function () {
+ beforeAll(function (done) {
+ startApp("tests/configs/modules/weather/forecastweather_absolute.js", {}, done);
+ });
+
+ it("should render days", function () {
+ const days = ["Fri", "Sat", "Sun", "Mon", "Tue"];
+
+ for (const [index, day] of days.entries()) {
+ getText(`.weather table.small tr:nth-child(${index + 1}) td:nth-child(1)`, day);
}
});
});
@@ -216,13 +227,17 @@ describe("Weather module", function () {
});
it("should render custom table class", function () {
- getElement(".weather table.myTableClass");
+ helpers.waitForElement(".weather table.myTableClass").then((elem) => {
+ expect(elem).not.toBe(null);
+ });
});
it("should render colored rows", function () {
- const table = getElement(".weather table.myTableClass");
- expect(table.rows).not.toBe(null);
- expect(table.rows.length).toBe(5);
+ helpers.waitForElement(".weather table.myTableClass").then((table) => {
+ expect(table).not.toBe(null);
+ expect(table.rows).not.toBe(null);
+ expect(table.rows.length).toBe(5);
+ });
});
});
diff --git a/tests/e2e/modules_display_spec.js b/tests/e2e/modules_display_spec.js
index 4499097d..432b1806 100644
--- a/tests/e2e/modules_display_spec.js
+++ b/tests/e2e/modules_display_spec.js
@@ -3,22 +3,24 @@ const helpers = require("./global-setup");
describe("Display of modules", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/display.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
afterAll(function () {
helpers.stopApplication();
});
it("should show the test header", function () {
- const elem = document.querySelector("#module_0_helloworld .module-header");
- expect(elem).not.toBe(null);
- // textContent gibt hier lowercase zurück, das uppercase wird durch css realisiert, was daher nicht in textContent landet
- expect(elem.textContent).toBe("test_header");
+ helpers.waitForElement("#module_0_helloworld .module-header").then((elem) => {
+ expect(elem).not.toBe(null);
+ // textContent gibt hier lowercase zurück, das uppercase wird durch css realisiert, was daher nicht in textContent landet
+ expect(elem.textContent).toBe("test_header");
+ });
});
it("should show no header if no header text is specified", function () {
- const elem = document.querySelector("#module_1_helloworld .module-header");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toBe("undefined");
+ helpers.waitForElement("#module_1_helloworld .module-header").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toBe("undefined");
+ });
});
});
diff --git a/tests/e2e/modules_position_spec.js b/tests/e2e/modules_position_spec.js
index 2989bff9..c0cfa474 100644
--- a/tests/e2e/modules_position_spec.js
+++ b/tests/e2e/modules_position_spec.js
@@ -3,7 +3,7 @@ const helpers = require("./global-setup");
describe("Position of modules", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/modules/positions.js");
- helpers.getDocument(done, 3000);
+ helpers.getDocument(done);
});
afterAll(function () {
helpers.stopApplication();
@@ -14,9 +14,10 @@ describe("Position of modules", function () {
for (const position of positions) {
const className = position.replace("_", ".");
it("should show text in " + position, function () {
- const elem = document.querySelector("." + className);
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Text in " + position);
+ helpers.waitForElement("." + className).then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("Text in " + position);
+ });
});
}
});
diff --git a/tests/e2e/without_modules.js b/tests/e2e/without_modules.js
index 8aeeee28..e60e2312 100644
--- a/tests/e2e/without_modules.js
+++ b/tests/e2e/without_modules.js
@@ -3,21 +3,23 @@ const helpers = require("./global-setup");
describe("Check configuration without modules", function () {
beforeAll(function (done) {
helpers.startApplication("tests/configs/without_modules.js");
- helpers.getDocument(done, 1000);
+ helpers.getDocument(done);
});
afterAll(function () {
helpers.stopApplication();
});
- it("Show the message MagicMirror title", function () {
- const elem = document.querySelector("#module_1_helloworld .module-content");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("Magic Mirror2");
+ it("Show the message MagicMirror² title", function () {
+ helpers.waitForElement("#module_1_helloworld .module-content").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("MagicMirror²");
+ });
});
it("Show the text Michael's website", function () {
- const elem = document.querySelector("#module_5_helloworld .module-content");
- expect(elem).not.toBe(null);
- expect(elem.textContent).toContain("www.michaelteeuw.nl");
+ helpers.waitForElement("#module_5_helloworld .module-content").then((elem) => {
+ expect(elem).not.toBe(null);
+ expect(elem.textContent).toContain("www.michaelteeuw.nl");
+ });
});
});
diff --git a/tests/unit/functions/currentweather_spec.js b/tests/unit/functions/currentweather_spec.js
deleted file mode 100644
index 534c942f..00000000
--- a/tests/unit/functions/currentweather_spec.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/* eslint no-multi-spaces: 0 */
-describe("Functions module currentweather", function () {
- // Fake for use by currentweather.js
- Module = {};
- config = {};
- Module.definitions = {};
- Module.register = function (name, moduleDefinition) {
- Module.definitions[name] = moduleDefinition;
- };
-
- beforeAll(function () {
- require("../../../modules/default/currentweather/currentweather.js");
- Module.definitions.currentweather.config = {};
- });
-
- describe("roundValue", function () {
- describe("this.config.roundTemp is true", function () {
- beforeAll(function () {
- Module.definitions.currentweather.config.roundTemp = true;
- });
-
- const values = [
- // index 0 value
- // index 1 expect
- [1, "1"],
- [1.0, "1"],
- [1.02, "1"],
- [10.12, "10"],
- [2.0, "2"],
- ["2.12", "2"],
- [10.1, "10"]
- ];
-
- values.forEach((value) => {
- it(`for ${value[0]} should be return ${value[1]}`, function () {
- expect(Module.definitions.currentweather.roundValue(value[0])).toBe(value[1]);
- });
- });
- });
-
- describe("this.config.roundTemp is false", function () {
- beforeAll(function () {
- Module.definitions.currentweather.config.roundTemp = false;
- });
-
- const values = [
- // index 0 value
- // index 1 expect
- [1, "1.0"],
- [1.0, "1.0"],
- [1.02, "1.0"],
- [10.12, "10.1"],
- [2.0, "2.0"],
- ["2.12", "2.1"],
- [10.1, "10.1"],
- [10.1, "10.1"]
- ];
-
- values.forEach((value) => {
- it(`for ${value[0]} should be return ${value[1]}`, function () {
- expect(Module.definitions.currentweather.roundValue(value[0])).toBe(value[1]);
- });
- });
- });
- });
-});
diff --git a/tests/unit/functions/weatherforecast_spec.js b/tests/unit/functions/weatherforecast_spec.js
deleted file mode 100644
index e489c874..00000000
--- a/tests/unit/functions/weatherforecast_spec.js
+++ /dev/null
@@ -1,116 +0,0 @@
-/* eslint no-multi-spaces: 0 */
-const moment = require("moment-timezone");
-const data = require("../../configs/data/weatherforecast_data.json");
-
-describe("Functions module weatherforecast", function () {
- beforeAll(function () {
- Module = {};
- config = {};
- Module.definitions = {};
- Module.register = function (name, moduleDefinition) {
- Module.definitions[name] = moduleDefinition;
- };
- require("../../../modules/default/weatherforecast/weatherforecast.js");
- Module.definitions.weatherforecast.config = {};
- });
-
- describe("roundValue", function () {
- describe("this.config.roundTemp is true", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.config.roundTemp = true;
- });
-
- const values = [
- // index 0 value
- // index 1 expect
- [1, "1"],
- [1.0, "1"],
- [1.02, "1"],
- [10.12, "10"],
- [2.0, "2"],
- ["2.12", "2"],
- [10.1, "10"]
- ];
-
- values.forEach((value) => {
- it(`for ${value[0]} should be return ${value[1]}`, function () {
- expect(Module.definitions.weatherforecast.roundValue(value[0])).toBe(value[1]);
- });
- });
- });
-
- describe("this.config.roundTemp is false", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.config.roundTemp = false;
- });
-
- const values = [
- // index 0 value
- // index 1 expect
- [1, "1.0"],
- [1.0, "1.0"],
- [1.02, "1.0"],
- [10.12, "10.1"],
- [2.0, "2.0"],
- ["2.12", "2.1"],
- [10.1, "10.1"],
- [10.1, "10.1"]
- ];
-
- values.forEach((value) => {
- it(`for ${value[0]} should be return ${value[1]}`, function () {
- expect(Module.definitions.weatherforecast.roundValue(value[0])).toBe(value[1]);
- });
- });
- });
- });
-
- describe("forecastIcons", function () {
- Log = {
- error: function () {}
- };
-
- let originalLocale;
- let originalTimeZone;
- beforeAll(function () {
- originalLocale = moment.locale();
- originalTimeZone = moment.tz.guess();
- moment.locale("hi");
- moment.tz.setDefault("Europe/Warsaw");
- });
-
- describe("forecastIcons sunset specified", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.Log = {};
- Module.definitions.weatherforecast.forecast = [];
- Module.definitions.weatherforecast.show = Module.definitions.weatherforecast.updateDom = function () {};
- Module.definitions.weatherforecast.config = Module.definitions.weatherforecast.defaults;
- });
-
- it(`returns correct icons with sunset time`, function () {
- Module.definitions.weatherforecast.processWeather(data.withSunset, moment);
- let forecastData = Module.definitions.weatherforecast.forecast;
- expect(forecastData.length).toBe(4);
- expect(forecastData[2].icon).toBe("wi-rain");
- });
- });
-
- describe("forecastIcons sunset not specified", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.forecast = [];
- });
-
- it(`returns correct icons with out sunset time`, function () {
- Module.definitions.weatherforecast.processWeather(data.withoutSunset, moment);
- let forecastData = Module.definitions.weatherforecast.forecast;
- expect(forecastData.length).toBe(4);
- expect(forecastData[2].icon).toBe("wi-rain");
- });
- });
-
- afterAll(function () {
- moment.locale(originalLocale);
- moment.tz.setDefault(originalTimeZone);
- });
- });
-});
diff --git a/translations/cs.json b/translations/cs.json
index d1efdec4..ffe9e149 100644
--- a/translations/cs.json
+++ b/translations/cs.json
@@ -25,6 +25,11 @@
"NW": "SZ",
"NNW": "SSZ",
+ "FEELS": "Pocitově {DEGREE}",
+ "PRECIP": "Pravděpodobnost deště",
+
+ "NEWSFEED_NO_ITEMS": "Žádné zprávy.",
+
"UPDATE_NOTIFICATION": "Dostupná aktualizace pro MagicMirror².",
"UPDATE_NOTIFICATION_MODULE": "Dostupná aktualizace pro modul {MODULE_NAME}.",
"UPDATE_INFO_SINGLE": "Současná instalace je na větvi {BRANCH_NAME} pozadu o {COMMIT_COUNT} commit.",
diff --git a/translations/da.json b/translations/da.json
index 3371a2ae..9fe3f547 100644
--- a/translations/da.json
+++ b/translations/da.json
@@ -26,6 +26,16 @@
"NNW": "NNV",
"FEELS": "Føles som {DEGREE}",
+ "PRECIP": "PoP",
+
+ "MODULE_CONFIG_CHANGED": "Konfigurationsmulighederne for {MODULE_NAME} modulet er ændret.\nSe venligst dokumentationen.",
+ "MODULE_CONFIG_ERROR": "Fejl i {MODULE_NAME} modulet. {ERROR}",
+ "MODULE_ERROR_MALFORMED_URL": "Forkert url.",
+ "MODULE_ERROR_NO_CONNECTION": "Ingen internetforbindelse.",
+ "MODULE_ERROR_UNAUTHORIZED": "Godkendelse mislykkedes.",
+ "MODULE_ERROR_UNSPECIFIED": "Tjek logfiler for flere detaljer.",
+
+ "NEWSFEED_NO_ITEMS": "Ingen nyheder i øjeblikket.",
"UPDATE_NOTIFICATION": "MagicMirror² opdatering tilgængelig.",
"UPDATE_NOTIFICATION_MODULE": "Opdatering tilgængelig for {MODULE_NAME} modulet.",
diff --git a/translations/de.json b/translations/de.json
index a1b92cab..39b9c726 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -1,9 +1,9 @@
{
- "LOADING": "Lade …",
+ "LOADING": "Lade …",
"TODAY": "Heute",
"TOMORROW": "Morgen",
- "DAYAFTERTOMORROW": "Übermorgen",
+ "DAYAFTERTOMORROW": "Übermorgen",
"RUNNING": "noch",
"EMPTY": "Keine Termine.",
"WEEK": "{weekNumber}. Kalenderwoche",
@@ -28,13 +28,17 @@
"FEELS": "Gefühlt {DEGREE}",
"PRECIP": "Niederschlagswahrscheinlichkeit",
- "MODULE_CONFIG_CHANGED": "Die Konfigurationsoptionen für das {MODULE_NAME} Modul haben sich geändert. \nBitte überprüfen Sie die Dokumentation.",
- "MODULE_CONFIG_ERROR": "Fehler im {MODULE_NAME} Modul. {ERROR}",
+ "MODULE_CONFIG_CHANGED": "Die Konfigurationsoptionen für das Modul „{MODULE_NAME}“ haben sich geändert. \nBitte überprüfen Sie die Dokumentation.",
+ "MODULE_CONFIG_ERROR": "Fehler im Modul „{MODULE_NAME}“. {ERROR}",
+ "MODULE_ERROR_MALFORMED_URL": "Fehlerhafte URL.",
+ "MODULE_ERROR_NO_CONNECTION": "Keine Internetverbindung.",
+ "MODULE_ERROR_UNAUTHORIZED": "Autorisierung fehlgeschlagen.",
+ "MODULE_ERROR_UNSPECIFIED": "Prüfe die Logdateien für weitere Details.",
- "NEWSFEED_NO_ITEMS": "Keine Neuigkeiten momentan.",
+ "NEWSFEED_NO_ITEMS": "Momentan keine Neuigkeiten.",
"UPDATE_NOTIFICATION": "Aktualisierung für MagicMirror² verfügbar.",
- "UPDATE_NOTIFICATION_MODULE": "Aktualisierung für das {MODULE_NAME} Modul verfügbar.",
- "UPDATE_INFO_SINGLE": "Die aktuelle Installation ist {COMMIT_COUNT} Commit hinter dem {BRANCH_NAME} Branch.",
- "UPDATE_INFO_MULTIPLE": "Die aktuelle Installation ist {COMMIT_COUNT} Commits hinter dem {BRANCH_NAME} Branch."
+ "UPDATE_NOTIFICATION_MODULE": "Aktualisierung für das Modul „{MODULE_NAME}“ verfügbar.",
+ "UPDATE_INFO_SINGLE": "Die aktuelle Installation ist ein Commit hinter dem {BRANCH_NAME}-Branch.",
+ "UPDATE_INFO_MULTIPLE": "Die aktuelle Installation ist {COMMIT_COUNT} Commits hinter dem {BRANCH_NAME}-Branch."
}
diff --git a/translations/he.json b/translations/he.json
index 038d0ed1..e066b59f 100644
--- a/translations/he.json
+++ b/translations/he.json
@@ -28,7 +28,7 @@
"FEELS": "מרגיש כמו {DEGREE}",
"PRECIP": "משקעים",
- "UPDATE_NOTIFICATION": "עדכון זמין ל-MagicMirror",
+ "UPDATE_NOTIFICATION": "עדכון זמין ל-MagicMirror²",
"UPDATE_NOTIFICATION_MODULE": "עדכון זמין ב-{MODULE_NAME} מודול",
"UPDATE_INFO_SINGLE": "ההתקנה הנוכחית נמצאת מאחור הענף {BRANCH_NAME} ב-{COMMIT_COUNT} מופע",
"UPDATE_INFO_MULTIPLE": "ההתקנה הנוכחית נמצאת מאחור הענף {BRANCH_NAME} ב-{COMMIT_COUNT} מופעים"
diff --git a/translations/pt-br.json b/translations/pt-br.json
index 236b1f92..09de7887 100644
--- a/translations/pt-br.json
+++ b/translations/pt-br.json
@@ -26,7 +26,7 @@
"FEELS": "Percebida {DEGREE}",
"PRECIP": "PoP",
- "UPDATE_NOTIFICATION": "Nova atualização para MagicMirror disponível.",
+ "UPDATE_NOTIFICATION": "Nova atualização para MagicMirror² disponível.",
"UPDATE_NOTIFICATION_MODULE": "Atualização para o módulo {MODULE_NAME} disponível.",
"UPDATE_INFO_SINGLE": "Sua versão atual é a {COMMIT_COUNT} commit dentro do seguinte branch {BRANCH_NAME}.",
"UPDATE_INFO_MULTIPLE": "Sua versão atual é a {COMMIT_COUNT} commits dentro do seguinte branch {BRANCH_NAME}."
diff --git a/translations/translations.js b/translations/translations.js
index e321d8f7..0be9ebde 100644
--- a/translations/translations.js
+++ b/translations/translations.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Translation Definition
*
* By Michael Teeuw https://michaelteeuw.nl
diff --git a/translations/zh-tw.json b/translations/zh-tw.json
index 550de453..d6c803bb 100644
--- a/translations/zh-tw.json
+++ b/translations/zh-tw.json
@@ -1,10 +1,12 @@
{
- "LOADING": "正在加載 …",
+ "LOADING": "正在載入 …",
"TODAY": "今天",
"TOMORROW": "明天",
+ "DAYAFTERTOMORROW": "後天",
"RUNNING": "結束日期",
"EMPTY": "沒有更多的活動。",
+ "WEEK": "第 {weekNumber} 週",
"N": "北風",
"NNE": "北偏東風",
@@ -21,5 +23,22 @@
"W": "西風",
"WNW": "西偏北風",
"NW": "西北風",
- "NNW": "北偏西風"
+ "NNW": "北偏西風",
+
+ "FEELS": "體感溫度 {DEGREE}",
+ "PRECIP": "降雨機率",
+
+ "MODULE_CONFIG_CHANGED": "模組 {MODULE_NAME} 的設定檔選項已更改。\n請參見說明文件。",
+ "MODULE_CONFIG_ERROR": "{MODULE_NAME} 模組發生錯誤。{ERROR}",
+ "MODULE_ERROR_MALFORMED_URL": "網址格式錯誤。",
+ "MODULE_ERROR_NO_CONNECTION": "無網路連線。",
+ "MODULE_ERROR_UNAUTHORIZED": "授權失敗。",
+ "MODULE_ERROR_UNSPECIFIED": "查看日誌以了解詳情。",
+
+ "NEWSFEED_NO_ITEMS": "目前沒有新聞。",
+
+ "UPDATE_NOTIFICATION": "MagicMirror² 有可用更新。",
+ "UPDATE_NOTIFICATION_MODULE": "{MODULE_NAME} 模組有可用更新。",
+ "UPDATE_INFO_SINGLE": "目前版本在 {BRANCH_NAME} 分支上已落後了 {COMMIT_COUNT} 次 commit。",
+ "UPDATE_INFO_MULTIPLE": "目前版本在 {BRANCH_NAME} 分支上已落後了 {COMMIT_COUNT} 次 commit。"
}
diff --git a/vendor/package-lock.json b/vendor/package-lock.json
index 8654c60b..5c77eb49 100644
--- a/vendor/package-lock.json
+++ b/vendor/package-lock.json
@@ -7,18 +7,18 @@
"name": "magicmirror-vendors",
"license": "MIT",
"dependencies": {
- "@fortawesome/fontawesome-free": "^5.15.4",
+ "@fortawesome/fontawesome-free": "^6.1.1",
"moment": "^2.29.1",
- "moment-timezone": "^0.5.33",
+ "moment-timezone": "^0.5.34",
"nunjucks": "^3.2.3",
- "suncalc": "^1.8.0",
+ "suncalc": "^1.9.0",
"weathericons": "^2.1.0"
}
},
"node_modules/@fortawesome/fontawesome-free": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
- "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.1.tgz",
+ "integrity": "sha512-J/3yg2AIXc9wznaVqpHVX3Wa5jwKovVF0AMYSnbmcXTiL3PpRPfF58pzWucCwEiCJBp+hCNRLWClTomD8SseKg==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
@@ -51,9 +51,9 @@
}
},
"node_modules/moment-timezone": {
- "version": "0.5.33",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz",
- "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==",
+ "version": "0.5.34",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
+ "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
"dependencies": {
"moment": ">= 2.9.0"
},
@@ -86,9 +86,9 @@
}
},
"node_modules/suncalc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.8.0.tgz",
- "integrity": "sha1-HZiYEJVjB4dQ9JlKlZ5lTYdqy/U="
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.9.0.tgz",
+ "integrity": "sha512-vMJ8Byp1uIPoj+wb9c1AdK4jpkSKVAywgHX0lqY7zt6+EWRRC3Z+0Ucfjy/0yxTVO1hwwchZe4uoFNqrIC24+A=="
},
"node_modules/weathericons": {
"version": "2.1.0",
@@ -98,9 +98,9 @@
},
"dependencies": {
"@fortawesome/fontawesome-free": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
- "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.1.tgz",
+ "integrity": "sha512-J/3yg2AIXc9wznaVqpHVX3Wa5jwKovVF0AMYSnbmcXTiL3PpRPfF58pzWucCwEiCJBp+hCNRLWClTomD8SseKg=="
},
"a-sync-waterfall": {
"version": "1.0.1",
@@ -123,9 +123,9 @@
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
},
"moment-timezone": {
- "version": "0.5.33",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz",
- "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==",
+ "version": "0.5.34",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
+ "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
"requires": {
"moment": ">= 2.9.0"
}
@@ -141,9 +141,9 @@
}
},
"suncalc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.8.0.tgz",
- "integrity": "sha1-HZiYEJVjB4dQ9JlKlZ5lTYdqy/U="
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/suncalc/-/suncalc-1.9.0.tgz",
+ "integrity": "sha512-vMJ8Byp1uIPoj+wb9c1AdK4jpkSKVAywgHX0lqY7zt6+EWRRC3Z+0Ucfjy/0yxTVO1hwwchZe4uoFNqrIC24+A=="
},
"weathericons": {
"version": "2.1.0",
diff --git a/vendor/package.json b/vendor/package.json
index 3b0c802b..97d46fca 100755
--- a/vendor/package.json
+++ b/vendor/package.json
@@ -1,6 +1,6 @@
{
"name": "magicmirror-vendors",
- "description": "Package for vendors use by MagicMirror Core.",
+ "description": "Package for vendors use by MagicMirror² Core.",
"repository": {
"type": "git",
"url": "git+https://github.com/MichMich/MagicMirror.git"
@@ -10,11 +10,11 @@
"url": "https://github.com/MichMich/MagicMirror/issues"
},
"dependencies": {
- "@fortawesome/fontawesome-free": "^5.15.4",
+ "@fortawesome/fontawesome-free": "^6.1.1",
"moment": "^2.29.1",
- "moment-timezone": "^0.5.33",
+ "moment-timezone": "^0.5.34",
"nunjucks": "^3.2.3",
- "suncalc": "^1.8.0",
+ "suncalc": "^1.9.0",
"weathericons": "^2.1.0"
}
}
diff --git a/vendor/vendor.js b/vendor/vendor.js
index 69d300e8..7d7a2a8e 100755
--- a/vendor/vendor.js
+++ b/vendor/vendor.js
@@ -1,4 +1,4 @@
-/* Magic Mirror
+/* MagicMirror²
* Vendor File Definition
*
* By Michael Teeuw https://michaelteeuw.nl